; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:StelemRef(System.Array,int,System.Object) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov eax, gword ptr [ebp+08H] G_M000_IG02: cmp edx, dword ptr [ecx+04H] jae SHORT G_M000_IG10 lea edx, bword ptr [ecx+4*edx+08H] mov esi, dword ptr [ecx] mov esi, dword ptr [esi+20H] test eax, eax je SHORT G_M000_IG06 G_M000_IG03: cmp esi, dword ptr [eax] jne SHORT G_M000_IG08 G_M000_IG04: mov ecx, edx mov edx, eax call System.Runtime.CompilerServices.CastHelpers:WriteBarrier(byref,System.Object) G_M000_IG05: pop esi pop ebp ret 4 G_M000_IG06: xor ecx, ecx mov gword ptr [edx], ecx G_M000_IG07: pop esi pop ebp ret 4 G_M000_IG08: cmp dword ptr [ecx], 0xD1FFAB1E je SHORT G_M000_IG04 push eax mov ecx, edx mov edx, esi call [System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,uint,System.Object)] G_M000_IG09: pop esi pop ebp ret 4 G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 82 1: JIT compiled System.Runtime.CompilerServices.CastHelpers:StelemRef(System.Array,int,System.Object) [Tier1, IL size=88, code size=82] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:LdelemaRef(System.Array,int,uint):byref ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: cmp edx, dword ptr [ecx+04H] jae SHORT G_M000_IG05 lea eax, bword ptr [ecx+4*edx+08H] mov edx, dword ptr [ecx] mov ecx, dword ptr [ebp+08H] cmp dword ptr [edx+20H], ecx jne SHORT G_M000_IG04 G_M000_IG03: pop ebp ret 4 G_M000_IG04: call [System.Runtime.CompilerServices.CastHelpers:ThrowArrayMismatchException():byref] G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 38 2: JIT compiled System.Runtime.CompilerServices.CastHelpers:LdelemaRef(System.Array,int,uint) [Tier1, IL size=44, code size=38] ; Assembly listing for method System.SpanHelpers:IndexOfNullCharacter(uint):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi vzeroupper G_M000_IG02: xor eax, eax mov edx, 0xD1FFAB1E test cl, 1 jne SHORT G_M000_IG04 G_M000_IG03: mov edx, ecx neg edx mov esi, edx shr esi, 31 add edx, esi sar edx, 1 and edx, 7 G_M000_IG04: cmp edx, 4 jl SHORT G_M000_IG06 align [8 bytes for IG05] G_M000_IG05: cmp word ptr [ecx+2*eax], 0 je G_M000_IG21 lea esi, [eax+01H] cmp word ptr [ecx+2*esi], 0 je G_M000_IG20 lea esi, [eax+02H] cmp word ptr [ecx+2*esi], 0 je G_M000_IG19 lea esi, [eax+03H] cmp word ptr [ecx+2*esi], 0 je G_M000_IG18 add eax, 4 add edx, -4 cmp edx, 4 jge SHORT G_M000_IG05 G_M000_IG06: test edx, edx jle SHORT G_M000_IG08 align [12 bytes for IG07] G_M000_IG07: cmp word ptr [ecx+2*eax], 0 je G_M000_IG21 inc eax dec edx test edx, edx jg SHORT G_M000_IG07 G_M000_IG08: cmp eax, 0xD1FFAB1E jge G_M000_IG22 lea edx, [ecx+2*eax] test dl, 31 je SHORT G_M000_IG11 G_M000_IG09: vxorps xmm0, xmm0, xmm0 vpcmpeqw xmm0, xmm0, xmmword ptr [ecx+2*eax] vpmovmskb edx, xmm0 test edx, edx jne SHORT G_M000_IG10 add eax, 8 jmp SHORT G_M000_IG11 G_M000_IG10: xor ecx, ecx tzcnt ecx, edx shr ecx, 1 add eax, ecx jmp G_M000_IG21 align [8 bytes for IG12] G_M000_IG11: mov edx, eax neg edx add edx, 0xD1FFAB1E and edx, -16 jle SHORT G_M000_IG13 G_M000_IG12: vxorps ymm0, ymm0, ymm0 vpcmpeqw ymm0, ymm0, ymmword ptr [ecx+2*eax] vpmovmskb esi, ymm0 test esi, esi jne SHORT G_M000_IG15 add eax, 16 add edx, -16 test edx, edx jg SHORT G_M000_IG12 G_M000_IG13: mov edx, eax neg edx add edx, 0xD1FFAB1E and edx, -8 jle SHORT G_M000_IG17 G_M000_IG14: vxorps xmm0, xmm0, xmm0 vpcmpeqw xmm0, xmm0, xmmword ptr [ecx+2*eax] vpmovmskb edx, xmm0 test edx, edx jne SHORT G_M000_IG16 add eax, 8 jmp SHORT G_M000_IG17 G_M000_IG15: xor edx, edx tzcnt edx, esi shr edx, 1 add eax, edx jmp SHORT G_M000_IG21 G_M000_IG16: xor ecx, ecx tzcnt ecx, edx shr ecx, 1 add eax, ecx jmp SHORT G_M000_IG21 G_M000_IG17: cmp eax, 0xD1FFAB1E jge SHORT G_M000_IG22 mov edx, eax neg edx add edx, 0xD1FFAB1E jmp G_M000_IG04 G_M000_IG18: add eax, 3 jmp SHORT G_M000_IG21 G_M000_IG19: add eax, 2 jmp SHORT G_M000_IG21 G_M000_IG20: inc eax G_M000_IG21: vzeroupper pop esi pop ebp ret G_M000_IG22: call [System.SpanHelpers:ThrowMustBeNullTerminatedString()] int3 ; Total bytes of code 358 3: JIT compiled System.SpanHelpers:IndexOfNullCharacter(uint) [Tier1, IL size=805, code size=358] ; Assembly listing for method System.Guid:TryFormatCore[ushort](System.Span`1[ushort],byref,int):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 324 vzeroupper xor eax, eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov eax, dword ptr [ebp+08H] movzx eax, al cmp eax, dword ptr [ebp+10H] jle SHORT G_M000_IG04 mov eax, bword ptr [ebp-08H] xor edx, edx mov dword ptr [eax], edx xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret 12 G_M000_IG04: mov eax, dword ptr [ebp+08H] movzx eax, al mov edx, bword ptr [ebp-08H] mov dword ptr [edx], eax mov eax, dword ptr [ebp+08H] sar eax, 8 mov dword ptr [ebp+08H], eax push dword ptr [ebp+10H] push bword ptr [ebp+0CH] call [System.Runtime.InteropServices.MemoryMarshal:GetReference[ushort](System.Span`1[ushort]):byref] mov bword ptr [ebp-10H], eax mov ecx, bword ptr [ebp-10H] mov dword ptr [ebp-144H], ecx mov ecx, dword ptr [ebp-144H] mov dword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-0CH] mov dword ptr [ebp-14H], ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl test ecx, ecx je SHORT G_M000_IG05 mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-18H], ecx mov ecx, dword ptr [ebp-18H] add ecx, 2 mov dword ptr [ebp-14H], ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl call [System.Char:System.IUtfChar.CastFrom(ubyte):ushort] mov edx, dword ptr [ebp-18H] mov word ptr [edx], ax G_M000_IG05: mov edx, dword ptr [ebp+08H] sar edx, 8 mov dword ptr [ebp+08H], edx G_M000_IG06: mov edx, bword ptr [ebp-04H] vmovups xmm0, xmmword ptr [edx] sub esp, 16 vmovups xmmword ptr [esp], xmm0 xor edx, edx cmp dword ptr [ebp+08H], 0 setl dl lea ecx, [ebp-E0H] call [System.Guid:FormatGuidVector128Utf8(System.Guid,bool):System.ValueTuple`3[System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]]] vmovups xmm0, xmmword ptr [ebp-E0H] vmovups xmmword ptr [ebp-28H], xmm0 vmovups xmm0, xmmword ptr [ebp-D0H] vmovups xmmword ptr [ebp-38H], xmm0 vmovups xmm0, xmmword ptr [ebp-C0H] vmovups xmmword ptr [ebp-48H], xmm0 G_M000_IG07: vmovups xmm0, xmmword ptr [ebp-28H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-100H] call [System.Runtime.Intrinsics.Vector128:Widen(System.Runtime.Intrinsics.Vector128`1[ubyte]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]] vmovups xmm0, xmmword ptr [ebp-100H] vmovups xmmword ptr [ebp-5CH], xmm0 vmovups xmm0, xmmword ptr [ebp-F0H] vmovups xmmword ptr [ebp-6CH], xmm0 vmovups xmm0, xmmword ptr [ebp-38H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-120H] call [System.Runtime.Intrinsics.Vector128:Widen(System.Runtime.Intrinsics.Vector128`1[ubyte]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]] vmovups xmm0, xmmword ptr [ebp-120H] vmovups xmmword ptr [ebp-7CH], xmm0 vmovups xmm0, xmmword ptr [ebp-110H] vmovups xmmword ptr [ebp-8CH], xmm0 mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-90H], ecx cmp dword ptr [ebp+08H], 0 jge G_M000_IG08 vmovups xmm0, xmmword ptr [ebp-48H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-140H] call [System.Runtime.Intrinsics.Vector128:Widen(System.Runtime.Intrinsics.Vector128`1[ubyte]):System.ValueTuple`2[System.Runtime.Intrinsics.Vector128`1[ushort],System.Runtime.Intrinsics.Vector128`1[ushort]]] vmovups xmm0, xmmword ptr [ebp-140H] vmovups xmmword ptr [ebp-A0H], xmm0 vmovups xmm0, xmmword ptr [ebp-130H] vmovups xmmword ptr [ebp-B0H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-5CH] vmovups xmmword ptr [ecx], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-7CH] vmovups xmmword ptr [ecx+28H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-8CH] vmovups xmmword ptr [ecx+38H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-A0H] vmovups xmmword ptr [ecx+10H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-B0H] vmovups xmmword ptr [ecx+20H], xmm0 mov ecx, 9 imul ecx, ecx, 2 shl ecx, 2 add ecx, dword ptr [ebp-14H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-5CH] vmovups xmmword ptr [ecx], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-6CH] vmovups xmmword ptr [ecx+10H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-7CH] vmovups xmmword ptr [ecx+20H], xmm0 mov ecx, dword ptr [ebp-90H] vmovups xmm0, xmmword ptr [ebp-8CH] vmovups xmmword ptr [ecx+30H], xmm0 mov ecx, 2 shl ecx, 5 add ecx, dword ptr [ebp-14H] mov dword ptr [ebp-14H], ecx G_M000_IG09: mov ecx, dword ptr [ebp+08H] movzx ecx, cl test ecx, ecx je SHORT G_M000_IG10 mov ecx, dword ptr [ebp+08H] movzx ecx, cl call [System.Char:System.IUtfChar.CastFrom(ubyte):ushort] mov edx, dword ptr [ebp-14H] mov word ptr [edx], ax G_M000_IG10: xor eax, eax mov bword ptr [ebp-10H], eax mov eax, 1 G_M000_IG11: mov esp, ebp pop ebp ret 12 ; Total bytes of code 647 4: JIT compiled System.Guid:TryFormatCore[ushort](System.Span`1[ushort],byref,int) [Tier0, IL size=894, code size=647] ; Assembly listing for method System.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]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 312 vzeroupper 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-D8H] 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-D8H] vmovups xmmword ptr [ebp-38H], xmm0 vmovups xmm0, xmmword ptr [ebp-C8H] 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 [ebp-38H] vpshufb xmm0, xmm0, xmmword ptr [@RWD64] vmovups xmmword ptr [ebp-78H], xmm0 vmovups xmm0, xmmword ptr [ebp-48H] vpshufb xmm0, xmm0, xmmword ptr [@RWD80] vmovups xmmword ptr [ebp-88H], xmm0 vmovups xmm0, xmmword ptr [@RWD96] vpshufb xmm0, xmm0, xmmword ptr [@RWD112] vmovups xmmword ptr [ebp-98H], xmm0 vmovups xmm0, xmmword ptr [ebp-78H] vpor xmm0, xmm0, xmmword ptr [ebp-88H] vpor xmm0, xmm0, xmmword ptr [ebp-98H] vmovups xmmword ptr [ebp-A8H], xmm0 vxorps ymm0, ymm0 vmovdqu ymmword ptr [ebp-138H], ymm0 vmovq qword ptr [ebp-118H], xmm0 vmovq qword ptr [ebp-110H], 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-A8H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-138H] 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-138H] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu xmm0, xmmword ptr [ebp-118H] G_M000_IG03: 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-B8H], xmm0 vxorps ymm0, ymm0 vmovdqu ymmword ptr [ebp-108H], ymm0 vmovq qword ptr [ebp-E8H], xmm0 vmovq qword ptr [ebp-E0H], 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-B8H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-108H] 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-108H] vmovdqu ymmword ptr [eax], ymm0 vmovdqu xmm0, xmmword ptr [ebp-E8H] 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 0D0CFF0B0A0908FFh, FFFFFFFFFFFF0F0Eh RWD80 dq FFFFFFFFFFFFFFFFh, FF03020100FFFFFFh RWD96 dq 2D2D2D2D2D2D2D2Dh, 2D2D2D2D2D2D2D2Dh RWD112 dq FFFF00FFFFFFFF00h, 00FFFFFFFF00FFFFh ; Total bytes of code 515 5: JIT compiled System.Guid:FormatGuidVector128Utf8(System.Guid,bool) [Tier0, IL size=331, code size=515] ; 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]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 116 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: 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 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 6: 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:UnpackLow(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: vmovups xmm0, xmmword ptr [ebp+18H] vpunpcklbw 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 33 7: JIT compiled System.Runtime.Intrinsics.Vector128:UnpackLow(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]) [Tier0, IL size=30, code size=33] ; Assembly listing for method System.Runtime.Intrinsics.Vector128:UnpackHigh(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: vmovups xmm0, xmmword ptr [ebp+18H] vpunpckhbw 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 33 8: JIT compiled System.Runtime.Intrinsics.Vector128:UnpackHigh(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]) [Tier0, IL size=30, code size=33] ; 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] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: 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 9: 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.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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovups xmm0, xmmword ptr [ebp+28H] vmovups xmmword ptr [eax], xmm0 mov eax, bword ptr [ebp-04H] vmovups xmm0, xmmword ptr [ebp+18H] vmovups xmmword ptr [eax+10H], xmm0 mov eax, bword ptr [ebp-04H] vmovups xmm0, xmmword ptr [ebp+08H] vmovups xmmword ptr [eax+20H], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 48 ; Total bytes of code 54 10: JIT compiled 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]) [Tier0, IL size=22, code size=54] ; Assembly listing for method System.Number:UInt32ToDecChars[ushort](uint,uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, edx G_M000_IG02: cmp esi, 10 jb SHORT G_M000_IG10 G_M000_IG03: cmp esi, 100 jb SHORT G_M000_IG09 align [0 bytes for IG04] G_M000_IG04: add ecx, -4 mov edx, 0xD1FFAB1E mov eax, esi mul edx:eax, edx shr edx, 5 imul eax, edx, 100 sub esi, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea eax, bword ptr [eax+4*esi+08H] mov eax, dword ptr [eax] mov dword ptr [ecx], eax cmp edx, 100 jae SHORT G_M000_IG08 G_M000_IG05: cmp edx, 10 jb SHORT G_M000_IG07 add ecx, -4 mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea eax, bword ptr [eax+4*edx+08H] mov eax, dword ptr [eax] mov dword ptr [ecx], eax mov eax, ecx G_M000_IG06: pop esi pop ebp ret G_M000_IG07: mov esi, edx jmp SHORT G_M000_IG10 G_M000_IG08: mov esi, edx jmp SHORT G_M000_IG04 G_M000_IG09: mov edx, esi jmp SHORT G_M000_IG05 G_M000_IG10: lea eax, [ecx-02H] lea edx, [esi+30H] mov word ptr [eax], dx G_M000_IG11: pop esi pop ebp ret ; Total bytes of code 108 11: JIT compiled System.Number:UInt32ToDecChars[ushort](uint,uint) [Tier-0 switched to FullOpts, IL size=114, code size=108] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper_NoCacheLookup(byref,uint,System.Object) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp 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 ecx, dword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] call System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny_NoCacheLookup(uint,System.Object):System.Object mov gword ptr [ebp+08H], eax cmp gword ptr [ebp+08H], 0 je SHORT G_M000_IG04 mov ecx, bword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call System.Runtime.CompilerServices.CastHelpers:WriteBarrier(byref,System.Object) G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [System.ArrayTypeMismatchException:.ctor():this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW int3 ; Total bytes of code 85 12: JIT compiled System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper_NoCacheLookup(byref,uint,System.Object) [Tier0, IL size=26, code size=85] ; Assembly listing for method System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov dword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-04H] call [System.Int32:IsNegative(int):bool] test eax, eax je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 13: JIT compiled System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) [Tier0, IL size=22, code size=41] ; Assembly listing for method System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(uint,int,byref,byref):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 155312 ; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 vzeroupper mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, esi mov edx, edi call [System.Text.Ascii:GetIndexOfFirstNonAsciiChar_Intrinsified(uint,uint):uint] lea esi, [esi+2*eax] sub edi, eax jne SHORT G_M000_IG07 G_M000_IG03: mov edi, bword ptr [ebp+0CH] xor eax, eax mov dword ptr [edi], eax G_M000_IG04: mov dword ptr [edi+04H], eax G_M000_IG05: mov edi, bword ptr [ebp+08H] mov dword ptr [edi], eax mov eax, esi G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG07: xor edx, edx xor ecx, ecx xor ebx, ebx mov dword ptr [ebp-10H], ebx lea eax, [esi+2*edi] mov dword ptr [ebp-14H], eax cmp edi, 8 jl G_M000_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 14: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 13 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: xor eax, eax mov dword ptr [ebp+08H], ebx cmp ebx, 32 jb SHORT G_M000_IG04 G_M000_IG03: mov edx, dword ptr [esi] mov ecx, dword ptr [esi+04H] mov ebx, edx or ebx, ecx test ebx, 0xD1FFAB1E mov ebx, edx jne G_M000_IG12 mov ebx, dword ptr [ebp+08H] push ebx mov ecx, esi mov dword ptr [ebp-10H], edi mov edx, edi call [System.Text.Ascii:NarrowUtf16ToAscii_Intrinsified(uint,uint,uint):uint] mov dword ptr [ebp+08H], ebx mov edi, dword ptr [ebp-10H] G_M000_IG04: mov ebx, dword ptr [ebp+08H] sub ebx, eax mov dword ptr [ebp-14H], ebx cmp ebx, 4 jb G_M000_IG11 lea edx, [eax+ebx-04H] mov dword ptr [ebp-18H], edx mov dword ptr [ebp-10H], edi align [0 bytes for IG05] G_M000_IG05: mov ecx, eax mov ebx, dword ptr [esi+2*ecx] mov edx, dword ptr [esi+2*ecx+04H] mov edi, ebx or edi, edx test edi, 0xD1FFAB1E jne SHORT G_M000_IG13 mov edi, dword ptr [ebp-10H] add ecx, edi mov byte ptr [ecx], bl shr ebx, 16 mov byte ptr [ecx+01H], bl lea ecx, [edi+eax+02H] mov byte ptr [ecx], dl shr edx, 16 mov byte ptr [ecx+01H], dl add eax, 4 mov edx, dword ptr [ebp-18H] cmp eax, edx mov dword ptr [ebp-18H], edx jbe SHORT G_M000_IG10 G_M000_IG06: mov ebx, dword ptr [ebp-14H] test bl, 2 je SHORT G_M000_IG07 mov edx, eax mov ecx, dword ptr [esi+2*edx] test ecx, 0xD1FFAB1E jne SHORT G_M000_IG14 add edx, edi mov byte ptr [edx], cl shr ecx, 16 mov byte ptr [edx+01H], cl add eax, 2 G_M000_IG07: test bl, 1 je SHORT G_M000_IG09 movzx ecx, word ptr [esi+2*eax] cmp ecx, 127 ja SHORT G_M000_IG09 G_M000_IG08: mov byte ptr [edi+eax], cl inc eax G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG10: mov dword ptr [ebp-10H], edi jmp SHORT G_M000_IG05 G_M000_IG11: jmp SHORT G_M000_IG06 G_M000_IG12: mov dword ptr [ebp-10H], edi mov edx, ecx G_M000_IG13: test ebx, 0xD1FFAB1E jne SHORT G_M000_IG15 mov edi, dword ptr [ebp-10H] lea ecx, [edi+eax] mov byte ptr [ecx], bl shr ebx, 16 mov byte ptr [ecx+01H], bl mov ebx, edx add eax, 2 mov ecx, ebx G_M000_IG14: test ecx, 0xFF80 je SHORT G_M000_IG08 jmp SHORT G_M000_IG09 G_M000_IG15: mov ecx, ebx mov edi, dword ptr [ebp-10H] jmp SHORT G_M000_IG14 ; Total bytes of code 278 15: JIT compiled System.Text.Ascii:NarrowUtf16ToAscii(uint,uint,uint) [Tier-0 switched to FullOpts, IL size=528, code size=278] ; Assembly listing for method System.SpanHelpers:IndexOfNullByte(uint):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi vzeroupper G_M000_IG02: xor eax, eax mov edx, ecx and edx, 15 neg edx add edx, 16 and edx, 15 G_M000_IG03: cmp edx, 8 jb SHORT G_M000_IG05 align [0 bytes for IG04] G_M000_IG04: add edx, -8 cmp byte ptr [ecx+eax], 0 je G_M000_IG19 cmp byte ptr [ecx+eax+01H], 0 je G_M000_IG20 cmp byte ptr [ecx+eax+02H], 0 je G_M000_IG21 cmp byte ptr [ecx+eax+03H], 0 je G_M000_IG22 cmp byte ptr [ecx+eax+04H], 0 je G_M000_IG23 cmp byte ptr [ecx+eax+05H], 0 je G_M000_IG24 cmp byte ptr [ecx+eax+06H], 0 je G_M000_IG25 cmp byte ptr [ecx+eax+07H], 0 je G_M000_IG26 add eax, 8 cmp edx, 8 jae SHORT G_M000_IG04 G_M000_IG05: cmp edx, 4 jb SHORT G_M000_IG07 G_M000_IG06: add edx, -4 cmp byte ptr [ecx+eax], 0 je G_M000_IG19 cmp byte ptr [ecx+eax+01H], 0 je G_M000_IG20 cmp byte ptr [ecx+eax+02H], 0 je G_M000_IG21 cmp byte ptr [ecx+eax+03H], 0 je G_M000_IG22 add eax, 4 G_M000_IG07: test edx, edx je SHORT G_M000_IG09 align [9 bytes for IG08] G_M000_IG08: dec edx cmp byte ptr [ecx+eax], 0 je G_M000_IG19 inc eax test edx, edx jne SHORT G_M000_IG08 G_M000_IG09: cmp eax, 0xD1FFAB1E jae G_M000_IG28 lea edx, [ecx+eax] test dl, 31 je SHORT G_M000_IG11 G_M000_IG10: vxorps xmm0, xmm0, xmm0 vpcmpeqb xmm0, xmm0, xmmword ptr [ecx+eax] vpmovmskb edx, xmm0 test edx, edx jne SHORT G_M000_IG16 add eax, 16 G_M000_IG11: mov edx, eax neg edx add edx, 0xD1FFAB1E and edx, -32 cmp edx, eax jbe SHORT G_M000_IG13 align [0 bytes for IG12] G_M000_IG12: vxorps ymm0, ymm0, ymm0 vpcmpeqb ymm0, ymm0, ymmword ptr [ecx+eax] vpmovmskb esi, ymm0 test esi, esi jne SHORT G_M000_IG17 add eax, 32 cmp edx, eax ja SHORT G_M000_IG12 G_M000_IG13: mov edx, eax neg edx add edx, 0xD1FFAB1E and edx, -16 cmp edx, eax jbe SHORT G_M000_IG15 G_M000_IG14: vxorps xmm0, xmm0, xmm0 vpcmpeqb xmm0, xmm0, xmmword ptr [ecx+eax] vpmovmskb edx, xmm0 test edx, edx jne SHORT G_M000_IG18 add eax, 16 G_M000_IG15: cmp eax, 0xD1FFAB1E jae SHORT G_M000_IG28 mov edx, eax neg edx add edx, 0xD1FFAB1E jmp G_M000_IG03 G_M000_IG16: tzcnt edx, edx add eax, edx jmp SHORT G_M000_IG27 G_M000_IG17: xor edx, edx tzcnt edx, esi add eax, edx jmp SHORT G_M000_IG27 G_M000_IG18: tzcnt edx, edx add eax, edx jmp SHORT G_M000_IG27 G_M000_IG19: jmp SHORT G_M000_IG27 G_M000_IG20: inc eax jmp SHORT G_M000_IG27 G_M000_IG21: add eax, 2 jmp SHORT G_M000_IG27 G_M000_IG22: add eax, 3 jmp SHORT G_M000_IG27 G_M000_IG23: add eax, 4 jmp SHORT G_M000_IG27 G_M000_IG24: add eax, 5 jmp SHORT G_M000_IG27 G_M000_IG25: add eax, 6 jmp SHORT G_M000_IG27 G_M000_IG26: add eax, 7 G_M000_IG27: vzeroupper pop esi pop ebp ret G_M000_IG28: call [System.SpanHelpers:ThrowMustBeNullTerminatedString()] int3 ; Total bytes of code 419 16: JIT compiled System.SpanHelpers:IndexOfNullByte(uint) [Tier1, IL size=844, code size=419] ; Assembly listing for method System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 11 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge G_M000_IG15 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_IG24 align [0 bytes for IG12] G_M000_IG10: mov esi, 4 G_M000_IG11: test eax, eax jle G_M000_IG23 movsx edi, dx G_M000_IG12: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, edi je SHORT G_M000_IG14 inc esi test eax, eax jg SHORT G_M000_IG12 G_M000_IG13: jmp G_M000_IG23 align [5 bytes for IG16] G_M000_IG14: mov eax, esi jmp G_M000_IG24 G_M000_IG15: mov esi, ecx cmp eax, 16 jle G_M000_IG21 movzx edx, dl vmovd xmm0, edx vpbroadcastb ymm0, ymm0 cmp eax, 32 jle SHORT G_M000_IG17 lea edx, bword ptr [esi+2*eax-40H] G_M000_IG16: vmovups ymm1, ymmword ptr [esi] vpackuswb ymm1, ymm1, ymmword ptr [esi+20H] vpcmpeqb ymm1, ymm0, ymm1 vptest ymm1, ymm1 jne SHORT G_M000_IG18 add esi, 64 cmp esi, edx jb SHORT G_M000_IG16 G_M000_IG17: lea eax, bword ptr [ecx+2*eax-20H] cmp esi, eax mov edx, esi cmova edx, eax jmp SHORT G_M000_IG19 G_M000_IG18: 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 G_M000_IG24 G_M000_IG19: vmovups ymm1, ymmword ptr [edx] vpackuswb ymm1, ymm1, ymmword ptr [eax] vpcmpeqb ymm0, ymm0, ymm1 vptest ymm0, ymm0 je SHORT G_M000_IG23 vpermq ymm0, ymm0, -40 vpmovmskb esi, ymm0 tzcnt esi, esi cmp esi, 16 jl SHORT G_M000_IG20 mov edx, eax add esi, -16 G_M000_IG20: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp SHORT G_M000_IG24 G_M000_IG21: 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_IG23 vpmovmskb esi, xmm0 tzcnt esi, esi cmp esi, 8 jl SHORT G_M000_IG22 mov edx, eax add esi, -8 G_M000_IG22: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp SHORT G_M000_IG24 G_M000_IG23: mov eax, -1 G_M000_IG24: vzeroupper pop esi pop edi pop ebp ret 4 ; Total bytes of code 396 17: JIT compiled System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int) [Tier-0 switched to FullOpts, IL size=698, code size=396] ; Assembly listing for method System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 34 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge G_M000_IG11 G_M000_IG03: lea esi, [eax-01H] cmp eax, 4 jl SHORT G_M000_IG04 add eax, -4 movsx edi, word ptr [ecx+2*esi] movsx ebx, dx cmp edi, ebx je SHORT G_M000_IG10 movsx edi, word ptr [ecx+2*esi-02H] cmp edi, ebx je SHORT G_M000_IG09 movsx edi, word ptr [ecx+2*esi-04H] cmp edi, ebx je SHORT G_M000_IG08 movsx edi, word ptr [ecx+2*esi-06H] cmp edi, ebx je SHORT G_M000_IG07 add esi, -4 G_M000_IG04: test eax, eax jle G_M000_IG20 movsx ebx, dx align [12 bytes for IG05] G_M000_IG05: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, ebx je SHORT G_M000_IG10 dec esi test eax, eax jg SHORT G_M000_IG05 G_M000_IG06: jmp G_M000_IG20 align [2 bytes for IG12] G_M000_IG07: lea eax, [esi-03H] jmp G_M000_IG19 G_M000_IG08: lea eax, [esi-02H] jmp G_M000_IG19 G_M000_IG09: lea eax, [esi-01H] jmp G_M000_IG19 G_M000_IG10: mov eax, esi jmp G_M000_IG19 G_M000_IG11: cmp eax, 16 jl SHORT G_M000_IG15 movsx ebx, dx vmovd xmm0, ebx vpbroadcastw ymm0, ymm0 lea edx, [eax-10H] test edx, edx jle SHORT G_M000_IG13 G_M000_IG12: vpcmpeqw ymm1, ymm0, ymmword ptr [ecx+2*edx] vptest ymm1, ymm1 jne SHORT G_M000_IG14 add edx, -16 test edx, edx jg SHORT G_M000_IG12 G_M000_IG13: vpcmpeqw ymm1, ymm0, ymmword ptr [ecx] vptest ymm1, ymm1 je G_M000_IG20 vpshufb ymm1, ymm1, ymmword ptr [@RWD00] vpermq ymm0, ymm1, -40 vpmovmskb edx, xmm0 xor eax, eax lzcnt eax, edx neg eax add eax, 31 jmp G_M000_IG19 align [0 bytes for IG16] G_M000_IG14: vpshufb ymm0, ymm1, ymmword ptr [@RWD00] vpermq ymm0, ymm0, -40 vpmovmskb eax, xmm0 xor ecx, ecx lzcnt ecx, eax mov eax, ecx neg eax lea eax, [eax+edx+1FH] jmp SHORT G_M000_IG19 G_M000_IG15: movsx ebx, dx vmovd xmm0, ebx vpbroadcastw xmm0, xmm0 add eax, -8 test eax, eax jle SHORT G_M000_IG17 G_M000_IG16: vpcmpeqw xmm1, xmm0, xmmword ptr [ecx+2*eax] vptest xmm1, xmm1 jne SHORT G_M000_IG18 add eax, -8 test eax, eax jg SHORT G_M000_IG16 G_M000_IG17: vpcmpeqw xmm1, xmm0, xmmword ptr [ecx] vptest xmm1, xmm1 je SHORT G_M000_IG20 vpshufb xmm1, xmm1, xmmword ptr [@RWD00] vpmovmskb eax, xmm1 lzcnt eax, eax neg eax add eax, 31 jmp SHORT G_M000_IG19 G_M000_IG18: vpshufb xmm0, xmm1, xmmword ptr [@RWD00] vpmovmskb edx, xmm0 lzcnt edx, edx neg edx lea eax, [edx+eax+1FH] G_M000_IG19: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG20: mov eax, -1 G_M000_IG21: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 RWD00 dq 0F0D0B0907050301h, 8080808080808080h, 0F0D0B0907050301h, 8080808080808080h ; Total bytes of code 401 18: JIT compiled System.SpanHelpers:LastIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int) [Tier1, IL size=963, code size=401] ; Assembly listing for method System.Text.Ascii:WidenAsciiToUtf16(uint,uint,uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 13 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 24 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: xor esi, esi cmp eax, 16 jb G_M000_IG10 G_M000_IG03: mov edi, edx cmp eax, 32 jb SHORT G_M000_IG06 mov dword ptr [ebp+08H], eax lea ebx, [eax-20H] align [0 bytes for IG04] G_M000_IG04: vmovups ymm0, ymmword ptr [ecx+esi] vpmovmskb eax, ymm0 test eax, eax jne G_M000_IG13 vmovaps ymm1, ymm0 vpmovzxbw ymm1, ymm1 vextracti128 xmm0, ymm0, 1 vpmovzxbw ymm0, ymm0 vmovups ymmword ptr [edi], ymm1 vmovups ymmword ptr [edi+20H], ymm0 add esi, 32 add edi, 64 cmp esi, ebx jbe SHORT G_M000_IG04 G_M000_IG05: jmp G_M000_IG13 align [0 bytes for IG07] G_M000_IG06: lea ebx, [eax-10H] vmovups xmm0, xmmword ptr [@RWD00] G_M000_IG07: vmovups xmm1, xmmword ptr [ecx+esi] vptest xmm1, xmm0 jne SHORT G_M000_IG09 vpmovzxbw xmm2, xmm1 vmovups xmmword ptr [edi], xmm2 vpsrldq xmm1, xmm1, 8 vpmovzxbw xmm1, xmm1 vmovups xmmword ptr [edi+10H], xmm1 add esi, 16 add edi, 32 cmp esi, ebx jbe SHORT G_M000_IG07 G_M000_IG08: mov dword ptr [ebp+08H], eax jmp SHORT G_M000_IG13 align [0 bytes for IG11] G_M000_IG09: mov dword ptr [ebp+08H], eax jmp SHORT G_M000_IG13 G_M000_IG10: cmp eax, 32 jb G_M000_IG22 mov edi, eax sub edi, 32 G_M000_IG11: mov ebx, esi vmovups ymm0, ymmword ptr [ecx+ebx] vxorps ymm1, ymm1, ymm1 vpcmpgtb ymm1, ymm1, ymm0 vptest ymm1, ymm1 jne G_M000_IG21 vmovaps ymm1, ymm0 vpmovzxbw ymm1, ymm1 vextracti128 xmm0, ymm0, 1 vpmovzxbw ymm0, ymm0 vmovups ymmword ptr [edx+2*ebx], ymm1 vmovups ymmword ptr [edx+2*ebx+20H], ymm0 add esi, 32 cmp esi, edi jbe SHORT G_M000_IG11 G_M000_IG12: mov dword ptr [ebp+08H], eax G_M000_IG13: mov eax, dword ptr [ebp+08H] sub eax, esi mov dword ptr [ebp-10H], eax cmp eax, 4 jb G_M000_IG20 G_M000_IG14: lea edi, [esi+eax-04H] mov dword ptr [ebp-14H], edi align [0 bytes for IG15] G_M000_IG15: mov ebx, dword ptr [ecx+esi] test ebx, 0xD1FFAB1E jne G_M000_IG24 vmovd xmm0, xebx vpmovzxbw xmm0, xmm0 vmovups xmmword ptr [ebp-24H], xmm0 mov ebx, dword ptr [ebp-24H] mov eax, dword ptr [ebp-20H] lea edi, [edx+2*esi] mov dword ptr [edi], ebx mov dword ptr [edi+04H], eax add esi, 4 mov edi, dword ptr [ebp-14H] cmp esi, edi mov dword ptr [ebp-14H], edi jbe SHORT G_M000_IG15 G_M000_IG16: test byte ptr [ebp-10H], 2 je SHORT G_M000_IG17 movzx ebx, word ptr [ecx+esi] test ebx, 0xD1FFAB1E jne SHORT G_M000_IG24 movzx eax, bl mov word ptr [edx+2*esi], ax shr ebx, 8 lea eax, [esi+01H] mov word ptr [edx+2*eax], bx add esi, 2 G_M000_IG17: test byte ptr [ebp-10H], 1 je SHORT G_M000_IG18 movzx ebx, byte ptr [ecx+esi] test bl, 128 jne SHORT G_M000_IG18 mov word ptr [edx+2*esi], bx inc esi G_M000_IG18: mov eax, esi G_M000_IG19: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG20: jmp SHORT G_M000_IG16 G_M000_IG21: mov dword ptr [ebp+08H], eax jmp G_M000_IG13 G_M000_IG22: mov dword ptr [ebp+08H], eax jmp G_M000_IG13 G_M000_IG23: movzx eax, bl mov word ptr [edx+2*esi], ax inc esi shr ebx, 8 G_M000_IG24: movzx eax, bl test al, 128 je SHORT G_M000_IG23 G_M000_IG25: jmp SHORT G_M000_IG18 RWD00 dq 8080808080808080h, 8080808080808080h ; Total bytes of code 439 19: JIT compiled System.Text.Ascii:WidenAsciiToUtf16(uint,uint,uint) [Tier-0 switched to FullOpts, IL size=604, code size=439] ; Assembly listing for method System.Text.Ascii:NarrowUtf16ToAscii_Intrinsified(uint,uint,uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 6 inlinees with PGO data; 9 single block inlinees; 8 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 16 vzeroupper G_M000_IG02: vmovups xmm0, xmmword ptr [ecx] vmovups xmm1, xmmword ptr [@RWD00] vptest xmm0, xmm1 je SHORT G_M000_IG05 G_M000_IG03: xor eax, eax G_M000_IG04: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 4 G_M000_IG05: mov eax, edx vpackuswb xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-18H], xmm0 mov esi, dword ptr [ebp-18H] mov dword ptr [eax], esi mov esi, dword ptr [ebp-14H] mov dword ptr [eax+04H], esi mov esi, 8 test dl, 8 jne SHORT G_M000_IG06 vmovups xmm0, xmmword ptr [ecx+10H] vptest xmm0, xmm1 jne SHORT G_M000_IG08 vpackuswb xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-18H], xmm0 mov esi, dword ptr [ebp-18H] mov dword ptr [eax+08H], esi mov esi, dword ptr [ebp-14H] mov dword ptr [eax+0CH], esi G_M000_IG06: and edx, 15 mov esi, 16 sub esi, edx mov edx, dword ptr [ebp+08H] sub edx, 16 align [6 bytes for IG07] G_M000_IG07: vmovups xmm0, xmmword ptr [ecx+2*esi] lea edi, [esi+08H] vmovups xmm2, xmmword ptr [ecx+2*edi] vpor xmm3, xmm0, xmm2 vptest xmm3, xmm1 jne SHORT G_M000_IG10 vpackuswb xmm0, xmm0, xmm2 vmovups xmmword ptr [eax+esi], xmm0 add esi, 16 cmp esi, edx jbe SHORT G_M000_IG07 G_M000_IG08: mov eax, esi G_M000_IG09: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 4 G_M000_IG10: vptest xmm0, xmm1 jne SHORT G_M000_IG08 vpackuswb xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-18H], xmm0 mov edx, dword ptr [ebp-18H] mov dword ptr [eax+esi], edx mov edx, dword ptr [ebp-14H] mov dword ptr [eax+esi+04H], edx mov esi, edi jmp SHORT G_M000_IG08 RWD00 dq FF80FF80FF80FF80h, FF80FF80FF80FF80h ; Total bytes of code 212 20: JIT compiled System.Text.Ascii:NarrowUtf16ToAscii_Intrinsified(uint,uint,uint) [Tier-0 switched to FullOpts, IL size=251, code size=212] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Level(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Level(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 21: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Level(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Message(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, gword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Message(System.String):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 22: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Message(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Task(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Task(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 23: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Task(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Opcode(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Opcode(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 24: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Opcode(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Version(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] movzx edx, byte ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Version(ubyte):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 24 25: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Version(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=24] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Keywords(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov ecx, dword ptr [esp+04H] mov ecx, bword ptr [ecx] mov eax, dword ptr [ecx] push dword ptr [ecx+04H] push eax mov ecx, edx cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Keywords(long):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 27 26: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Keywords(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=27] ; Assembly listing for method System.Number:Int32ToHexChars[ushort](uint,uint,int,int):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, dword ptr [ebp+0CH] mov eax, dword ptr [ebp+08H] G_M000_IG02: dec eax js SHORT G_M000_IG07 G_M000_IG03: mov ebx, edx and ebx, 15 add ecx, -2 cmp ebx, 10 jl SHORT G_M000_IG05 G_M000_IG04: mov edi, esi jmp SHORT G_M000_IG06 G_M000_IG05: mov edi, 48 G_M000_IG06: add edi, ebx mov word ptr [ecx], di shr edx, 4 dec eax jns SHORT G_M000_IG03 G_M000_IG07: test edx, edx jne SHORT G_M000_IG03 G_M000_IG08: mov eax, ecx G_M000_IG09: pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 61 27: JIT compiled System.Number:Int32ToHexChars[ushort](uint,uint,int,int) [Tier-0 switched to FullOpts, IL size=66, code size=61] ; Assembly listing for method System.SpanHelpers:IndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+DontNegate`1[ushort]](byref,ushort,ushort,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: call [System.PackedSpanHelpers:get_PackedIndexOfIsSupported():bool] test eax, eax je SHORT G_M000_IG05 mov ecx, dword ptr [ebp-08H] movzx ecx, cx call [System.PackedSpanHelpers:CanUsePackedIndexOf[ushort](ushort):bool] test eax, eax je SHORT G_M000_IG05 mov ecx, dword ptr [ebp+0CH] movzx ecx, cx call [System.PackedSpanHelpers:CanUsePackedIndexOf[ushort](ushort):bool] test eax, eax je SHORT G_M000_IG05 mov ecx, dword ptr [ebp+0CH] movzx ecx, cx mov edx, dword ptr [ebp-08H] movzx edx, dx call [System.UInt16:System.Numerics.IComparisonOperators.op_GreaterThanOrEqual(ushort,ushort):bool] test eax, eax je SHORT G_M000_IG05 mov ecx, bword ptr [ebp-04H] mov bword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-08H] movzx ecx, cx mov dword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp+0CH] movzx ecx, cx sub ecx, dword ptr [ebp-10H] movzx ecx, cx mov dword ptr [ebp-14H], ecx G_M000_IG03: push dword ptr [ebp-14H] push dword ptr [ebp+08H] mov ecx, bword ptr [ebp-0CH] mov edx, dword ptr [ebp-10H] call [System.PackedSpanHelpers:IndexOfAnyInRange(byref,ushort,ushort,int):int] G_M000_IG04: mov esp, ebp pop ebp ret 8 G_M000_IG05: mov edx, dword ptr [ebp+0CH] movzx edx, dx push edx push dword ptr [ebp+08H] mov edx, dword ptr [ebp-08H] movzx edx, dx mov ecx, bword ptr [ebp-04H] call [System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+DontNegate`1[ushort]](byref,ushort,ushort,int):int] G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 166 28: 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:get_PackedIndexOfIsSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 29: JIT compiled System.PackedSpanHelpers:get_PackedIndexOfIsSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method System.PackedSpanHelpers:CanUsePackedIndexOf[ushort](ushort):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov eax, dword ptr [ebp-04H] movzx eax, ax dec eax cmp eax, 254 setb al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 29 30: JIT compiled System.PackedSpanHelpers:CanUsePackedIndexOf[ushort](ushort) [Tier0, IL size=14, code size=29] ; Assembly listing for method System.PackedSpanHelpers:IndexOfAnyInRange(byref,ushort,ushort,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov edx, dword ptr [ebp+0CH] movzx edx, dx movsx edx, dx push edx push dword ptr [ebp+08H] mov edx, dword ptr [ebp-08H] movzx edx, dx movsx edx, dx mov ecx, bword ptr [ebp-04H] call [System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 49 31: JIT compiled System.PackedSpanHelpers:IndexOfAnyInRange(byref,ushort,ushort,int) [Tier0, IL size=17, code size=49] ; Assembly listing for method System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov ebx, dword ptr [ebp+0CH] mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge SHORT G_M000_IG07 G_M000_IG03: movsx edx, dx movsx ebx, bx xor esi, esi test eax, eax jle G_M000_IG16 align [0 bytes for IG04] G_M000_IG04: movsx edi, word ptr [ecx+2*esi] sub edi, edx cmp edi, ebx jbe SHORT G_M000_IG06 inc esi cmp esi, eax jl SHORT G_M000_IG04 G_M000_IG05: jmp G_M000_IG16 align [0 bytes for IG08] G_M000_IG06: mov eax, esi jmp G_M000_IG15 G_M000_IG07: mov esi, ecx cmp eax, 16 jle G_M000_IG13 movzx edx, dl vmovd xmm0, edx vpbroadcastb ymm0, ymm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb ymm1, ymm1 cmp eax, 32 jle SHORT G_M000_IG09 lea edx, bword ptr [esi+2*eax-40H] G_M000_IG08: vmovups ymm2, ymmword ptr [esi] vpackuswb ymm2, ymm2, ymmword ptr [esi+20H] vpsubb ymm2, ymm2, ymm0 vpminub ymm3, ymm2, ymm1 vpcmpeqb ymm2, ymm3, ymm2 vptest ymm2, ymm2 jne SHORT G_M000_IG10 add esi, 64 cmp esi, edx jb SHORT G_M000_IG08 G_M000_IG09: lea eax, bword ptr [ecx+2*eax-20H] cmp esi, eax mov edx, esi cmova edx, eax jmp SHORT G_M000_IG11 G_M000_IG10: mov eax, esi sub eax, ecx shr eax, 1 vpermq ymm0, ymm2, -40 vpmovmskb edx, ymm0 xor ecx, ecx tzcnt ecx, edx add eax, ecx jmp G_M000_IG15 G_M000_IG11: vmovups ymm2, ymmword ptr [edx] vpackuswb ymm2, ymm2, ymmword ptr [eax] vpsubb ymm0, ymm2, ymm0 vpminub ymm1, ymm0, ymm1 vpcmpeqb ymm0, ymm1, ymm0 vptest ymm0, ymm0 je G_M000_IG16 vpermq ymm0, ymm0, -40 vpmovmskb ebx, ymm0 xor esi, esi tzcnt esi, ebx cmp esi, 16 jl SHORT G_M000_IG12 mov edx, eax add esi, -16 G_M000_IG12: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp SHORT G_M000_IG15 G_M000_IG13: movzx edx, dl vmovd xmm0, edx vpbroadcastb xmm0, xmm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb xmm1, xmm1 lea eax, bword ptr [esi+2*eax-10H] cmp ecx, eax mov edx, ecx cmova edx, eax vmovups xmm2, xmmword ptr [edx] vpackuswb xmm2, xmm2, xmmword ptr [eax] vpsubb xmm0, xmm2, xmm0 vpminub xmm1, xmm0, xmm1 vpcmpeqb xmm0, xmm1, xmm0 vptest xmm0, xmm0 je SHORT G_M000_IG16 vpmovmskb esi, xmm0 tzcnt esi, esi cmp esi, 8 jl SHORT G_M000_IG14 mov edx, eax add esi, -8 G_M000_IG14: sub edx, ecx shr edx, 1 lea eax, [edx+esi] G_M000_IG15: vzeroupper pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG16: mov eax, -1 G_M000_IG17: vzeroupper pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 362 32: JIT compiled System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int) [Tier-0 switched to FullOpts, IL size=659, code size=362] ; Assembly listing for method System.SpanHelpers:SequenceCompareTo(byref,int,byref,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax vzeroupper mov eax, bword ptr [ebp+0CH] mov esi, dword ptr [ebp+08H] G_M000_IG02: cmp ecx, eax je G_M000_IG08 G_M000_IG03: cmp edx, esi mov dword ptr [ebp-10H], edx mov dword ptr [ebp+08H], esi mov edi, esi cmovb edi, edx xor ebx, ebx mov esi, edi cmp edi, 32 jb SHORT G_M000_IG09 add esi, -32 je SHORT G_M000_IG05 align [9 bytes for IG04] G_M000_IG04: vmovups ymm0, ymmword ptr [ecx+ebx] vpcmpeqb ymm0, ymm0, ymmword ptr [eax+ebx] vpmovmskb edi, ymm0 cmp edi, -1 jne SHORT G_M000_IG06 add ebx, 32 cmp esi, ebx ja SHORT G_M000_IG04 G_M000_IG05: mov ebx, esi vmovups ymm0, ymmword ptr [ecx+ebx] vpcmpeqb ymm0, ymm0, ymmword ptr [eax+ebx] vpmovmskb edi, ymm0 cmp edi, -1 je G_M000_IG17 G_M000_IG06: mov edx, edi not edx tzcnt edx, edx add edx, ebx mov ebx, edx movzx eax, byte ptr [eax+ebx] movzx ecx, byte ptr [ecx+ebx] sub ecx, eax mov eax, ecx G_M000_IG07: vzeroupper pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG08: mov dword ptr [ebp-10H], edx mov dword ptr [ebp+08H], esi jmp G_M000_IG17 align [0 bytes for IG14] G_M000_IG09: cmp edi, 16 jb SHORT G_M000_IG13 add esi, -16 je SHORT G_M000_IG10 vmovups xmm0, xmmword ptr [ecx] vpcmpeqb xmm0, xmm0, xmmword ptr [eax] vpmovmskb edi, xmm0 cmp edi, 0xFFFF jne SHORT G_M000_IG11 G_M000_IG10: mov ebx, esi vmovups xmm0, xmmword ptr [ecx+ebx] vpcmpeqb xmm0, xmm0, xmmword ptr [eax+ebx] vpmovmskb edi, xmm0 cmp edi, 0xFFFF je SHORT G_M000_IG17 G_M000_IG11: mov edx, edi not edx tzcnt edx, edx add edx, ebx mov ebx, edx movzx eax, byte ptr [eax+ebx] movzx ecx, byte ptr [ecx+ebx] sub ecx, eax mov eax, ecx G_M000_IG12: vzeroupper pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG13: cmp edi, 4 jbe SHORT G_M000_IG15 lea esi, [edi-04H] test esi, esi je SHORT G_M000_IG15 G_M000_IG14: mov edx, dword ptr [ecx+ebx] cmp edx, dword ptr [eax+ebx] jne SHORT G_M000_IG15 add ebx, 4 cmp esi, ebx ja SHORT G_M000_IG14 G_M000_IG15: cmp edi, ebx jbe SHORT G_M000_IG17 align [7 bytes for IG16] G_M000_IG16: mov bword ptr [ebp+0CH], eax movzx edx, byte ptr [eax+ebx] movzx eax, byte ptr [ecx+ebx] sub eax, edx jne SHORT G_M000_IG19 inc ebx cmp edi, ebx mov eax, bword ptr [ebp+0CH] ja SHORT G_M000_IG16 G_M000_IG17: mov edx, dword ptr [ebp-10H] mov eax, edx sub eax, dword ptr [ebp+08H] G_M000_IG18: vzeroupper pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG19: vzeroupper pop ecx pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 341 33: JIT compiled System.SpanHelpers:SequenceCompareTo(byref,int,byref,int) [Tier1, IL size=568, code size=341] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName:Main(System.String[]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Autogenerated.UniqueProgramName:AfterAssemblyLoadingAttached(System.String[]):int] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 34: JIT compiled BenchmarkDotNet.Autogenerated.UniqueProgramName:Main(System.String[]) [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName:AfterAssemblyLoadingAttached(System.String[]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 220 vxorps xmm4, xmm4 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 35: JIT compiled BenchmarkDotNet.Autogenerated.UniqueProgramName:AfterAssemblyLoadingAttached(System.String[]) [Tier0, IL size=406, code size=1275] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:TryGetFileHandles(System.String[],byref,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi vzeroupper G_M000_IG02: xor esi, esi mov edi, dword ptr [ecx+04H] test edi, edi jle SHORT G_M000_IG07 align [0 bytes for IG03] G_M000_IG03: mov eax, gword ptr [ecx+4*esi+08H] test eax, eax je SHORT G_M000_IG06 G_M000_IG04: cmp dword ptr [eax+04H], 16 jne SHORT G_M000_IG06 G_M000_IG05: vmovups ymm0, ymmword ptr [eax+08H] vpxor ymm0, ymm0, ymmword ptr [@RWD00] vptest ymm0, ymm0 sete al movzx eax, al test eax, eax jne SHORT G_M000_IG10 G_M000_IG06: inc esi cmp edi, esi jg SHORT G_M000_IG03 G_M000_IG07: xor eax, eax mov ecx, bword ptr [ebp+08H] mov gword ptr [ecx], eax G_M000_IG08: mov gword ptr [edx], eax G_M000_IG09: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG10: lea eax, [esi+01H] cmp eax, edi jae SHORT G_M000_IG12 mov eax, gword ptr [ecx+4*esi+0CH] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX lea edx, [esi+02H] cmp edx, edi jae SHORT G_M000_IG12 mov eax, gword ptr [ecx+4*esi+10H] mov edx, bword ptr [ebp+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, 1 G_M000_IG11: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 006E0061002D002Dh, 006D0079006E006Fh, 005000730075006Fh, 0073006500700069h ; Total bytes of code 137 36: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:TryGetFileHandles(System.String[],byref,byref) [Tier-0 switched to FullOpts, IL size=55, code size=137] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:.ctor(System.String,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4 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+08H]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 37: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:.ctor(System.String,System.String) [Tier0, IL size=68, code size=225] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:OpenAnonymousPipe(System.String,int):System.IO.Stream:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-08H] call [System.Int32:Parse(System.String):int] mov dword ptr [ebp-1CH], eax mov edx, dword ptr [ebp-1CH] lea ecx, [ebp-0CH] call [System.IntPtr:.ctor(int):this] mov ecx, dword ptr [ebp-0CH] mov dword ptr [ebp-14H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWFAST mov gword ptr [ebp-10H], eax push 1 mov ecx, gword ptr [ebp-10H] mov edx, dword ptr [ebp-14H] call [Microsoft.Win32.SafeHandles.SafeFileHandle:.ctor(int,bool):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWFAST mov gword ptr [ebp-18H], eax push dword ptr [ebp+08H] push 1 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-10H] call [System.IO.FileStream:.ctor(Microsoft.Win32.SafeHandles.SafeFileHandle,int,int):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 121 38: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:OpenAnonymousPipe(System.String,int) [Tier0, IL size=25, code size=121] ; Assembly listing for method System.Number:TryParseBinaryIntegerStyle[int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 12 inlinees with PGO data; 52 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 108 mov gword ptr [ebp-44H], edx mov esi, ecx G_M000_IG02: mov ebx, dword ptr [ebp+10H] test ebx, ebx je G_M000_IG41 G_M000_IG03: xor ecx, ecx mov eax, bword ptr [ebp+0CH] movzx edi, word ptr [eax] mov dword ptr [ebp-10H], esi test esi, 1 je SHORT G_M000_IG05 cmp edi, 32 je SHORT G_M000_IG04 lea esi, [edi-09H] cmp esi, 4 ja SHORT G_M000_IG05 G_M000_IG04: inc ecx cmp ecx, ebx jae G_M000_IG41 movzx edi, word ptr [eax+2*ecx] cmp edi, 32 je SHORT G_M000_IG04 lea esi, [edi-09H] cmp esi, 4 jbe SHORT G_M000_IG04 G_M000_IG05: xor esi, esi xor edx, edx test byte ptr [ebp-10H], 4 je G_M000_IG15 mov esi, gword ptr [ebp-44H] cmp byte ptr [esi+A9H], 0 je SHORT G_M000_IG07 cmp edi, 45 jne SHORT G_M000_IG06 mov edx, 1 inc ecx cmp ecx, ebx jae G_M000_IG41 jmp G_M000_IG14 align [0 bytes for IG16] G_M000_IG06: cmp edi, 43 jne G_M000_IG15 inc ecx cmp ecx, ebx jae G_M000_IG41 jmp G_M000_IG14 G_M000_IG07: cmp byte ptr [esi+AAH], 0 je SHORT G_M000_IG08 cmp edi, 45 jne SHORT G_M000_IG08 mov dword ptr [ebp-18H], 1 inc ecx cmp ecx, ebx jae G_M000_IG41 mov edx, dword ptr [ebp-18H] jmp G_M000_IG14 G_M000_IG08: cmp ecx, ebx ja G_M000_IG51 lea eax, bword ptr [eax+2*ecx] mov bword ptr [ebp-74H], eax sub ebx, ecx mov ecx, ebx mov bword ptr [ebp+0CH], eax mov dword ptr [ebp+10H], ecx xor ecx, ecx mov dword ptr [ebp-14H], ecx mov ecx, gword ptr [esi+10H] mov gword ptr [ebp-48H], ecx mov esi, gword ptr [esi+14H] mov gword ptr [ebp-4CH], esi test ecx, ecx je G_M000_IG11 G_M000_IG09: cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG11 G_M000_IG10: mov esi, bword ptr [ebp-74H] mov bword ptr [ebp-58H], esi mov dword ptr [ebp-34H], ebx lea esi, bword ptr [ecx+08H] mov bword ptr [ebp-50H], esi mov esi, dword ptr [ecx+04H] mov dword ptr [ebp-28H], esi mov esi, bword ptr [ebp-50H] mov bword ptr [ebp-60H], esi mov esi, dword ptr [ebp-28H] mov dword ptr [ebp-3CH], esi mov esi, bword ptr [ebp-60H] mov bword ptr [ebp-5CH], esi mov esi, dword ptr [ebp-3CH] mov dword ptr [ebp-38H], esi mov esi, bword ptr [ebp-58H] mov bword ptr [ebp-68H], esi mov esi, bword ptr [ebp-5CH] mov bword ptr [ebp-64H], esi mov esi, dword ptr [ebp-38H] mov ecx, dword ptr [ebp-34H] cmp esi, ecx mov dword ptr [ebp-2CH], esi jg SHORT G_M000_IG11 mov dword ptr [ebp-18H], edx mov ecx, dword ptr [ebp-2CH] add ecx, ecx push ecx mov ecx, bword ptr [ebp-68H] mov edx, bword ptr [ebp-64H] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov edx, dword ptr [ebp-18H] je SHORT G_M000_IG11 mov ecx, gword ptr [ebp-48H] mov eax, dword ptr [ecx+04H] mov edi, eax mov dword ptr [ebp-14H], edi cmp edi, ebx jae G_M000_IG41 mov ecx, dword ptr [ebp-14H] jmp SHORT G_M000_IG14 G_M000_IG11: mov esi, gword ptr [ebp-4CH] test esi, esi je G_M000_IG30 G_M000_IG12: cmp dword ptr [esi+04H], 0 je G_M000_IG29 G_M000_IG13: mov ecx, bword ptr [ebp-74H] mov bword ptr [ebp-54H], ecx mov dword ptr [ebp-30H], ebx lea ecx, bword ptr [esi+08H] mov gword ptr [ebp-4CH], esi mov esi, dword ptr [esi+04H] mov dword ptr [ebp-40H], esi mov esi, bword ptr [ebp-54H] mov bword ptr [ebp-70H], esi mov bword ptr [ebp-6CH], ecx mov ecx, dword ptr [ebp-40H] mov esi, dword ptr [ebp-30H] cmp ecx, esi jg G_M000_IG28 mov dword ptr [ebp-18H], edx add ecx, ecx push ecx mov ecx, bword ptr [ebp-70H] mov edx, bword ptr [ebp-6CH] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov ecx, dword ptr [ebp-14H] mov edx, dword ptr [ebp-18H] je SHORT G_M000_IG15 mov dword ptr [ebp-18H], 1 mov esi, gword ptr [ebp-4CH] mov eax, dword ptr [esi+04H] mov edi, eax cmp edi, ebx mov ecx, edi mov edx, dword ptr [ebp-18H] jae G_M000_IG41 G_M000_IG14: cmp ecx, dword ptr [ebp+10H] jae G_M000_IG52 mov eax, bword ptr [ebp+0CH] movzx edi, word ptr [eax+2*ecx] G_M000_IG15: xor ebx, ebx mov dword ptr [ebp-1CH], ebx xor eax, eax lea esi, [edi-30H] cmp esi, 9 ja G_M000_IG41 cmp edi, 48 jne SHORT G_M000_IG19 G_M000_IG16: inc ecx mov esi, dword ptr [ebp+10H] cmp ecx, esi jae G_M000_IG37 mov dword ptr [ebp-18H], edx mov edi, bword ptr [ebp+0CH] movzx edx, word ptr [edi+2*ecx] cmp edx, 48 mov bword ptr [ebp-78H], edi je G_M000_IG27 G_M000_IG17: mov edi, edx lea edx, [edi-30H] cmp edx, 9 mov dword ptr [ebp-20H], eax mov edx, bword ptr [ebp-78H] ja G_M000_IG26 G_M000_IG18: mov edx, dword ptr [ebp-18H] G_M000_IG19: lea eax, [edi-30H] mov dword ptr [ebp-20H], eax inc ecx xor eax, eax align [0 bytes for IG20] G_M000_IG20: mov esi, dword ptr [ebp+10H] cmp ecx, esi jae G_M000_IG25 mov dword ptr [ebp-18H], edx mov edx, bword ptr [ebp+0CH] movzx ebx, word ptr [edx+2*ecx] lea edi, [ebx-30H] cmp edi, 9 ja G_M000_IG43 inc ecx mov edi, dword ptr [ebp-20H] lea edi, [edi+4*edi] lea edi, [ebx+2*edi-30H] inc eax cmp eax, 8 jl SHORT G_M000_IG24 G_M000_IG21: mov dword ptr [ebp-20H], edi mov eax, edx mov edx, dword ptr [ebp-18H] cmp ecx, esi jae SHORT G_M000_IG23 mov dword ptr [ebp-18H], edx movzx edx, word ptr [eax+2*ecx] lea ebx, [edx-30H] cmp ebx, 9 ja SHORT G_M000_IG22 inc ecx mov edi, dword ptr [ebp-20H] xor ebx, ebx cmp edi, 0xD1FFAB1E setg bl lea edi, [edi+4*edi] lea edi, [edx+2*edi-30H] cmp dword ptr [ebp-18H], 0 jne SHORT G_M000_IG31 mov dword ptr [ebp-24H], ebx xor ebx, ebx jmp SHORT G_M000_IG32 G_M000_IG22: mov ebx, edx mov edx, eax jmp G_M000_IG43 G_M000_IG23: mov eax, dword ptr [ebp-20H] jmp G_M000_IG37 G_M000_IG24: mov dword ptr [ebp-20H], edi mov edx, dword ptr [ebp-18H] jmp G_M000_IG20 G_M000_IG25: mov eax, dword ptr [ebp-20H] jmp G_M000_IG37 G_M000_IG26: mov ebx, edi jmp G_M000_IG43 G_M000_IG27: mov edx, dword ptr [ebp-18H] jmp G_M000_IG16 G_M000_IG28: mov ecx, dword ptr [ebp-14H] jmp G_M000_IG15 G_M000_IG29: mov ecx, dword ptr [ebp-14H] jmp G_M000_IG15 align [0 bytes for IG33] G_M000_IG30: mov ecx, dword ptr [ebp-14H] jmp G_M000_IG15 G_M000_IG31: mov dword ptr [ebp-24H], ebx mov ebx, 1 G_M000_IG32: add ebx, 0xD1FFAB1E cmp ebx, edi setb bl movzx ebx, bl or ebx, dword ptr [ebp-24H] movzx ebx, bl mov dword ptr [ebp-1CH], ebx cmp ecx, esi jae SHORT G_M000_IG36 movzx edx, word ptr [eax+2*ecx] lea ebx, [edx-30H] cmp ebx, 9 mov ebx, edx ja SHORT G_M000_IG35 G_M000_IG33: mov dword ptr [ebp-1CH], 1 inc ecx cmp ecx, esi jae SHORT G_M000_IG42 movzx edx, word ptr [eax+2*ecx] lea ebx, [edx-30H] cmp ebx, 9 jbe SHORT G_M000_IG33 G_M000_IG34: mov dword ptr [ebp-20H], edi mov ebx, edx mov edx, eax jmp SHORT G_M000_IG43 G_M000_IG35: mov dword ptr [ebp-20H], edi mov edx, eax jmp SHORT G_M000_IG43 align [0 bytes for IG45] G_M000_IG36: cmp dword ptr [ebp-1CH], 0 mov eax, edi mov edx, dword ptr [ebp-18H] jne SHORT G_M000_IG42 G_M000_IG37: mov edi, bword ptr [ebp+08H] test edx, edx jne SHORT G_M000_IG38 jmp SHORT G_M000_IG39 G_M000_IG38: neg eax G_M000_IG39: mov dword ptr [edi], eax xor eax, eax G_M000_IG40: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG41: xor eax, eax mov edi, bword ptr [ebp+08H] mov dword ptr [edi], eax mov eax, 1 jmp SHORT G_M000_IG40 G_M000_IG42: xor eax, eax mov edi, bword ptr [ebp+08H] mov dword ptr [edi], eax mov eax, 2 jmp SHORT G_M000_IG40 G_M000_IG43: cmp ebx, 32 je SHORT G_M000_IG44 lea eax, [ebx-09H] cmp eax, 4 ja SHORT G_M000_IG49 G_M000_IG44: test byte ptr [ebp-10H], 2 je SHORT G_M000_IG41 inc ecx cmp ecx, esi jge SHORT G_M000_IG48 G_M000_IG45: cmp ecx, esi jae SHORT G_M000_IG52 movzx ebx, word ptr [edx+2*ecx] cmp ebx, 32 je SHORT G_M000_IG47 G_M000_IG46: add ebx, -9 cmp ebx, 4 ja SHORT G_M000_IG48 G_M000_IG47: inc ecx cmp ecx, esi jl SHORT G_M000_IG45 G_M000_IG48: cmp ecx, esi jae SHORT G_M000_IG50 G_M000_IG49: push dword ptr [ebp+10H] push bword ptr [ebp+0CH] call [System.Number:TrailingZeros(System.ReadOnlySpan`1[ushort],int):bool] test eax, eax mov edi, dword ptr [ebp-20H] jne G_M000_IG36 jmp SHORT G_M000_IG41 G_M000_IG50: mov edi, dword ptr [ebp-20H] jmp G_M000_IG36 G_M000_IG51: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG52: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1038 39: JIT compiled System.Number:TryParseBinaryIntegerStyle[int](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref) [Tier-0 switched to FullOpts, IL size=1142, code size=1038] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax push 1 mov ecx, gword ptr [ebp-04H] xor edx, edx call [System.Text.UTF8Encoding:.ctor(bool,bool):this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 40: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:.cctor() [Tier0, IL size=13, code size=52] ; Assembly listing for method System.ArgumentOutOfRangeException:ThrowIfNegativeOrZero[int](int,System.String) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov dword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-04H] call [System.Int32:IsNegative(int):bool] test eax, eax jne SHORT G_M000_IG03 mov ecx, dword ptr [ebp-04H] call [System.Int32:System.Numerics.INumberBase.IsZero(int):bool] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] call [System.ArgumentOutOfRangeException:ThrowNegativeOrZero[int](System.String,int)] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 54 41: JIT compiled System.ArgumentOutOfRangeException:ThrowIfNegativeOrZero[int](int,System.String) [Tier0, IL size=36, code size=54] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:BeforeAnythingElse(BenchmarkDotNet.Engines.IHost) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, 1 call [BenchmarkDotNet.Engines.IHost:SendSignal(int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 42: JIT compiled BenchmarkDotNet.Engines.HostExtensions:BeforeAnythingElse(BenchmarkDotNet.Engines.IHost) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:SendSignal(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vxorps xmm4, xmm4 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 43: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:SendSignal(int) [Tier0, IL size=72, code size=196] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals:ToMessage(int):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0x403 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Item(int):System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 56 44: JIT compiled BenchmarkDotNet.Engines.Engine+Signals:ToMessage(int) [Tier0, IL size=12, code size=56] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor():this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 1 cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 2 cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 3 cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 4 cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon):this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, 0xD1FFAB1E mov edx, 0x4D9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-14H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-08H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E mov edx, 0x4D9 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-18H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-10H] push 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] G_M000_IG03: mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int]):System.Collections.Generic.Dictionary`2[System.__Canon,int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 293 45: JIT compiled BenchmarkDotNet.Engines.Engine+Signals:.cctor() [Tier0, IL size=106, code size=293] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push 0 mov ecx, gword ptr [ebp-04H] xor edx, edx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 24 46: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor() [Tier0, IL size=9, code size=24] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] cmp dword ptr [ebp-08H], 0 jge SHORT G_M000_IG03 mov ecx, 22 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int)] G_M000_IG03: cmp dword ptr [ebp-08H], 0 jle SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Initialize(int):int:this] G_M000_IG04: G_M000_IG05: cmp gword ptr [ebp+08H], 0 je SHORT G_M000_IG06 call [System.Collections.Generic.EqualityComparer`1[int]:get_Default():System.Collections.Generic.EqualityComparer`1[int]] cmp eax, gword ptr [ebp+08H] je SHORT G_M000_IG06 mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 98 47: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]) [Tier0, IL size=136, code size=98] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp+08H] push 2 mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:TryInsert(int,System.__Canon,ubyte):bool:this] mov dword ptr [ebp-0CH], eax G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 38 48: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:Add(int,System.__Canon) [Tier0, IL size=11, code size=38] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:TryInsert(int,System.__Canon,ubyte):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 72 mov esi, ecx mov edi, edx G_M000_IG02: cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, esi xor edx, edx call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Initialize(int):int:this] G_M000_IG04: mov ebx, gword ptr [esi+08H] mov eax, gword ptr [esi+0CH] mov gword ptr [ebp-44H], eax test eax, eax je SHORT G_M000_IG06 G_M000_IG05: mov ecx, eax mov edx, edi call [System.Collections.Generic.IEqualityComparer`1[int]:GetHashCode(int):int:this] jmp SHORT G_M000_IG07 align [0 bytes for IG10] G_M000_IG06: mov dword ptr [ebp-10H], edi mov edx, edi mov eax, edx mov edi, dword ptr [ebp-10H] G_M000_IG07: mov dword ptr [ebp-14H], eax xor edx, edx mov dword ptr [ebp-18H], edx mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-4CH], ecx push 0 push eax push 0 push dword ptr [ecx+04H] call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG08 test edx, edx jne G_M000_IG31 jmp SHORT G_M000_IG09 G_M000_IG08: cmp edx, -1 jne G_M000_IG31 G_M000_IG09: mov edx, eax mov ecx, gword ptr [ebp-4CH] cmp edx, dword ptr [ecx+04H] jae G_M000_IG34 lea eax, bword ptr [ecx+4*edx+08H] mov bword ptr [ebp-48H], eax mov edx, dword ptr [eax] dec edx cmp gword ptr [ebp-44H], 0 jne SHORT G_M000_IG18 G_M000_IG10: mov ecx, dword ptr [ebx+04H] cmp ecx, edx jbe G_M000_IG23 mov dword ptr [ebp-10H], edi mov eax, edx shl eax, 4 lea eax, bword ptr [ebx+eax+08H] mov edi, dword ptr [ebp-14H] cmp dword ptr [eax+04H], edi jne SHORT G_M000_IG12 G_M000_IG11: mov edi, dword ptr [ebp-10H] cmp dword ptr [eax+0CH], edi je SHORT G_M000_IG13 G_M000_IG12: mov edx, dword ptr [eax+08H] mov eax, dword ptr [ebp-18H] inc eax cmp ecx, eax jb G_M000_IG33 mov dword ptr [ebp-18H], eax mov edi, dword ptr [ebp-10H] jmp SHORT G_M000_IG10 G_M000_IG13: movzx eax, byte ptr [ebp+08H] cmp eax, 1 jne SHORT G_M000_IG15 G_M000_IG14: cmp edx, ecx jae G_M000_IG34 shl edx, 4 lea edx, bword ptr [ebx+edx+08H] mov esi, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_ESI jmp G_M000_IG29 G_M000_IG15: cmp eax, 2 je G_M000_IG32 G_M000_IG16: xor eax, eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG18: mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-30H], eax cmp eax, edx jbe SHORT G_M000_IG21 mov dword ptr [ebp-10H], edi mov dword ptr [ebp-1CH], edx mov ecx, edx shl ecx, 4 lea ecx, bword ptr [ebx+ecx+08H] mov bword ptr [ebp-54H], ecx mov edi, dword ptr [ebp-14H] cmp dword ptr [ecx+04H], edi jne SHORT G_M000_IG22 G_M000_IG19: mov edi, dword ptr [ecx+0CH] push dword ptr [ebp-10H] mov edx, edi mov ecx, gword ptr [ebp-44H] call [System.Collections.Generic.IEqualityComparer`1[int]:Equals(int,int):bool:this] test eax, eax mov ecx, bword ptr [ebp-54H] je SHORT G_M000_IG22 G_M000_IG20: movzx eax, byte ptr [ebp+08H] cmp eax, 1 mov ecx, dword ptr [ebp-30H] mov edx, dword ptr [ebp-1CH] je SHORT G_M000_IG14 cmp eax, 2 je G_M000_IG32 jmp SHORT G_M000_IG16 G_M000_IG21: mov ecx, dword ptr [ebp-30H] jmp SHORT G_M000_IG23 G_M000_IG22: mov edx, dword ptr [ecx+08H] mov ecx, dword ptr [ebp-18H] inc ecx cmp dword ptr [ebp-30H], ecx jb G_M000_IG33 mov dword ptr [ebp-18H], ecx mov edi, dword ptr [ebp-10H] jmp SHORT G_M000_IG18 G_M000_IG23: mov edx, dword ptr [esi+20H] mov dword ptr [ebp-2CH], edx test edx, edx jle SHORT G_M000_IG24 mov edx, dword ptr [esi+1CH] mov dword ptr [ebp-28H], edx mov eax, dword ptr [ebp-28H] cmp eax, ecx jae G_M000_IG34 shl eax, 4 mov ecx, dword ptr [ebx+eax+10H] neg ecx add ecx, -3 mov dword ptr [esi+1CH], ecx mov ecx, dword ptr [ebp-2CH] dec ecx mov dword ptr [esi+20H], ecx jmp SHORT G_M000_IG28 G_M000_IG24: mov edx, dword ptr [esi+18H] mov ebx, edx cmp ecx, ebx jne SHORT G_M000_IG27 mov ecx, edx call [System.Collections.HashHelpers:ExpandPrime(int):int] mov edx, eax push 0 mov ecx, esi call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:Resize(int,bool):this] mov eax, gword ptr [esi+04H] mov gword ptr [ebp-50H], eax push 0 push dword ptr [ebp-14H] mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-24H], ecx push 0 push ecx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG25 test edx, edx jne SHORT G_M000_IG31 jmp SHORT G_M000_IG26 G_M000_IG25: cmp edx, -1 jne SHORT G_M000_IG31 G_M000_IG26: mov edx, eax cmp edx, dword ptr [ebp-24H] jae SHORT G_M000_IG34 mov eax, gword ptr [ebp-50H] lea eax, bword ptr [eax+4*edx+08H] mov ecx, eax mov bword ptr [ebp-48H], ecx G_M000_IG27: lea edx, [ebx+01H] mov dword ptr [esi+18H], edx mov edx, gword ptr [esi+08H] mov ecx, edx mov edx, ebx mov ebx, ecx G_M000_IG28: cmp edx, dword ptr [ebx+04H] jae SHORT G_M000_IG34 mov dword ptr [ebp-20H], edx mov ecx, edx shl ecx, 4 lea ecx, bword ptr [ebx+ecx+08H] mov ebx, dword ptr [ebp-14H] mov dword ptr [ecx+04H], ebx mov eax, bword ptr [ebp-48H] mov ebx, dword ptr [eax] dec ebx mov dword ptr [ecx+08H], ebx mov dword ptr [ecx+0CH], edi mov ebx, gword ptr [ebp+0CH] mov edx, ecx call CORINFO_HELP_CHECKED_ASSIGN_REF_EBX mov edx, dword ptr [ebp-20H] inc edx mov dword ptr [eax], edx inc dword ptr [esi+24H] G_M000_IG29: mov eax, 1 G_M000_IG30: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG31: call CORINFO_HELP_OVERFLOW G_M000_IG32: mov ecx, dword ptr [ebp-10H] call [System.ThrowHelper:ThrowAddingDuplicateWithKeyArgumentException[int](int)] int3 G_M000_IG33: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG34: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 630 49: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:TryInsert(int,System.__Canon,ubyte) [Tier-0 switched to FullOpts, IL size=569, code size=630] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:Initialize(int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-08H] call [System.Collections.HashHelpers:GetPrime(int):int] mov dword ptr [ebp-0CH], eax mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] mov edx, dword ptr [ebp-0CH] call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-04H] mov dword ptr [edx+1CH], -1 mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, dword ptr [ebp-0CH] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 161 50: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:Initialize(int) [Tier0, IL size=44, code size=161] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:Resize(int,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+0CH] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, eax jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG05: mov edx, edi call CORINFO_HELP_NEWARR_1_VC mov ebx, eax mov eax, dword ptr [esi+18H] mov dword ptr [ebp-10H], eax mov ecx, gword ptr [esi+08H] push eax mov edx, ebx call [System.Array:Copy(System.Array,System.Array,int)] mov edx, edi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX xor edi, edi mov eax, dword ptr [ebp-10H] test eax, eax jle G_M000_IG17 cmp dword ptr [ebx+04H], eax jl SHORT G_M000_IG12 G_M000_IG06: mov edx, edi shl edx, 4 mov dword ptr [ebp-14H], edx cmp dword ptr [ebx+edx+10H], -1 jl SHORT G_M000_IG10 G_M000_IG07: mov ecx, dword ptr [ebx+edx+0CH] mov eax, gword ptr [esi+04H] push 0 push ecx push 0 mov gword ptr [ebp-28H], eax push dword ptr [eax+04H] call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG08 test edx, edx jne G_M000_IG19 jmp SHORT G_M000_IG09 G_M000_IG08: cmp edx, -1 jne G_M000_IG19 G_M000_IG09: mov edx, gword ptr [ebp-28H] cmp eax, dword ptr [edx+04H] jae G_M000_IG20 lea ecx, bword ptr [edx+4*eax+08H] mov edx, dword ptr [ecx] dec edx mov eax, dword ptr [ebp-14H] mov dword ptr [ebx+eax+10H], edx lea eax, [edi+01H] mov dword ptr [ecx], eax G_M000_IG10: inc edi mov eax, dword ptr [ebp-10H] cmp edi, eax jl SHORT G_M000_IG06 G_M000_IG11: jmp SHORT G_M000_IG17 G_M000_IG12: cmp edi, dword ptr [ebx+04H] jae SHORT G_M000_IG20 mov edx, edi shl edx, 4 lea edx, bword ptr [ebx+edx+08H] mov bword ptr [ebp-2CH], edx cmp dword ptr [edx+08H], -1 jl SHORT G_M000_IG16 G_M000_IG13: mov ecx, dword ptr [edx+04H] mov edx, gword ptr [esi+04H] push 0 push ecx push 0 mov gword ptr [ebp-28H], edx push dword ptr [edx+04H] call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG14 test edx, edx jne SHORT G_M000_IG19 jmp SHORT G_M000_IG15 G_M000_IG14: cmp edx, -1 jne SHORT G_M000_IG19 G_M000_IG15: mov edx, gword ptr [ebp-28H] cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG20 lea ecx, bword ptr [edx+4*eax+08H] mov edx, dword ptr [ecx] dec edx mov eax, bword ptr [ebp-2CH] mov dword ptr [eax+08H], edx lea edx, [edi+01H] mov dword ptr [ecx], edx G_M000_IG16: inc edi mov eax, dword ptr [ebp-10H] cmp edi, eax jl SHORT G_M000_IG12 G_M000_IG17: lea edx, bword ptr [esi+08H] call CORINFO_HELP_ASSIGN_REF_EBX G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG19: call CORINFO_HELP_OVERFLOW G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 333 51: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:Resize(int,bool) [Tier-0 switched to FullOpts, IL size=242, code size=333] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine+Signals+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 52: JIT compiled BenchmarkDotNet.Engines.Engine+Signals+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 53: JIT compiled BenchmarkDotNet.Engines.Engine+Signals+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int]):System.Collections.Generic.Dictionary`2[System.__Canon,int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: push gword ptr [ebp+0CH] push 0 push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.Dictionary`2[System.__Canon,int]] G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 86 54: JIT compiled System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int]) [Tier0, IL size=10, code size=86] ; Assembly listing for method System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.Dictionary`2[System.__Canon,int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 72 xor eax, eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov eax, ecx mov esi, edx mov edi, gword ptr [ebp+10H] mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov gword ptr [ebp-38H], eax test eax, eax je G_M000_IG57 mov eax, gword ptr [ebp-38H] test esi, esi je G_M000_IG58 test edi, edi je G_M000_IG59 xor ecx, ecx mov dword ptr [ebp-24H], ecx mov edx, dword ptr [ebx+0CH] mov edx, dword ptr [edx+10H] test edx, edx je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov gword ptr [ebp-38H], eax mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax mov edx, ecx mov eax, gword ptr [ebp-38H] G_M000_IG05: mov ecx, edx mov gword ptr [ebp-38H], eax mov edx, eax call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-3CH], eax test eax, eax je G_M000_IG41 G_M000_IG06: mov eax, gword ptr [ebp-3CH] mov ecx, dword ptr [ebx+0CH] cmp dword ptr [ecx+0CH], 32 jle SHORT G_M000_IG10 G_M000_IG07: mov ecx, dword ptr [ecx+20H] test ecx, ecx je SHORT G_M000_IG09 G_M000_IG08: mov dword ptr [ebp-34H], ecx jmp SHORT G_M000_IG12 G_M000_IG09: jmp SHORT G_M000_IG11 G_M000_IG10: G_M000_IG11: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-34H], eax mov eax, gword ptr [ebp-3CH] G_M000_IG12: mov ecx, eax mov eax, dword ptr [ebp-34H] nop call [eax] mov dword ptr [ebp-24H], eax test eax, eax jne SHORT G_M000_IG17 mov ecx, dword ptr [ebx+0CH] mov ecx, dword ptr [ecx+14H] test ecx, ecx je SHORT G_M000_IG14 G_M000_IG13: jmp SHORT G_M000_IG15 G_M000_IG14: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax G_M000_IG15: call CORINFO_HELP_NEWSFAST mov ebx, eax push gword ptr [ebp+0CH] mov ecx, ebx xor edx, edx call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov eax, ebx G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG17: mov ecx, dword ptr [ebx+0CH] cmp dword ptr [ecx+0CH], 36 jle SHORT G_M000_IG20 G_M000_IG18: mov edx, dword ptr [ecx+24H] test edx, edx je SHORT G_M000_IG20 G_M000_IG19: jmp SHORT G_M000_IG21 G_M000_IG20: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edx, eax G_M000_IG21: mov ecx, gword ptr [ebp-3CH] mov eax, ecx mov gword ptr [ebp-44H], eax cmp dword ptr [eax], edx jne SHORT G_M000_IG29 mov eax, gword ptr [ebp-44H] mov ecx, dword ptr [ebx+0CH] cmp dword ptr [ecx+0CH], 48 jle SHORT G_M000_IG25 G_M000_IG22: mov edx, dword ptr [ecx+30H] test edx, edx je SHORT G_M000_IG24 G_M000_IG23: jmp SHORT G_M000_IG27 G_M000_IG24: jmp SHORT G_M000_IG26 G_M000_IG25: G_M000_IG26: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edx, eax mov eax, gword ptr [ebp-44H] G_M000_IG27: push edi push gword ptr [ebp+0CH] push edx mov edx, esi mov ecx, eax call [System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.KeyValuePair`2[int,System.__Canon][],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.Dictionary`2[System.__Canon,int]] G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG29: mov edx, dword ptr [ebx+0CH] cmp dword ptr [edx+0CH], 40 jle SHORT G_M000_IG32 G_M000_IG30: mov eax, dword ptr [edx+28H] test eax, eax je SHORT G_M000_IG32 G_M000_IG31: jmp SHORT G_M000_IG33 G_M000_IG32: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD G_M000_IG33: mov ecx, eax mov edx, gword ptr [ebp-3CH] call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-48H], eax test eax, eax je SHORT G_M000_IG41 mov eax, gword ptr [ebp-48H] mov ecx, dword ptr [ebx+0CH] cmp dword ptr [ecx+0CH], 44 jle SHORT G_M000_IG37 G_M000_IG34: mov edx, dword ptr [ecx+2CH] test edx, edx je SHORT G_M000_IG36 G_M000_IG35: jmp SHORT G_M000_IG39 G_M000_IG36: jmp SHORT G_M000_IG38 G_M000_IG37: G_M000_IG38: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edx, eax mov eax, gword ptr [ebp-48H] G_M000_IG39: push edi push gword ptr [ebp+0CH] push edx mov edx, esi mov ecx, eax call [System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.List`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.Dictionary`2[System.__Canon,int]] G_M000_IG40: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG41: mov ecx, dword ptr [ebx+0CH] mov ecx, dword ptr [ecx+14H] test ecx, ecx je SHORT G_M000_IG43 G_M000_IG42: jmp SHORT G_M000_IG44 G_M000_IG43: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax G_M000_IG44: call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-50H], eax push gword ptr [ebp+0CH] mov ecx, eax mov edx, dword ptr [ebp-24H] call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov eax, gword ptr [ebp-50H] mov gword ptr [ebp-40H], eax mov ecx, dword ptr [ebx+0CH] mov ecx, dword ptr [ecx+18H] test ecx, ecx je SHORT G_M000_IG46 G_M000_IG45: mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG47 G_M000_IG46: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-30H], eax G_M000_IG47: mov ecx, gword ptr [ebp-38H] mov eax, dword ptr [ebp-30H] nop call [eax] mov gword ptr [ebp-4CH], eax G_M000_IG48: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG52 mov ecx, dword ptr [ebx+0CH] mov eax, dword ptr [ecx+1CH] test eax, eax je SHORT G_M000_IG50 G_M000_IG49: mov ebx, eax jmp SHORT G_M000_IG51 G_M000_IG50: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ebx, eax G_M000_IG51: mov eax, ebx lea edx, [ebp-2CH] mov ecx, gword ptr [ebp-4CH] nop call [eax] push dword ptr [ebp-28H] push gword ptr [ebp-2CH] mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon]:Invoke(System.Collections.Generic.KeyValuePair`2[int,System.__Canon]):System.__Canon:this mov gword ptr [ebp-54H], eax push dword ptr [ebp-28H] push gword ptr [ebp-2CH] mov ecx, gword ptr [edi+04H] call [edi+0CH]System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int]:Invoke(System.Collections.Generic.KeyValuePair`2[int,System.__Canon]):int:this push eax push 2 mov ecx, gword ptr [ebp-40H] mov edx, gword ptr [ebp-54H] call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):bool:this] mov ecx, gword ptr [ebp-4CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG51 G_M000_IG52: mov ecx, gword ptr [ebp-4CH] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG55 G_M000_IG53: cmp gword ptr [ebp-4CH], 0 je SHORT G_M000_IG54 mov ecx, gword ptr [ebp-4CH] call [System.IDisposable:Dispose():this] G_M000_IG54: pop eax jmp eax G_M000_IG55: mov eax, gword ptr [ebp-40H] G_M000_IG56: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG57: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG58: mov ecx, 9 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG59: mov ecx, 2 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 751 55: JIT compiled System.Linq.Enumerable:ToDictionary[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],System.__Canon],System.Func`2[System.Collections.Generic.KeyValuePair`2[int,System.__Canon],int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier-0 switched to FullOpts, IL size=175, code size=751] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Count():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+18H] mov edx, gword ptr [ebp-04H] sub eax, dword ptr [edx+20H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 23 56: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Count() [Tier0, IL size=14, code size=23] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,int]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] cmp dword ptr [ebp-08H], 0 jge SHORT G_M000_IG03 mov ecx, 22 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int)] G_M000_IG03: cmp dword ptr [ebp-08H], 0 jle SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:Initialize(int):int:this] G_M000_IG04: mov edx, gword ptr [ebp-04H] mov gword ptr [ebp-10H], edx mov edx, gword ptr [ebp+08H] mov gword ptr [ebp-14H], edx cmp gword ptr [ebp+08H], 0 jne SHORT G_M000_IG08 mov edx, gword ptr [ebp-04H] mov edx, dword ptr [edx] mov dword ptr [ebp-20H], edx mov ecx, dword ptr [ebp-20H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-20H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-20H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax G_M000_IG07: mov ecx, dword ptr [ebp-1CH] call [System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default():System.Collections.Generic.EqualityComparer`1[System.__Canon]] mov gword ptr [ebp-14H], eax G_M000_IG08: mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+0CH] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG13 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+0CH] call [System.Collections.Generic.NonRandomizedStringEqualityComparer:GetStringComparer(System.Object):System.Collections.Generic.IEqualityComparer`1[System.String]] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG13 mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-24H], ecx mov ecx, dword ptr [ebp-24H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp-24H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG11 G_M000_IG10: mov ecx, dword ptr [ebp-24H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG11: mov ecx, dword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [CORINFO_HELP_CHKCASTANY] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG12: mov esp, ebp pop ebp ret 4 G_M000_IG13: mov esp, ebp pop ebp ret 4 ; Total bytes of code 293 57: JIT compiled System.Collections.Generic.Dictionary`2[System.__Canon,int]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier0, IL size=136, code size=293] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,int]:Initialize(int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-08H] call [System.Collections.HashHelpers:GetPrime(int):int] mov dword ptr [ebp-0CH], eax mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] mov edx, dword ptr [ebp-0CH] call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-04H] mov dword ptr [edx+1CH], -1 mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, dword ptr [ebp-0CH] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 161 58: JIT compiled System.Collections.Generic.Dictionary`2[System.__Canon,int]:Initialize(int) [Tier0, IL size=44, code size=161] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Count():int:this] test eax, eax je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-18H], ecx mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-18H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] add edx, 4 mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:GetEnumerator():System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:this] mov eax, gword ptr [ebp-10H] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] G_M000_IG06: mov esp, ebp pop ebp ret G_M000_IG07: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG10: mov ecx, dword ptr [ebp-0CH] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov eax, gword ptr [eax] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] G_M000_IG11: mov esp, ebp pop ebp ret ; Total bytes of code 197 59: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator() [Tier0, IL size=30, code size=197] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:GetEnumerator():System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 40 vxorps xmm4, xmm4 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 60: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:GetEnumerator() [Tier0, IL size=8, code size=129] ; Assembly listing for method System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:.ctor(System.Collections.Generic.Dictionary`2[int,System.__Canon],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+24H] mov edx, bword ptr [ebp-04H] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] xor edx, edx mov dword ptr [eax+08H], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] mov dword ptr [eax+0CH], edx mov eax, bword ptr [ebp-04H] xor edx, edx mov dword ptr [eax+10H], edx mov dword ptr [eax+14H], edx G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 69 61: JIT compiled System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:.ctor(System.Collections.Generic.Dictionary`2[int,System.__Canon],int) [Tier0, IL size=46, code size=69] ; Assembly listing for method System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: mov edx, dword ptr [ecx+04H] mov eax, gword ptr [ecx] cmp edx, dword ptr [eax+24H] jne SHORT G_M000_IG09 G_M000_IG03: mov edx, dword ptr [ecx+08H] mov eax, gword ptr [ecx] cmp edx, dword ptr [eax+18H] jb SHORT G_M000_IG06 G_M000_IG04: mov eax, gword ptr [ecx] mov eax, dword ptr [eax+18H] inc eax mov dword ptr [ecx+08H], eax xor eax, eax mov dword ptr [ecx+10H], eax mov dword ptr [ecx+14H], eax G_M000_IG05: pop esi pop ebp ret G_M000_IG06: mov edx, gword ptr [ecx] mov edx, gword ptr [edx+08H] mov eax, dword ptr [ecx+08H] lea esi, [eax+01H] mov dword ptr [ecx+08H], esi cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG10 shl eax, 4 lea edx, bword ptr [edx+eax+08H] cmp dword ptr [edx+08H], -1 jl SHORT G_M000_IG03 G_M000_IG07: mov eax, dword ptr [edx+0CH] mov esi, gword ptr [edx] add ecx, 16 mov edx, ecx call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI mov dword ptr [ecx+04H], eax mov eax, 1 G_M000_IG08: pop esi pop ebp ret G_M000_IG09: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()] int3 G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 115 62: JIT compiled System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=146, code size=115] ; Assembly listing for method System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:get_Current():System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 8 mov bword ptr [ebp-0CH], ecx mov bword ptr [ebp-10H], edx G_M000_IG02: mov esi, bword ptr [ebp-0CH] add esi, 16 mov edi, bword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_BYREF movsd G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 4 ; Total bytes of code 38 63: JIT compiled System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:get_Current() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals+<>c:<.cctor>b__5_0(System.Collections.Generic.KeyValuePair`2[int,System.String]):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+08H] mov edx, 0xD1FFAB1E call [System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Value():System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 27 64: JIT compiled BenchmarkDotNet.Engines.Engine+Signals+<>c:<.cctor>b__5_0(System.Collections.Generic.KeyValuePair`2[int,System.String]) [Tier0, IL size=8, code size=27] ; Assembly listing for method System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Value():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 21 65: JIT compiled System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Value() [Tier0, IL size=7, code size=21] ; Assembly listing for method BenchmarkDotNet.Engines.Engine+Signals+<>c:<.cctor>b__5_1(System.Collections.Generic.KeyValuePair`2[int,System.String]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+08H] mov edx, 0xD1FFAB1E call [System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Key():int:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 27 66: JIT compiled BenchmarkDotNet.Engines.Engine+Signals+<>c:<.cctor>b__5_1(System.Collections.Generic.KeyValuePair`2[int,System.String]) [Tier0, IL size=8, code size=27] ; Assembly listing for method System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Key():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 67: JIT compiled System.Collections.Generic.KeyValuePair`2[int,System.__Canon]:get_Key() [Tier0, IL size=7, code size=22] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 80 mov esi, ecx mov edi, edx G_M000_IG02: test edi, edi je G_M000_IG30 cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, esi xor edx, edx call [System.Collections.Generic.Dictionary`2[System.__Canon,int]:Initialize(int):int:this] G_M000_IG04: mov ebx, gword ptr [esi+08H] mov eax, gword ptr [esi+0CH] mov gword ptr [ebp-4CH], eax mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+18H] test edx, edx je SHORT G_M000_IG06 G_M000_IG05: mov eax, gword ptr [ebp-4CH] mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG07 G_M000_IG06: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax mov eax, gword ptr [ebp-4CH] G_M000_IG07: mov gword ptr [ebp-4CH], eax 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 697 68: 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=697] ; Assembly listing for method System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 16 69: JIT compiled System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:Dispose() [Tier0, IL size=1, code size=16] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Item(int):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int):byref:this] mov bword ptr [ebp-0CH], eax cmp bword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov eax, bword ptr [ebp-0CH] mov eax, gword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, dword ptr [ebp-08H] call [System.ThrowHelper:ThrowKeyNotFoundException[int](int)] xor eax, eax mov gword ptr [ebp-10H], eax mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 71 70: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:get_Item(int) [Tier0, IL size=39, code size=71] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int):byref:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 52 mov edi, ecx mov esi, edx G_M000_IG02: cmp gword ptr [edi+04H], 0 je G_M000_IG20 G_M000_IG03: mov ebx, gword ptr [edi+0CH] mov gword ptr [ebp-38H], ebx test ebx, ebx jne SHORT G_M000_IG09 mov ebx, esi mov eax, gword ptr [edi+04H] mov gword ptr [ebp-3CH], eax push 0 push ebx mov edx, dword ptr [eax+04H] mov dword ptr [ebp-18H], edx push 0 push edx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG04 test edx, edx jne G_M000_IG21 jmp SHORT G_M000_IG05 G_M000_IG04: cmp edx, -1 jne G_M000_IG21 G_M000_IG05: mov ecx, eax cmp ecx, dword ptr [ebp-18H] jae G_M000_IG23 mov edx, gword ptr [ebp-3CH] mov ecx, dword ptr [edx+4*ecx+08H] mov eax, gword ptr [edi+08H] xor edx, edx dec ecx align [0 bytes for IG06] G_M000_IG06: mov edi, dword ptr [eax+04H] cmp edi, ecx jbe G_M000_IG20 shl ecx, 4 lea ecx, bword ptr [eax+ecx+08H] cmp dword ptr [ecx+04H], esi jne SHORT G_M000_IG08 G_M000_IG07: cmp dword ptr [ecx+0CH], ebx je G_M000_IG17 G_M000_IG08: mov ecx, dword ptr [ecx+08H] inc edx cmp edi, edx jb G_M000_IG22 jmp SHORT G_M000_IG06 G_M000_IG09: mov ecx, ebx mov edx, esi call [System.Collections.Generic.IEqualityComparer`1[int]:GetHashCode(int):int:this] mov dword ptr [ebp-10H], eax mov edx, gword ptr [edi+04H] mov gword ptr [ebp-40H], edx push 0 push eax mov ecx, dword ptr [edx+04H] mov dword ptr [ebp-1CH], ecx push 0 push ecx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG10 test edx, edx jne SHORT G_M000_IG21 jmp SHORT G_M000_IG11 G_M000_IG10: cmp edx, -1 jne SHORT G_M000_IG21 G_M000_IG11: mov edx, eax cmp edx, dword ptr [ebp-1CH] jae SHORT G_M000_IG23 mov ecx, gword ptr [ebp-40H] mov edx, dword ptr [ecx+4*edx+08H] mov edi, gword ptr [edi+08H] xor eax, eax mov dword ptr [ebp-14H], eax dec edx G_M000_IG12: mov ecx, dword ptr [edi+04H] mov dword ptr [ebp-20H], ecx cmp ecx, edx jbe SHORT G_M000_IG20 shl edx, 4 lea edx, bword ptr [edi+edx+08H] mov ebx, dword ptr [ebp-10H] cmp dword ptr [edx+04H], ebx jne SHORT G_M000_IG15 G_M000_IG13: mov bword ptr [ebp-34H], edx mov ebx, dword ptr [edx+0CH] push esi mov edx, ebx mov ecx, gword ptr [ebp-38H] call [System.Collections.Generic.IEqualityComparer`1[int]:Equals(int,int):bool:this] test eax, eax jne SHORT G_M000_IG16 G_M000_IG14: mov edx, bword ptr [ebp-34H] G_M000_IG15: mov edx, dword ptr [edx+08H] mov eax, dword ptr [ebp-14H] inc eax cmp dword ptr [ebp-20H], eax jb SHORT G_M000_IG22 mov dword ptr [ebp-14H], eax jmp SHORT G_M000_IG12 G_M000_IG16: mov ecx, bword ptr [ebp-34H] G_M000_IG17: cmp byte ptr [ecx], cl G_M000_IG18: mov eax, ecx G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG20: xor ecx, ecx jmp SHORT G_M000_IG18 G_M000_IG21: call CORINFO_HELP_OVERFLOW G_M000_IG22: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG23: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 329 71: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int) [Tier-0 switched to FullOpts, IL size=299, code size=329] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 47 72: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String) [Tier0, IL size=13, code size=47] ; Assembly listing for method System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 11 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov ebx, dword ptr [ebp+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_IG29 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 align [0 bytes for IG21] G_M000_IG19: mov eax, esi jmp G_M000_IG29 G_M000_IG20: mov edi, ecx cmp eax, 16 jle G_M000_IG26 movzx edx, dl vmovd xmm0, edx vpbroadcastb ymm0, ymm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb ymm1, ymm1 cmp eax, 32 jle SHORT G_M000_IG22 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_IG23 add edi, 64 cmp edi, edx jb SHORT G_M000_IG21 G_M000_IG22: lea eax, bword ptr [ecx+2*eax-20H] cmp edi, eax mov edx, edi cmova edx, eax jmp SHORT G_M000_IG24 G_M000_IG23: mov eax, edi sub eax, ecx shr eax, 1 vpermq ymm0, ymm2, -40 vpmovmskb edx, ymm0 xor ecx, ecx tzcnt ecx, edx add eax, ecx jmp G_M000_IG29 G_M000_IG24: vmovups ymm2, ymmword ptr [edx] vpackuswb ymm2, ymm2, ymmword ptr [eax] vpcmpeqb ymm0, ymm0, ymm2 vpcmpeqb ymm1, ymm1, ymm2 vpor ymm0, ymm0, ymm1 vptest ymm0, ymm0 je G_M000_IG28 vpermq ymm0, ymm0, -40 vpmovmskb ebx, ymm0 xor edi, edi tzcnt edi, ebx cmp edi, 16 jl SHORT G_M000_IG25 mov edx, eax add edi, -16 G_M000_IG25: sub edx, ecx shr edx, 1 lea eax, [edx+edi] jmp SHORT G_M000_IG29 G_M000_IG26: movzx edx, dl vmovd xmm0, edx vpbroadcastb xmm0, xmm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb xmm1, xmm1 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 jl SHORT G_M000_IG27 mov edx, eax add esi, -8 G_M000_IG27: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp SHORT G_M000_IG29 G_M000_IG28: mov eax, -1 G_M000_IG29: vzeroupper pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 579 73: JIT compiled System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int) [Tier-0 switched to FullOpts, IL size=825, code size=579] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 74: JIT compiled BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 75: JIT compiled BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:SkipWhile[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 mov ecx, 12 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG07: push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:SkipWhileIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG08: mov esp, ebp pop ebp ret 4 ; Total bytes of code 115 76: JIT compiled System.Linq.Enumerable:SkipWhile[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]) [Tier0, IL size=28, code size=115] ; Assembly listing for method System.Linq.Enumerable:SkipWhileIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, -2 call [System.Linq.Enumerable+d__247`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 77: 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__247`1[System.__Canon]:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+1CH], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+20H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 78: JIT compiled System.Linq.Enumerable+d__247`1[System.__Canon]:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method System.Linq.Enumerable:Skip[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp dword ptr [ebp-0CH], 0 jg G_M000_IG13 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-24H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-24H], eax G_M000_IG06: mov ecx, dword ptr [ebp-24H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG10 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-28H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-28H], eax G_M000_IG09: mov ecx, dword ptr [ebp-28H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] test eax, eax je SHORT G_M000_IG12 G_M000_IG10: mov eax, gword ptr [ebp-08H] G_M000_IG11: mov esp, ebp pop ebp ret 4 G_M000_IG12: xor ecx, ecx mov dword ptr [ebp-0CH], ecx jmp G_M000_IG21 G_M000_IG13: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG15 G_M000_IG14: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG16 G_M000_IG15: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG16: mov ecx, dword ptr [ebp-14H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG21 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG18 G_M000_IG17: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG19 G_M000_IG18: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-1CH], eax G_M000_IG19: mov ecx, dword ptr [ebp-1CH] mov dword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-10H] mov edx, dword ptr [ebp-0CH] mov eax, dword ptr [ebp-20H] nop call [eax] G_M000_IG20: mov esp, ebp pop ebp ret 4 G_M000_IG21: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG23 G_M000_IG22: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG24 G_M000_IG23: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-18H], eax G_M000_IG24: push dword ptr [ebp-18H] mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-0CH] call [System.Linq.Enumerable:SkipIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG25: mov esp, ebp pop ebp ret 4 ; Total bytes of code 379 79: JIT compiled System.Linq.Enumerable:Skip[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int) [Tier0, IL size=63, code size=379] ; Assembly listing for method System.Linq.Enumerable:SkipIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-24H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 jne SHORT G_M000_IG10 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-28H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-28H], eax G_M000_IG08: mov ecx, dword ptr [ebp-28H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax push dword ptr [ebp-0CH] push -1 mov ecx, gword ptr [ebp-24H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],int,int):this] mov eax, gword ptr [ebp-24H] mov gword ptr [ebp-14H], eax mov eax, gword ptr [ebp-14H] G_M000_IG09: mov esp, ebp pop ebp ret 4 G_M000_IG10: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG12 G_M000_IG11: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-20H], eax G_M000_IG13: mov ecx, dword ptr [ebp-20H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push dword ptr [ebp-0CH] push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-10H] call [System.Linq.Enumerable+ListPartition`1[System.__Canon]:.ctor(System.Collections.Generic.IList`1[System.__Canon],int,int):this] mov eax, gword ptr [ebp-1CH] mov gword ptr [ebp-14H], eax mov eax, gword ptr [ebp-14H] G_M000_IG14: mov esp, ebp pop ebp ret 4 ; Total bytes of code 268 80: JIT compiled System.Linq.Enumerable:SkipIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int) [Tier0, IL size=36, code size=268] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] mov dword ptr [eax+18H], edx mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 59 81: JIT compiled System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],int,int) [Tier0, IL size=28, code size=59] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+08H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 82: JIT compiled System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor() [Tier0, IL size=18, code size=31] ; Assembly listing for method System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov edx, dword ptr [ebp-0CH] mov edx, dword ptr [edx+0CH] mov edx, dword ptr [edx+08H] mov dword ptr [ebp-14H], edx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: push dword ptr [ebp-14H] lea edx, [ebp-10H] mov ecx, gword ptr [ebp-08H] call [System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 76 83: JIT compiled System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=9, code size=76] ; Assembly listing for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 108 vxorps xmm4, xmm4 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 84: JIT compiled System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref) [Tier0, IL size=113, code size=676] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:TryGetFirst(byref):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 64 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-28H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx mov bword ptr [ebp-1CH], edx G_M000_IG02: mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-3CH], ecx mov ecx, dword ptr [ebp-3CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-3CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-2CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-3CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-2CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-2CH] mov dword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-18H] mov ecx, gword ptr [ecx+10H] mov eax, dword ptr [ebp-30H] nop call [eax] mov gword ptr [ebp-20H], eax G_M000_IG06: mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-20H] call [System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBeforeFirst(System.Collections.Generic.IEnumerator`1[System.__Canon]):bool:this] test eax, eax je SHORT G_M000_IG10 mov ecx, gword ptr [ebp-20H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG10 mov ecx, bword ptr [ebp-1CH] mov byte ptr [ecx], 1 mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-40H], ecx mov ecx, dword ptr [ebp-40H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-40H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-34H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-40H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-34H], eax G_M000_IG09: mov ecx, dword ptr [ebp-34H] mov dword ptr [ebp-38H], ecx mov ecx, gword ptr [ebp-20H] mov eax, dword ptr [ebp-38H] nop call [eax] mov gword ptr [ebp-24H], eax mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG11 jmp SHORT G_M000_IG13 G_M000_IG10: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG12 jmp SHORT G_M000_IG13 G_M000_IG11: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG17 G_M000_IG12: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG15 G_M000_IG13: cmp gword ptr [ebp-20H], 0 je SHORT G_M000_IG14 mov ecx, gword ptr [ebp-20H] call [System.IDisposable:Dispose():this] G_M000_IG14: pop eax jmp eax G_M000_IG15: mov eax, bword ptr [ebp-1CH] mov byte ptr [eax], 0 xor eax, eax mov gword ptr [ebp-28H], eax mov eax, gword ptr [ebp-28H] G_M000_IG16: mov esp, ebp pop ebp ret G_M000_IG17: mov eax, gword ptr [ebp-24H] G_M000_IG18: mov esp, ebp pop ebp ret ; Total bytes of code 319 85: 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__247`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+1CH], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+20H] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+1CH], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Linq.Enumerable+d__247`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 86: JIT compiled System.Linq.Enumerable+d__247`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=67, code size=132] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBeforeFirst(System.Collections.Generic.IEnumerator`1[System.__Canon]):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+18H] mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] push dword ptr [ecx] mov ecx, dword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBefore(int,System.Collections.Generic.IEnumerator`1[System.__Canon]):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 42 87: JIT compiled System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBeforeFirst(System.Collections.Generic.IEnumerator`1[System.__Canon]) [Tier0, IL size=13, code size=42] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBefore(int,System.Collections.Generic.IEnumerator`1[System.__Canon]):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, dword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipAndCount(int,System.Collections.Generic.IEnumerator`1[System.__Canon]):int] cmp eax, dword ptr [ebp-08H] sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 48 88: JIT compiled System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipBefore(int,System.Collections.Generic.IEnumerator`1[System.__Canon]) [Tier0, IL size=11, code size=48] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipAndCount(int,System.Collections.Generic.IEnumerator`1[System.__Canon]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, dword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipAndCount(uint,System.Collections.Generic.IEnumerator`1[System.__Canon]):uint] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 39 89: JIT compiled System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipAndCount(int,System.Collections.Generic.IEnumerator`1[System.__Canon]) [Tier0, IL size=8, code size=39] ; Assembly listing for method System.Linq.Enumerable+EnumerablePartition`1[System.__Canon]:SkipAndCount(uint,System.Collections.Generic.IEnumerator`1[System.__Canon]):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov edi, edx G_M000_IG02: xor ebx, ebx test esi, esi jbe SHORT G_M000_IG04 G_M000_IG03: mov ecx, edi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG06 inc ebx cmp ebx, esi jb SHORT G_M000_IG03 G_M000_IG04: mov eax, esi G_M000_IG05: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG06: mov eax, ebx G_M000_IG07: pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 51 90: 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__247`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 24 xor eax, eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-24H], ecx G_M000_IG02: mov eax, gword ptr [ebp-24H] mov ecx, dword ptr [eax+1CH] cmp ecx, 2 ja SHORT G_M000_IG03 lea edx, [@RWD00] mov edx, dword ptr [edx+4*ecx] lea eax, G_M000_IG02 add edx, eax jmp edx G_M000_IG03: xor ebx, ebx jmp G_M000_IG21 G_M000_IG04: mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], -1 mov ecx, gword ptr [ebp-24H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+0CH] test eax, eax je SHORT G_M000_IG06 G_M000_IG05: jmp SHORT G_M000_IG07 G_M000_IG06: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG07: mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+08H] nop call [eax] mov edx, gword ptr [ebp-24H] lea edx, bword ptr [edx+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], -3 mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG11 mov ecx, gword ptr [ebp-24H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov esi, dword ptr [edx+08H] test esi, esi je SHORT G_M000_IG09 G_M000_IG08: jmp SHORT G_M000_IG10 G_M000_IG09: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov esi, eax G_M000_IG10: mov eax, esi mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] nop call [eax] mov edi, eax mov ecx, gword ptr [ebp-24H] mov eax, gword ptr [ecx+10H] mov ecx, gword ptr [eax+04H] mov edx, edi call [eax+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax je SHORT G_M000_IG12 mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG10 G_M000_IG11: mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], -1 mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] test ecx, ecx je G_M000_IG18 call [System.IDisposable:Dispose():this] jmp G_M000_IG18 G_M000_IG12: mov edx, gword ptr [ebp-24H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EDI mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], 1 mov ebx, 1 jmp G_M000_IG21 G_M000_IG13: mov ecx, gword ptr [ebp-24H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov esi, dword ptr [edx+08H] test esi, esi je SHORT G_M000_IG15 G_M000_IG14: jmp SHORT G_M000_IG16 G_M000_IG15: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov esi, eax G_M000_IG16: mov eax, esi mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] nop call [eax] mov edx, gword ptr [ebp-24H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], 2 mov ebx, 1 jmp SHORT G_M000_IG21 G_M000_IG17: mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], -3 mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG13 xor ebx, ebx mov ecx, gword ptr [ebp-24H] mov dword ptr [ecx+1CH], -1 mov ecx, gword ptr [ebp-24H] cmp gword ptr [ecx+18H], 0 je SHORT G_M000_IG21 mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+18H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG21 G_M000_IG18: mov ecx, gword ptr [ebp-24H] xor eax, eax mov gword ptr [ecx+18H], eax G_M000_IG19: xor ebx, ebx jmp SHORT G_M000_IG21 G_M000_IG20: mov ecx, gword ptr [ebp-24H] call [System.Linq.Enumerable+d__247`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 91: JIT compiled System.Linq.Enumerable+d__247`1[System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=222, code size=454] ; Assembly listing for method BenchmarkDotNet.Autogenerated.UniqueProgramName+<>c:b__1_0(System.String):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.String:op_Inequality(System.String,System.String):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 92: 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__247`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 93: JIT compiled System.Linq.Enumerable+d__247`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Linq.Enumerable+d__247`1[System.__Canon]:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx+1CH] mov dword ptr [ebp-1CH], ecx cmp dword ptr [ebp-1CH], -3 je SHORT G_M000_IG03 mov ecx, dword ptr [ebp-1CH] dec ecx cmp ecx, 1 ja SHORT G_M000_IG06 G_M000_IG03: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG04 jmp SHORT G_M000_IG05 G_M000_IG04: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, gword ptr [ebp-18H] call [System.Linq.Enumerable+d__247`1[System.__Canon]:<>m__Finally1():this] pop eax jmp eax G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 84 94: JIT compiled System.Linq.Enumerable+d__247`1[System.__Canon]:System.IDisposable.Dispose() [Tier0, IL size=29, code size=84] ; Assembly listing for method System.Linq.Enumerable+d__247`1[System.__Canon]:<>m__Finally1():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov dword ptr [ecx+1CH], -1 mov ecx, gword ptr [ebp-04H] cmp gword ptr [ecx+18H], 0 je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+18H] call [System.IDisposable:Dispose():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 42 95: JIT compiled System.Linq.Enumerable+d__247`1[System.__Canon]:<>m__Finally1() [Tier0, IL size=27, code size=42] ; Assembly listing for method (dynamicClass):InvokeStub_EventSourceAttribute.set_Guid(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, gword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventSourceAttribute:set_Guid(System.String):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 96: JIT compiled (dynamicClass):InvokeStub_EventSourceAttribute.set_Guid(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventSourceAttribute.set_Name(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, gword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventSourceAttribute:set_Name(System.String):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 97: JIT compiled (dynamicClass):InvokeStub_EventSourceAttribute.set_Name(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method System.Buffer:Memmove(byref,byref,uint) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1594866 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov esi, dword ptr [ebp+08H] G_M000_IG02: mov eax, ecx sub eax, edx cmp eax, esi jb G_M000_IG24 G_M000_IG03: mov eax, edx sub eax, ecx cmp eax, esi jb G_M000_IG24 G_M000_IG04: lea edi, bword ptr [edx+esi] lea ebx, bword ptr [ecx+esi] cmp esi, 16 jbe SHORT G_M000_IG10 G_M000_IG05: cmp esi, 64 ja SHORT G_M000_IG15 G_M000_IG06: vmovups xmm0, xmmword ptr [edx] vmovups xmmword ptr [ecx], xmm0 cmp esi, 32 jbe SHORT G_M000_IG08 G_M000_IG07: vmovups xmm0, xmmword ptr [edx+10H] vmovups xmmword ptr [ecx+10H], xmm0 cmp esi, 48 ja G_M000_IG23 G_M000_IG08: vmovups xmm0, xmmword ptr [edi-10H] vmovups xmmword ptr [ebx-10H], xmm0 G_M000_IG09: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG10: test esi, 24 jne SHORT G_M000_IG20 G_M000_IG11: test esi, 4 jne SHORT G_M000_IG22 G_M000_IG12: test esi, esi je SHORT G_M000_IG09 G_M000_IG13: movzx edx, byte ptr [edx] mov byte ptr [ecx], dl test esi, 2 je SHORT G_M000_IG09 G_M000_IG14: movsx ecx, word ptr [edi-02H] mov word ptr [ebx-02H], cx jmp SHORT G_M000_IG09 G_M000_IG15: cmp esi, 0x800 ja SHORT G_M000_IG25 G_M000_IG16: mov eax, esi shr eax, 6 G_M000_IG17: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu ymm0, ymmword ptr [edx+20H] vmovdqu ymmword ptr [ecx+20H], ymm0 add ecx, 64 add edx, 64 dec eax jne SHORT G_M000_IG17 G_M000_IG18: and esi, 63 cmp esi, 16 ja G_M000_IG06 G_M000_IG19: jmp SHORT G_M000_IG08 G_M000_IG20: mov eax, dword ptr [edx] mov dword ptr [ecx], eax mov edx, dword ptr [edx+04H] mov dword ptr [ecx+04H], edx mov ecx, dword ptr [edi-08H] mov dword ptr [ebx-08H], ecx G_M000_IG21: mov ecx, dword ptr [edi-04H] mov dword ptr [ebx-04H], ecx jmp SHORT G_M000_IG09 G_M000_IG22: mov edx, dword ptr [edx] mov dword ptr [ecx], edx jmp SHORT G_M000_IG21 G_M000_IG23: vmovups xmm0, xmmword ptr [edx+20H] vmovups xmmword ptr [ecx+20H], xmm0 jmp G_M000_IG08 G_M000_IG24: cmp ecx, edx je G_M000_IG09 G_M000_IG25: push esi call [System.Buffer:_Memmove(byref,byref,uint)] jmp G_M000_IG09 ; Total bytes of code 263 98: JIT compiled System.Buffer:Memmove(byref,byref,uint) [Tier1 with Static PGO, IL size=534, code size=263] ; Assembly listing for method System.RuntimeType:FilterPreCalculate(bool,bool,bool):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 57141 G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: mov eax, 16 mov esi, 32 test cl, cl cmove eax, esi test dl, dl je SHORT G_M000_IG06 G_M000_IG03: or eax, 2 cmp byte ptr [ebp+08H], 0 jne SHORT G_M000_IG08 G_M000_IG04: or eax, 4 G_M000_IG05: pop esi pop ebp ret 4 G_M000_IG06: cmp byte ptr [ebp+08H], 0 je SHORT G_M000_IG04 G_M000_IG07: or eax, 8 jmp SHORT G_M000_IG05 G_M000_IG08: or eax, 72 jmp SHORT G_M000_IG05 ; Total bytes of code 56 99: JIT compiled System.RuntimeType:FilterPreCalculate(bool,bool,bool) [Tier1 with Static PGO, IL size=48, code size=56] ; Assembly listing for method System.RuntimeType+ListBuilder`1[System.__Canon]:Add(System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 173944 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov esi, ecx mov edi, edx mov ecx, dword ptr [ebp+08H] G_M000_IG02: mov ebx, dword ptr [esi+08H] test ebx, ebx je SHORT G_M000_IG08 G_M000_IG03: cmp ebx, 1 je SHORT G_M000_IG09 G_M000_IG04: cmp dword ptr [esi+0CH], ebx je SHORT G_M000_IG13 G_M000_IG05: mov ecx, gword ptr [esi] mov edx, dword ptr [esi+08H] push edi call CORINFO_HELP_ARRADDR_ST G_M000_IG06: inc dword ptr [esi+08H] G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG08: lea edx, bword ptr [esi+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI jmp SHORT G_M000_IG06 G_M000_IG09: cmp dword ptr [esi+0CH], 2 jl SHORT G_M000_IG15 G_M000_IG10: mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] cmp dword ptr [edx+04H], 24 jle SHORT G_M000_IG16 G_M000_IG11: mov edx, dword ptr [edx+18H] test edx, edx je SHORT G_M000_IG16 G_M000_IG12: mov dword ptr [ebp-14H], edx jmp SHORT G_M000_IG17 G_M000_IG13: mov ebx, dword ptr [esi+0CH] add ebx, ebx mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+14H] test eax, eax je SHORT G_M000_IG19 G_M000_IG14: jmp SHORT G_M000_IG18 G_M000_IG15: mov dword ptr [esi+0CH], 4 jmp SHORT G_M000_IG10 G_M000_IG16: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG17: mov edx, dword ptr [esi+0CH] mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWARR_1_OBJ mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov ecx, gword ptr [esi] push gword ptr [esi+04H] xor edx, edx call CORINFO_HELP_ARRADDR_ST jmp G_M000_IG05 G_M000_IG18: jmp SHORT G_M000_IG20 G_M000_IG19: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG20: push eax mov ecx, esi mov edx, ebx call [System.Array:Resize[System.__Canon](byref,int)] mov dword ptr [esi+0CH], ebx jmp G_M000_IG05 ; Total bytes of code 209 100: JIT compiled System.RuntimeType+ListBuilder`1[System.__Canon]:Add(System.__Canon) [Tier1 with Static PGO, IL size=154, code size=209] ; Assembly listing for method System.RuntimeType:FilterApplyMethodBase(System.Reflection.MethodBase,int,int,int,System.Type[]):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 87733 ; 2 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 16 mov esi, ecx mov edi, dword ptr [ebp+10H] G_M000_IG02: xor edi, 2 mov ecx, edi and ecx, edx cmp ecx, edx jne SHORT G_M000_IG07 G_M000_IG03: mov ebx, dword ptr [ebp+0CH] test bl, 3 je G_M000_IG29 G_M000_IG04: mov ebx, gword ptr [ebp+08H] test ebx, ebx jne SHORT G_M000_IG09 G_M000_IG05: mov eax, 1 G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG07: xor eax, eax G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG09: mov eax, dword ptr [esi] mov dword ptr [ebp-14H], eax cmp eax, 0xD1FFAB1E jne SHORT G_M000_IG16 G_M000_IG10: mov ecx, esi call [System.Reflection.RuntimeMethodInfo:FetchNonReturnParameters():System.Reflection.ParameterInfo[]:this] G_M000_IG11: mov ecx, dword ptr [ebx+04H] mov gword ptr [ebp-1CH], eax mov edx, dword ptr [eax+04H] cmp ecx, edx je SHORT G_M000_IG17 G_M000_IG12: test edi, 0x3300 je SHORT G_M000_IG07 G_M000_IG13: xor ecx, ecx mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-18H], edx cmp dword ptr [ebx+04H], edx jle SHORT G_M000_IG18 G_M000_IG14: mov ecx, esi mov esi, dword ptr [ebp-14H] mov edi, dword ptr [esi+34H] call [edi]System.Reflection.MethodBase:get_CallingConvention():int:this test al, 2 je SHORT G_M000_IG19 G_M000_IG15: cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG05 mov edx, dword ptr [ebp-18H] mov edi, gword ptr [ebp-1CH] mov dword ptr [ebp-18H], edx mov gword ptr [ebp-1CH], edi jmp SHORT G_M000_IG19 G_M000_IG16: mov ecx, esi mov eax, dword ptr [ebp-14H] mov edx, dword ptr [eax+30H] call [edx+08H]System.Reflection.MethodBase:GetParametersNoCopy():System.Reflection.ParameterInfo[]:this jmp SHORT G_M000_IG11 G_M000_IG17: test edi, 0x10000 jne SHORT G_M000_IG25 jmp G_M000_IG05 G_M000_IG18: test edi, 0xD1FFAB1E jne G_M000_IG31 G_M000_IG19: mov edx, dword ptr [ebp-18H] test edx, edx je G_M000_IG07 G_M000_IG20: lea ecx, [edx-01H] cmp dword ptr [ebx+04H], ecx jl G_M000_IG07 G_M000_IG21: mov eax, gword ptr [ebp-1CH] mov esi, gword ptr [eax+4*edx+04H] mov ecx, esi mov ebx, dword ptr [esi] mov eax, dword ptr [ebx+28H] call [eax+1CH]System.Reflection.ParameterInfo:get_ParameterType():System.Type:this cmp dword ptr [eax], 0xD1FFAB1E jne G_M000_IG32 mov ecx, eax call [System.RuntimeTypeHandle:IsArray(System.RuntimeType):bool] G_M000_IG22: test eax, eax je G_M000_IG07 G_M000_IG23: push 0 mov ecx, esi mov edx, 0xD1FFAB1E mov eax, dword ptr [ebx+2CH] call [eax+10H]System.Reflection.ParameterInfo:IsDefined(System.Type,bool):bool:this test eax, eax jne G_M000_IG05 G_M000_IG24: jmp G_M000_IG07 G_M000_IG25: test edi, 256 jne G_M000_IG05 mov eax, gword ptr [ebp-1CH] xor edi, edi jmp SHORT G_M000_IG28 G_M000_IG26: cmp edi, dword ptr [ebx+04H] jae G_M000_IG33 mov ecx, gword ptr [ebx+4*edi+08H] test ecx, ecx je SHORT G_M000_IG27 mov gword ptr [ebp-1CH], eax mov edx, gword ptr [eax+4*edi+08H] call [System.Reflection.SignatureTypeExtensions:MatchesParameterTypeExactly(System.Type,System.Reflection.ParameterInfo):bool] test eax, eax mov eax, gword ptr [ebp-1CH] je G_M000_IG07 G_M000_IG27: inc edi mov edx, dword ptr [ebp-18H] G_M000_IG28: mov dword ptr [ebp-18H], edx cmp edx, edi jg SHORT G_M000_IG26 jmp G_M000_IG05 G_M000_IG29: test bl, 2 je SHORT G_M000_IG30 mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+34H] call [eax]System.Reflection.MethodBase:get_CallingConvention():int:this test al, 2 je G_M000_IG07 G_M000_IG30: test bl, 1 je G_M000_IG04 mov ecx, esi mov eax, dword ptr [esi] mov ebx, eax mov eax, dword ptr [ebx+34H] call [eax]System.Reflection.MethodBase:get_CallingConvention():int:this test al, 1 je G_M000_IG07 jmp G_M000_IG04 G_M000_IG31: mov esi, dword ptr [ebp-18H] cmp dword ptr [ebx+04H], esi jae SHORT G_M000_IG33 mov ecx, dword ptr [ebx+04H] mov edi, gword ptr [ebp-1CH] mov ecx, gword ptr [edi+4*ecx+08H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+10H]System.Reflection.ParameterInfo:get_Attributes():int:this test al, 16 jne G_M000_IG05 mov eax, edi mov edx, esi mov dword ptr [ebp-18H], edx mov gword ptr [ebp-1CH], eax jmp G_M000_IG19 G_M000_IG32: mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+34H] call [eax+08H]System.Type:IsArrayImpl():bool:this jmp G_M000_IG22 G_M000_IG33: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 494 101: JIT compiled System.RuntimeType:FilterApplyMethodBase(System.Reflection.MethodBase,int,int,int,System.Type[]) [Tier1 with Static PGO, IL size=286, code size=494] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:IsInstanceOfClass(uint,System.Object):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 5719844 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp mov eax, edx G_M000_IG02: test eax, eax je SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [eax], ecx jne SHORT G_M000_IG05 G_M000_IG04: pop ebp ret G_M000_IG05: mov edx, dword ptr [eax] mov edx, dword ptr [edx+10H] G_M000_IG06: cmp edx, ecx je SHORT G_M000_IG15 G_M000_IG07: test edx, edx je SHORT G_M000_IG14 G_M000_IG08: mov edx, dword ptr [edx+10H] cmp edx, ecx je SHORT G_M000_IG15 G_M000_IG09: test edx, edx je SHORT G_M000_IG14 G_M000_IG10: mov edx, dword ptr [edx+10H] cmp edx, ecx je SHORT G_M000_IG15 G_M000_IG11: test edx, edx je SHORT G_M000_IG14 G_M000_IG12: mov edx, dword ptr [edx+10H] cmp edx, ecx je SHORT G_M000_IG15 G_M000_IG13: test edx, edx jne SHORT G_M000_IG16 G_M000_IG14: xor eax, eax G_M000_IG15: pop ebp ret G_M000_IG16: mov edx, dword ptr [edx+10H] jmp SHORT G_M000_IG06 ; Total bytes of code 70 102: JIT compiled System.Runtime.CompilerServices.CastHelpers:IsInstanceOfClass(uint,System.Object) [Tier1 with Static PGO, IL size=97, code size=70] ; Assembly listing for method System.Text.StringBuilder:Append(byref,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 344771 ; 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 mov esi, ecx mov edi, dword ptr [ebp+08H] G_M000_IG02: test edi, edi je SHORT G_M000_IG11 G_M000_IG03: mov ecx, gword ptr [esi+04H] mov ebx, dword ptr [esi+0CH] lea eax, [ebx+edi] cmp eax, dword ptr [ecx+04H] ja SHORT G_M000_IG10 G_M000_IG04: lea ecx, bword ptr [ecx+2*ebx+08H] cmp edi, 2 jle SHORT G_M000_IG08 G_M000_IG05: lea eax, [edi+edi] push eax call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG06: add edi, ebx mov dword ptr [esi+0CH], edi G_M000_IG07: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG08: movzx eax, word ptr [edx] mov word ptr [ecx], ax cmp edi, 2 jne SHORT G_M000_IG06 G_M000_IG09: movzx edx, word ptr [edx+02H] mov word ptr [ecx+02H], dx jmp SHORT G_M000_IG06 G_M000_IG10: push edi mov ecx, esi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG11: pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 97 103: JIT compiled System.Text.StringBuilder:Append(byref,int) [Tier1 with Static PGO, IL size=96, code size=97] ; Assembly listing for method System.Reflection.TypeNameParser:CharToToken(ushort):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: movzx edx, cx cmp edx, 44 ja SHORT G_M000_IG04 G_M000_IG03: test edx, edx je SHORT G_M000_IG05 add edx, -38 cmp edx, 6 ja SHORT G_M000_IG11 lea eax, [@RWD00] mov eax, dword ptr [eax+4*edx] lea ecx, G_M000_IG02 add eax, ecx jmp eax G_M000_IG04: cmp edx, 91 je SHORT G_M000_IG06 cmp edx, 93 jne SHORT G_M000_IG11 mov eax, 2 jmp SHORT G_M000_IG12 G_M000_IG05: xor eax, eax jmp SHORT G_M000_IG12 G_M000_IG06: mov eax, 1 jmp SHORT G_M000_IG12 G_M000_IG07: mov eax, 3 jmp SHORT G_M000_IG12 G_M000_IG08: mov eax, 4 jmp SHORT G_M000_IG12 G_M000_IG09: mov eax, 5 jmp SHORT G_M000_IG12 G_M000_IG10: mov eax, 6 jmp SHORT G_M000_IG12 G_M000_IG11: mov eax, 7 G_M000_IG12: pop ebp ret RWD00 dd G_M000_IG10 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 ; Total bytes of code 105 104: JIT compiled System.Reflection.TypeNameParser:CharToToken(ushort) [Tier1, IL size=91, code size=105] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:ChkCastClass(uint,System.Object):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 1921430 ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: test edx, edx je SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [edx], ecx jne SHORT G_M000_IG06 G_M000_IG04: mov eax, edx G_M000_IG05: pop ebp ret G_M000_IG06: mov eax, dword ptr [edx] G_M000_IG07: mov eax, dword ptr [eax+10H] cmp eax, ecx je SHORT G_M000_IG09 test eax, eax je SHORT G_M000_IG10 mov eax, dword ptr [eax+10H] cmp eax, ecx je SHORT G_M000_IG09 test eax, eax je SHORT G_M000_IG10 mov eax, dword ptr [eax+10H] cmp eax, ecx je SHORT G_M000_IG09 test eax, eax je SHORT G_M000_IG10 mov eax, dword ptr [eax+10H] cmp eax, ecx je SHORT G_M000_IG09 test eax, eax jne SHORT G_M000_IG07 G_M000_IG08: jmp SHORT G_M000_IG10 G_M000_IG09: mov eax, edx jmp SHORT G_M000_IG11 G_M000_IG10: call [System.Runtime.CompilerServices.CastHelpers:ChkCast_Helper(uint,System.Object):System.Object] G_M000_IG11: pop ebp ret ; Total bytes of code 75 105: JIT compiled System.Runtime.CompilerServices.CastHelpers:ChkCastClass(uint,System.Object) [Tier1 with Static PGO, IL size=22, code size=75] ; Assembly listing for method System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 250922 ; 2 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 mov esi, ecx G_M000_IG02: test edx, edx je SHORT G_M000_IG11 G_M000_IG03: mov edi, dword ptr [edx+04H] add edx, 8 test edi, edi je SHORT G_M000_IG11 G_M000_IG04: mov ecx, gword ptr [esi+04H] mov ebx, dword ptr [esi+0CH] lea eax, [ebx+edi] cmp eax, dword ptr [ecx+04H] ja SHORT G_M000_IG10 G_M000_IG05: lea ecx, bword ptr [ecx+2*ebx+08H] cmp edi, 2 jle SHORT G_M000_IG08 G_M000_IG06: lea eax, [edi+edi] push eax call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG07: add edi, ebx mov dword ptr [esi+0CH], edi jmp SHORT G_M000_IG11 G_M000_IG08: movzx eax, word ptr [edx] mov word ptr [ecx], ax cmp edi, 2 jne SHORT G_M000_IG07 G_M000_IG09: movzx edx, word ptr [edx+02H] mov word ptr [ecx+02H], dx jmp SHORT G_M000_IG07 G_M000_IG10: push edi mov ecx, esi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG11: mov eax, esi G_M000_IG12: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 99 106: JIT compiled System.Text.StringBuilder:Append(System.String) [Tier1 with Static PGO, IL size=25, code size=99] ; Assembly listing for method System.Int32:IsNegative(int):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, ecx shr eax, 31 G_M000_IG03: ret ; Total bytes of code 6 107: JIT compiled System.Int32:IsNegative(int) [Tier1, IL size=5, code size=6] ; Assembly listing for method System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: 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 108: JIT compiled System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String) [Tier1, IL size=22, code size=18] ; Assembly listing for method System.Reflection.RuntimeParameterInfo:get_ParameterType():System.Type:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 98048 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: cmp gword ptr [ecx+04H], 0 je SHORT G_M000_IG05 G_M000_IG03: mov eax, gword ptr [ecx+04H] G_M000_IG04: pop esi pop ebp ret G_M000_IG05: mov edx, dword ptr [ecx+18H] cmp edx, -1 je SHORT G_M000_IG07 mov eax, gword ptr [ecx+1CH] mov eax, gword ptr [eax+04H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG08 mov esi, gword ptr [eax+4*edx+08H] G_M000_IG06: lea edx, bword ptr [ecx+04H] call CORINFO_HELP_ASSIGN_REF_ESI jmp SHORT G_M000_IG03 G_M000_IG07: mov eax, gword ptr [ecx+1CH] mov esi, gword ptr [eax+0CH] jmp SHORT G_M000_IG06 G_M000_IG08: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 63 109: JIT compiled System.Reflection.RuntimeParameterInfo:get_ParameterType() [Tier1 with Static PGO, IL size=70, code size=63] ; Assembly listing for method System.RuntimeType:get_IsEnum():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 105873 ; 2 inlinees with PGO data; 9 single block inlinees; 0 inlinees without PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+0CH] test al, 2 jne SHORT G_M000_IG04 mov eax, dword ptr [eax+10H] mov edx, dword ptr [D1FFAB1EH] cmp eax, edx sete al movzx eax, al G_M000_IG03: ret G_M000_IG04: mov edx, 0xD1FFAB1E call [System.RuntimeType:IsSubclassOf(System.Type):bool:this] G_M000_IG05: ret ; Total bytes of code 37 110: JIT compiled System.RuntimeType:get_IsEnum() [Tier1 with Static PGO, IL size=69, code size=37] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:ChkCastAny(uint,System.Object):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 332576 ; 0 inlinees with PGO data; 8 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov eax, ecx G_M000_IG02: test edx, edx je SHORT G_M000_IG12 G_M000_IG03: mov gword ptr [ebp-18H], edx mov esi, dword ptr [edx] mov dword ptr [ebp-14H], esi cmp esi, eax mov edx, gword ptr [ebp-18H] je SHORT G_M000_IG12 G_M000_IG04: mov edi, gword ptr [D1FFAB1EH] add edi, 8 mov ecx, esi rol ecx, 16 mov dword ptr [ebp-10H], eax xor ecx, eax imul ebx, ecx, 0xD1FFAB1E mov ecx, dword ptr [edi] shr ebx, cl xor ecx, ecx mov gword ptr [ebp-18H], edx G_M000_IG05: lea eax, [ebx+01H] lea eax, [eax+2*eax] lea eax, bword ptr [edi+4*eax] mov edx, dword ptr [eax] mov esi, dword ptr [eax+04H] and edx, -2 cmp esi, dword ptr [ebp-14H] jne SHORT G_M000_IG07 G_M000_IG06: mov esi, dword ptr [ebp-10H] xor esi, dword ptr [eax+08H] cmp esi, 1 jbe SHORT G_M000_IG09 G_M000_IG07: test edx, edx je SHORT G_M000_IG14 inc ecx add ebx, ecx and ebx, dword ptr [edi+04H] cmp ecx, 8 jl SHORT G_M000_IG05 G_M000_IG08: mov edx, gword ptr [ebp-18H] mov gword ptr [ebp-18H], edx jmp SHORT G_M000_IG14 G_M000_IG09: cmp edx, dword ptr [eax] jne SHORT G_M000_IG14 G_M000_IG10: cmp esi, 1 jne SHORT G_M000_IG14 G_M000_IG11: mov edx, gword ptr [ebp-18H] G_M000_IG12: mov eax, edx G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG14: mov ecx, dword ptr [ebp-10H] mov edx, gword ptr [ebp-18H] call System.Runtime.CompilerServices.CastHelpers:ChkCastAny_NoCacheLookup(uint,System.Object):System.Object G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 161 111: JIT compiled System.Runtime.CompilerServices.CastHelpers:ChkCastAny(uint,System.Object) [Tier1 with Static PGO, IL size=38, code size=161] ; Assembly listing for method System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 147559 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: mov ecx, dword ptr [esi+0CH] mov eax, ecx mov edi, gword ptr [esi+04H] mov ebx, dword ptr [edi+04H] cmp ebx, eax jbe SHORT G_M000_IG06 G_M000_IG03: mov word ptr [edi+2*eax+08H], dx inc ecx mov dword ptr [esi+0CH], ecx G_M000_IG04: mov eax, esi G_M000_IG05: pop ebx pop esi pop edi pop ebp ret G_M000_IG06: push 1 movzx edx, dx mov ecx, esi call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp SHORT G_M000_IG04 ; Total bytes of code 54 112: JIT compiled System.Text.StringBuilder:Append(ushort) [Tier1 with Static PGO, IL size=51, code size=54] ; Assembly listing for method System.String:FillStringChecked(System.String,int,System.String) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 275591 ; 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 mov eax, gword ptr [ebp+08H] G_M000_IG02: mov esi, dword ptr [eax+04H] mov edi, dword ptr [ecx+04H] sub edi, edx cmp esi, edi jg SHORT G_M000_IG04 lea ecx, bword ptr [ecx+2*edx+08H] lea edx, bword ptr [eax+08H] add esi, esi push esi call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG03: pop esi pop edi pop ebp ret 4 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 70 113: JIT compiled System.String:FillStringChecked(System.String,int,System.String) [Tier1 with Static PGO, IL size=53, code size=70] ; Assembly listing for method System.String:GetNonRandomizedHashCode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 706560 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: lea eax, bword ptr [ecx+08H] mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, 0xD1FFAB1E mov esi, 0xD1FFAB1E mov ecx, dword ptr [ecx+04H] cmp ecx, 2 jle SHORT G_M000_IG04 align [10 bytes for IG03] G_M000_IG03: add ecx, -4 mov edi, edx rol edi, 5 add edx, edi xor edx, dword ptr [eax] mov edi, esi rol edi, 5 add esi, edi xor esi, dword ptr [eax+04H] add eax, 8 cmp ecx, 2 jg SHORT G_M000_IG03 G_M000_IG04: test ecx, ecx jg SHORT G_M000_IG07 G_M000_IG05: imul eax, esi, 0xD1FFAB1E add eax, edx G_M000_IG06: pop ecx pop esi pop edi pop ebp ret G_M000_IG07: mov ecx, esi rol ecx, 5 add ecx, esi mov esi, ecx xor esi, dword ptr [eax] jmp SHORT G_M000_IG05 ; Total bytes of code 108 114: JIT compiled System.String:GetNonRandomizedHashCode() [Tier1 with Static PGO, IL size=110, code size=108] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,uint,System.Object) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 284225 ; 0 inlinees with PGO data; 8 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov bword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp+08H] G_M000_IG02: mov gword ptr [ebp+08H], ecx mov esi, dword ptr [ecx] mov edi, gword ptr [D1FFAB1EH] add edi, 8 mov bword ptr [ebp-18H], edi mov ebx, esi rol ebx, 16 mov dword ptr [ebp-10H], edx xor ebx, edx imul ebx, ebx, 0xD1FFAB1E mov ecx, dword ptr [edi] shr ebx, cl xor ecx, ecx align [0 bytes for IG03] G_M000_IG03: lea eax, [ebx+01H] lea eax, [eax+2*eax] lea eax, bword ptr [edi+4*eax] mov edx, dword ptr [eax] mov edi, dword ptr [eax+04H] and edx, -2 cmp edi, esi jne SHORT G_M000_IG05 G_M000_IG04: mov edi, dword ptr [ebp-10H] xor edi, dword ptr [eax+08H] cmp edi, 1 jbe SHORT G_M000_IG07 G_M000_IG05: test edx, edx je SHORT G_M000_IG10 inc ecx add ebx, ecx mov edi, bword ptr [ebp-18H] and ebx, dword ptr [edi+04H] cmp ecx, 8 jl SHORT G_M000_IG03 G_M000_IG06: jmp SHORT G_M000_IG10 G_M000_IG07: cmp edx, dword ptr [eax] jne SHORT G_M000_IG10 cmp edi, 1 jne SHORT G_M000_IG10 G_M000_IG08: mov ecx, bword ptr [ebp-14H] mov edx, gword ptr [ebp+08H] call System.Runtime.CompilerServices.CastHelpers:WriteBarrier(byref,System.Object) G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG10: push gword ptr [ebp+08H] mov ecx, bword ptr [ebp-14H] mov edx, dword ptr [ebp-10H] call [System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper_NoCacheLookup(byref,uint,System.Object)] G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 161 115: JIT compiled System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper(byref,uint,System.Object) [Tier1 with Static PGO, IL size=34, code size=161] ; Assembly listing for method System.Reflection.TypeNameParser:SkipWhiteSpace():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 3 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: jmp SHORT G_M000_IG04 G_M000_IG03: inc dword ptr [esi+10H] G_M000_IG04: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG08 G_M000_IG05: lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae SHORT G_M000_IG09 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG07 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG03 G_M000_IG06: jmp SHORT G_M000_IG08 G_M000_IG07: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG03 G_M000_IG08: pop esi pop ebp ret G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 71 116: JIT compiled System.Reflection.TypeNameParser:SkipWhiteSpace() [Tier1, IL size=61, code size=71] ; Assembly listing for method System.Collections.Generic.NonRandomizedStringEqualityComparer+OrdinalComparer:GetHashCode(System.String):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov ecx, edx cmp dword ptr [ecx], ecx call [System.String:GetNonRandomizedHashCode():int:this] G_M000_IG03: ret ; Total bytes of code 11 117: JIT compiled System.Collections.Generic.NonRandomizedStringEqualityComparer+OrdinalComparer:GetHashCode(System.String) [Tier1, IL size=7, code size=11] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 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, 44 mov gword ptr [ebp-24H], ecx mov edi, edx G_M000_IG02: test edi, edi je G_M000_IG19 mov esi, gword ptr [ebp-24H] cmp gword ptr [esi+04H], 0 je G_M000_IG17 G_M000_IG03: mov esi, gword ptr [ebp-24H] mov ebx, gword ptr [esi+0CH] mov gword ptr [ebp-30H], ebx mov esi, gword ptr [ebp-24H] mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+28H] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG06: mov ecx, ebx mov gword ptr [ebp-28H], edi mov edx, edi nop call [eax] mov dword ptr [ebp-10H], eax mov esi, gword ptr [ebp-24H] mov edx, gword ptr [esi+04H] mov gword ptr [ebp-38H], edx push 0 push eax mov ecx, dword ptr [edx+04H] mov dword ptr [ebp-18H], ecx push 0 push ecx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG07 test edx, edx jne G_M000_IG18 jmp SHORT G_M000_IG08 G_M000_IG07: cmp edx, -1 jne G_M000_IG18 G_M000_IG08: mov ecx, eax cmp ecx, dword ptr [ebp-18H] jae G_M000_IG21 mov edx, gword ptr [ebp-38H] mov ecx, dword ptr [edx+4*ecx+08H] mov esi, gword ptr [ebp-24H] mov eax, gword ptr [esi+08H] mov gword ptr [ebp-34H], eax xor edx, edx mov dword ptr [ebp-14H], edx dec ecx G_M000_IG09: mov ebx, dword ptr [eax+04H] cmp ebx, ecx jbe SHORT G_M000_IG17 shl ecx, 4 lea ecx, bword ptr [eax+ecx+08H] mov bword ptr [ebp-2CH], ecx mov edi, dword ptr [ebp-10H] cmp dword ptr [ecx+08H], edi jne SHORT G_M000_IG14 G_M000_IG10: mov esi, gword ptr [ebp-24H] mov edi, dword ptr [esi] mov esi, dword ptr [edi+20H] mov esi, dword ptr [esi] mov esi, dword ptr [esi+2CH] test esi, esi je SHORT G_M000_IG12 G_M000_IG11: jmp SHORT G_M000_IG13 G_M000_IG12: mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov esi, eax G_M000_IG13: mov ecx, bword ptr [ebp-2CH] mov edi, gword ptr [ecx] push gword ptr [ebp-28H] mov edx, edi mov ecx, gword ptr [ebp-30H] mov eax, esi nop call [eax] test eax, eax jne SHORT G_M000_IG15 G_M000_IG14: mov ecx, bword ptr [ebp-2CH] mov ecx, dword ptr [ecx+0CH] mov edx, dword ptr [ebp-14H] inc edx cmp ebx, edx jb SHORT G_M000_IG20 mov dword ptr [ebp-14H], edx mov eax, gword ptr [ebp-34H] jmp SHORT G_M000_IG09 G_M000_IG15: mov ecx, bword ptr [ebp-2CH] lea eax, bword ptr [ecx+04H] G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG17: xor eax, eax jmp SHORT G_M000_IG16 G_M000_IG18: call CORINFO_HELP_OVERFLOW G_M000_IG19: mov ecx, 4 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG20: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG21: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 322 118: JIT compiled System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon) [Tier1, IL size=299, code size=322] ; Assembly listing for method System.OrdinalCaseSensitiveComparer:Compare(System.String,System.String):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov ecx, edx mov edx, gword ptr [esp+04H] call [System.String:CompareOrdinal(System.String,System.String):int] G_M000_IG03: ret 4 ; Total bytes of code 15 119: JIT compiled System.OrdinalCaseSensitiveComparer:Compare(System.String,System.String) [Tier1, IL size=8, code size=15] ; Assembly listing for method System.String:CompareOrdinal(System.String,System.String):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 121389 G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: cmp ecx, edx je SHORT G_M000_IG08 G_M000_IG03: test ecx, ecx je SHORT G_M000_IG10 G_M000_IG04: test edx, edx je SHORT G_M000_IG12 movzx eax, word ptr [ecx+08H] movzx esi, word ptr [edx+08H] cmp eax, esi jne SHORT G_M000_IG07 G_M000_IG05: call [System.String:CompareOrdinalHelper(System.String,System.String):int] G_M000_IG06: pop esi pop ebp ret G_M000_IG07: sub eax, esi jmp SHORT G_M000_IG06 G_M000_IG08: xor eax, eax G_M000_IG09: pop esi pop ebp ret G_M000_IG10: mov eax, -1 G_M000_IG11: pop esi pop ebp ret G_M000_IG12: mov eax, 1 G_M000_IG13: pop esi pop ebp ret ; Total bytes of code 62 120: JIT compiled System.String:CompareOrdinal(System.String,System.String) [Tier1 with Static PGO, IL size=52, code size=62] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 475857 G_M000_IG01: push esi G_M000_IG02: call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG03: mov eax, gword ptr [eax] mov edx, bword ptr [esp+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, 1 G_M000_IG04: pop esi ret 4 G_M000_IG05: xor eax, eax mov esi, bword ptr [esp+08H] mov gword ptr [esi], eax G_M000_IG06: pop esi ret 4 ; Total bytes of code 43 121: JIT compiled System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref) [Tier1 with Static PGO, IL size=39, code size=43] ; Assembly listing for method System.RuntimeType:GetTypeCodeImpl():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 2 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 mov esi, ecx G_M000_IG02: cmp dword ptr [esi+08H], 0 je SHORT G_M000_IG05 G_M000_IG03: mov ecx, dword ptr [esi+08H] mov eax, gword ptr [ecx] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, esi call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] G_M000_IG06: mov edi, dword ptr [eax+48H] test edi, edi je SHORT G_M000_IG09 G_M000_IG07: mov eax, edi G_M000_IG08: pop ebx pop esi pop edi pop ebp ret G_M000_IG09: mov edi, esi mov ecx, edi call [System.RuntimeType:get_IsActualEnum():bool:this] test eax, eax je SHORT G_M000_IG11 mov ecx, esi call [System.RuntimeType:get_IsActualEnum():bool:this] test eax, eax je G_M000_IG32 mov edi, gword ptr [D1FFAB1EH] mov ecx, dword ptr [esi+0CH] call System.Enum:InternalGetCorElementType(uint):ubyte cmp eax, dword ptr [edi+04H] jae G_M000_IG34 mov edx, gword ptr [edi+4*eax+08H] mov edi, edx test edi, edi je SHORT G_M000_IG11 G_M000_IG10: mov ecx, 0xD1FFAB1E cmp dword ptr [edi], ecx jne G_M000_IG33 G_M000_IG11: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG12 mov ebx, 5 jmp G_M000_IG26 G_M000_IG12: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG13 mov ebx, 6 jmp G_M000_IG26 G_M000_IG13: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG14 mov ebx, 7 jmp G_M000_IG26 G_M000_IG14: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG15 mov ebx, 8 jmp G_M000_IG26 G_M000_IG15: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG16 mov ebx, 9 jmp G_M000_IG26 G_M000_IG16: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG17 mov ebx, 10 jmp G_M000_IG26 G_M000_IG17: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG18 mov ebx, 11 jmp G_M000_IG26 G_M000_IG18: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG19 mov ebx, 12 jmp SHORT G_M000_IG26 G_M000_IG19: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG20 mov ebx, 3 jmp SHORT G_M000_IG26 G_M000_IG20: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG21 mov ebx, 4 jmp SHORT G_M000_IG26 G_M000_IG21: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG22 mov ebx, 13 jmp SHORT G_M000_IG26 G_M000_IG22: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG23 mov ebx, 14 jmp SHORT G_M000_IG26 G_M000_IG23: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG24 mov ebx, 15 jmp SHORT G_M000_IG26 G_M000_IG24: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG25 mov ebx, 16 jmp SHORT G_M000_IG26 G_M000_IG25: mov ebx, 1 mov ecx, 2 cmp edi, 0xD1FFAB1E cmove ebx, ecx mov ecx, 18 cmp edi, 0xD1FFAB1E cmove ebx, ecx G_M000_IG26: mov edi, ebx mov ecx, dword ptr [esi+08H] test ecx, ecx je SHORT G_M000_IG29 G_M000_IG27: mov eax, gword ptr [ecx] test eax, eax je SHORT G_M000_IG29 G_M000_IG28: jmp SHORT G_M000_IG30 G_M000_IG29: mov ecx, esi call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] G_M000_IG30: mov dword ptr [eax+48H], edi mov eax, edi G_M000_IG31: pop ebx pop esi pop edi pop ebp ret G_M000_IG32: call [System.RuntimeType:ThrowMustBeEnum()] int3 G_M000_IG33: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG34: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 442 122: JIT compiled System.RuntimeType:GetTypeCodeImpl() [Tier1, IL size=38, code size=442] ; Assembly listing for method System.Reflection.RuntimeParameterInfo:get_Name():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 23610 ; 6 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 48 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-20H], eax mov esi, ecx G_M000_IG02: cmp byte ptr [esi+28H], 0 je G_M000_IG12 G_M000_IG03: mov eax, gword ptr [esi+10H] G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: cmp byte ptr [ebx], bl mov ecx, 1 test eax, eax cmove edi, ecx mov bword ptr [ebp-14H], edi mov dword ptr [ebp-18H], eax test edi, edi je G_M000_IG17 lea ecx, [ebp-2CH] push ecx lea ecx, [ebp-30H] push ecx mov ecx, edi mov edx, eax call [System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(uint,int,byref,byref):uint] sub eax, edi mov edx, eax add edx, dword ptr [ebp-2CH] mov ecx, dword ptr [ebp-18H] cmp eax, ecx jne G_M000_IG18 G_M000_IG06: mov eax, edx mov dword ptr [ebp-1CH], eax test eax, eax je G_M000_IG14 G_M000_IG07: 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] mov bword ptr [ebp-20H], ecx mov edx, bword ptr [ebp-20H] mov dword ptr [ebp-24H], edx test edx, edx je G_M000_IG20 mov ecx, dword ptr [ebp-18H] mov eax, ecx or eax, dword ptr [ebp-1CH] jl G_M000_IG19 push edx push dword ptr [ebp-1CH] lea eax, [ebp-34H] push eax lea eax, [ebp-38H] push eax mov ecx, edi mov edx, dword ptr [ebp-18H] call [System.Text.Unicode.Utf8Utility:TranscodeToUtf16(uint,int,uint,int,byref,byref):int] mov ecx, dword ptr [ebp-34H] sub ecx, edi mov edx, dword ptr [ebp-38H] sub edx, dword ptr [ebp-24H] mov eax, edx shr eax, 31 add edx, eax sar edx, 1 mov eax, dword ptr [ebp-18H] cmp ecx, eax je SHORT G_M000_IG08 push eax push dword ptr [ebp-24H] push dword ptr [ebp-1CH] push ecx push edx push 1 mov ecx, ebx mov edx, edi call [System.Text.Encoding:GetCharsWithFallback(uint,int,uint,int,int,int,bool):int:this] G_M000_IG08: xor edx, edx mov bword ptr [ebp-20H], edx mov ebx, gword ptr [ebp-3CH] mov eax, ebx G_M000_IG09: xor edx, edx mov bword ptr [ebp-20H], edx G_M000_IG10: mov bword ptr [ebp-14H], edx lea edx, bword ptr [esi+10H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG11: mov byte ptr [esi+28H], 1 jmp G_M000_IG03 G_M000_IG12: mov edx, dword ptr [esi+24H] test edx, 0xD1FFAB1E je SHORT G_M000_IG11 lea ecx, bword ptr [esi+2CH] mov ecx, dword ptr [ecx+04H] lea eax, [ebp-10H] push eax call System.Reflection.MetadataImport:_GetName(int,int,uint) mov edi, dword ptr [ebp-10H] test edi, edi je SHORT G_M000_IG15 mov ecx, edi call [System.SpanHelpers:IndexOfNullByte(uint):int] G_M000_IG13: mov ebx, gword ptr [D1FFAB1EH] test eax, eax jl SHORT G_M000_IG16 jmp G_M000_IG05 G_M000_IG14: mov eax, 0xD1FFAB1E jmp SHORT G_M000_IG09 G_M000_IG15: xor eax, eax jmp SHORT G_M000_IG13 G_M000_IG16: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG17: mov ecx, 10 mov edx, 49 call [System.ThrowHelper:ThrowArgumentNullException(int,int)] int3 G_M000_IG18: mov dword ptr [ebp-28H], edx push dword ptr [ebp-18H] push eax mov ecx, ebx mov edx, edi call [System.Text.Encoding:GetCharCountWithFallback(uint,int,int):int:this] mov edx, eax add edx, dword ptr [ebp-28H] jns G_M000_IG06 call [System.Text.Encoding:ThrowConversionOverflow()] int3 G_M000_IG19: mov ecx, 16 mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] int3 G_M000_IG20: mov ecx, 14 mov edx, 49 call [System.ThrowHelper:ThrowArgumentNullException(int,int)] int3 ; Total bytes of code 427 123: JIT compiled System.Reflection.RuntimeParameterInfo:get_Name() [Tier1 with Static PGO, IL size=78, code size=427] ; Assembly listing for method System.Diagnostics.Tracing.EventParameterInfo:GetTypeCodeExtended(System.Type):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 11862 ; 6 inlinees with PGO data; 20 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG09 G_M000_IG03: cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG07 G_M000_IG04: cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG11 test ecx, ecx jne SHORT G_M000_IG06 xor eax, eax G_M000_IG05: pop ebp ret G_M000_IG06: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+54H] call [eax+08H]System.Type:GetTypeCodeImpl():int:this jmp SHORT G_M000_IG05 G_M000_IG07: mov eax, 9 G_M000_IG08: pop ebp ret G_M000_IG09: mov eax, 17 G_M000_IG10: pop ebp ret G_M000_IG11: mov eax, 10 G_M000_IG12: pop ebp ret ; Total bytes of code 66 124: JIT compiled System.Diagnostics.Tracing.EventParameterInfo:GetTypeCodeExtended(System.Type) [Tier1 with Static PGO, IL size=86, code size=66] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:Run(BenchmarkDotNet.Engines.IHost,System.String) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 15 inlinees with PGO data; 45 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 212 vzeroupper vxorps 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-C8H], eax mov ecx, eax call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:.ctor():this] mov ecx, gword ptr [ebp-C8H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:ToFormattedString():System.Collections.Generic.IEnumerable`1[System.String]:this] mov ecx, eax call [System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this] mov gword ptr [ebp-ACH], eax G_M000_IG03: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG12 G_M000_IG04: mov ecx, gword ptr [ebp-ACH] call [System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this] mov gword ptr [ebp-B0H], eax test eax, eax je SHORT G_M000_IG07 G_M000_IG05: cmp dword ptr [eax+04H], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [eax+04H] add ecx, 3 call System.String:FastAllocateString(int):System.String mov edx, eax mov gword ptr [ebp-CCH], edx cmp dword ptr [edx+04H], 3 jl SHORT G_M000_IG11 jmp SHORT G_M000_IG08 G_M000_IG07: mov edx, 0xD1FFAB1E jmp SHORT G_M000_IG09 G_M000_IG08: lea ecx, bword ptr [edx+08H] mov eax, 0xD1FFAB1E add eax, 8 push 6 mov edx, eax call [System.Buffer:Memmove(byref,byref,uint)] push gword ptr [ebp-B0H] mov ecx, gword ptr [ebp-CCH] mov edx, 3 call [System.String:FillStringChecked(System.String,int,System.String)] mov edx, gword ptr [ebp-CCH] G_M000_IG09: mov ecx, esi call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] mov ecx, gword ptr [ebp-ACH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne G_M000_IG04 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 G_M000_IG12: mov ecx, gword ptr [ebp-ACH] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG15 G_M000_IG13: cmp gword ptr [ebp-ACH], 0 je SHORT G_M000_IG14 mov ecx, gword ptr [ebp-ACH] call [System.IDisposable:Dispose():this] G_M000_IG14: pop eax jmp eax G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-B8H], eax mov ecx, eax xor edx, edx call [BenchmarkDotNet.Jobs.Job:.ctor(System.String):this] mov eax, gword ptr [ebp-B8H] mov gword ptr [ebp-A8H], eax test byte ptr [D1FFAB1EH], 1 je G_M000_IG29 G_M000_IG16: mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-BCH], edx mov ecx, 0xD1FFAB1E add ecx, 8 mov bword ptr [ebp-E0H], ecx xor ecx, ecx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-90H], xmm0 mov dword ptr [ebp-80H], ecx mov byte ptr [ebp-80H], 2 push 36 push bword ptr [ebp-E0H] lea ecx, [ebp-90H] call [System.Guid:TryParseGuid(System.ReadOnlySpan`1[ushort],byref):bool] xor edx, edx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-7CH], xmm0 mov dword ptr [ebp-6CH], edx vmovups xmm0, xmmword ptr [ebp-90H] vmovups xmmword ptr [ebp-78H], xmm0 mov byte ptr [ebp-7CH], 1 vmovdqu xmm0, xmmword ptr [ebp-7CH] vmovdqu xmmword ptr [ebp-A4H], xmm0 mov edx, dword ptr [ebp-6CH] mov dword ptr [ebp-94H], edx mov eax, gword ptr [ebp-BCH] cmp byte ptr [eax], al lea edx, [ebp-A4H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX_NULLABLE push eax mov edx, gword ptr [ebp-BCH] mov ecx, gword ptr [ebp-A8H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] test byte ptr [D1FFAB1EH], 1 je G_M000_IG30 G_M000_IG17: mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-C0H], eax cmp byte ptr [eax], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST vmovsd xmm0, qword ptr [@RWD00] vmovsd qword ptr [eax+04H], xmm0 push eax mov ecx, gword ptr [ebp-A8H] mov edx, gword ptr [ebp-C0H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-D0H], 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-D0H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-D4H], eax cmp byte ptr [eax], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov dword ptr [eax+04H], 15 push eax mov ecx, gword ptr [ebp-A8H] mov edx, gword ptr [ebp-D4H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-D8H], eax cmp byte ptr [eax], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov dword ptr [eax+04H], 1 push eax mov ecx, gword ptr [ebp-A8H] mov edx, gword ptr [ebp-D8H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov ecx, gword ptr [ebp-A8H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this] mov eax, gword ptr [ebp-A8H] cmp byte ptr [eax+0CH], 0 jne SHORT G_M000_IG19 G_M000_IG18: mov byte ptr [eax+0CH], 1 G_M000_IG19: mov gword ptr [ebp-A8H], eax 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-DCH], eax mov dword ptr [eax+10H], -2 call System.Environment:get_CurrentManagedThreadId():int mov ecx, gword ptr [ebp-DCH] mov dword ptr [ecx+14H], eax lea edx, bword ptr [ecx+0CH] mov eax, gword ptr [ebp-A8H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, esi call [BenchmarkDotNet.Validators.ValidationErrorReporter:ReportIfAny(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Validators.ValidationError],BenchmarkDotNet.Engines.IHost):bool] test eax, eax je SHORT G_M000_IG21 G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-C4H], eax mov ecx, 0xD1FFAB1E xor edx, edx call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] mov eax, gword ptr [ebp-C4H] lea edx, bword ptr [eax+2CH] call CORINFO_HELP_ASSIGN_REF_ECX lea edx, bword ptr [eax+04H] mov dword ptr [edx], 1 xor ecx, ecx mov dword ptr [edx+04H], ecx mov gword ptr [ebp-C4H], eax lea edx, bword ptr [eax+0CH] call CORINFO_HELP_ASSIGN_REF_ESI mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E G_M000_IG22: call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+1CH] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+20H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+24H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov dword ptr [eax+0CH], 0xD1FFAB1E mov ecx, gword ptr [ebp-C4H] lea edx, bword ptr [ecx+28H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebx+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_IG23: 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 mov gword ptr [ebp-C4H], ecx lea edx, bword ptr [ecx+40H] call CORINFO_HELP_ASSIGN_REF_EDI mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, eax mov edx, gword ptr [ebp-C4H] call [BenchmarkDotNet.Engines.EngineFactory:CreateReadyToRun(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.IEngine:this] mov gword ptr [ebp-B4H], eax G_M000_IG24: lea edx, [ebp-68H] mov ecx, eax call [BenchmarkDotNet.Engines.IEngine:Run():BenchmarkDotNet.Engines.RunResults:this] push dword ptr [ebp-24H] push dword ptr [ebp-28H] push dword ptr [ebp-2CH] push dword ptr [ebp-30H] push dword ptr [ebp-34H] push dword ptr [ebp-38H] push dword ptr [ebp-3CH] push dword ptr [ebp-40H] push dword ptr [ebp-44H] push dword ptr [ebp-48H] push dword ptr [ebp-4CH] push dword ptr [ebp-50H] push dword ptr [ebp-54H] push dword ptr [ebp-58H] push dword ptr [ebp-5CH] push gword ptr [ebp-60H] push dword ptr [ebp-64H] push dword ptr [ebp-68H] mov ecx, esi call [BenchmarkDotNet.Engines.IHost:ReportResults(BenchmarkDotNet.Engines.RunResults):this] mov ecx, ebx call [BenchmarkDotNet.Autogenerated.Runnable_0:__TrickTheJIT__():this] G_M000_IG25: mov ecx, gword ptr [ebp-B4H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG28 G_M000_IG26: cmp gword ptr [ebp-B4H], 0 je SHORT G_M000_IG27 mov ecx, gword ptr [ebp-B4H] call [System.IDisposable:Dispose():this] G_M000_IG27: pop eax jmp eax G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG29: mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG16 G_M000_IG30: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG17 RWD00 dq 41ADCD6500000000h ; 250000000 ; Total bytes of code 1574 125: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:Run(BenchmarkDotNet.Engines.IHost,System.String) [Tier-0 switched to FullOpts, IL size=488, code size=1574] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 92 vxorps 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 126: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:.ctor() [Tier0, IL size=191, code size=723] ; Assembly listing for method System.Tests.Perf_Guid:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp 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 127: JIT compiled System.Tests.Perf_Guid:.ctor() [Tier0, IL size=72, code size=161] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 128: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 129: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+38H] call [eax+04H]System.IO.TextWriter:WriteLine():this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 130: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine() [Tier0, IL size=12, code size=41] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4 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 131: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:.ctor() [Tier0, IL size=131, code size=296] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetArchitecture():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentPlatform():int] mov dword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-04H] mov dword ptr [ecx+04H], eax mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 72 132: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetArchitecture() [Tier0, IL size=20, code size=72] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentPlatform():int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: call [System.Runtime.InteropServices.RuntimeInformation:get_ProcessArchitecture():int] mov dword ptr [ebp-04H], eax cmp dword ptr [ebp-04H], 8 ja SHORT G_M000_IG03 mov eax, dword ptr [ebp-04H] lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG03: jmp SHORT G_M000_IG19 G_M000_IG04: G_M000_IG05: mov eax, 3 G_M000_IG06: mov esp, ebp pop ebp ret G_M000_IG07: G_M000_IG08: mov eax, 4 G_M000_IG09: mov esp, ebp pop ebp ret G_M000_IG10: G_M000_IG11: mov eax, 2 G_M000_IG12: mov esp, ebp pop ebp ret G_M000_IG13: mov dword ptr [ebp-0CH], 1 jmp SHORT G_M000_IG20 G_M000_IG14: mov dword ptr [ebp-0CH], 5 jmp SHORT G_M000_IG20 G_M000_IG15: mov dword ptr [ebp-0CH], 6 jmp SHORT G_M000_IG20 G_M000_IG16: mov dword ptr [ebp-0CH], 7 jmp SHORT G_M000_IG20 G_M000_IG17: mov dword ptr [ebp-0CH], 8 jmp SHORT G_M000_IG20 G_M000_IG18: mov dword ptr [ebp-0CH], 9 jmp SHORT G_M000_IG20 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [System.ArgumentOutOfRangeException:.ctor():this] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_THROW G_M000_IG20: mov eax, dword ptr [ebp-0CH] G_M000_IG21: mov esp, ebp pop ebp ret RWD00 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 dd G_M000_IG16 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG18 - G_M000_IG02 ; Total bytes of code 171 133: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentPlatform() [Tier0, IL size=75, code size=171] ; Assembly listing for method System.UInt64:CreateTruncating[uint](uint):ulong ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov dword ptr [ebp-04H], ecx G_M000_IG02: G_M000_IG03: lea edx, [ebp-0CH] mov ecx, dword ptr [ebp-04H] call [System.UInt64:TryConvertFromTruncating[uint](uint,byref):bool] test eax, eax jne SHORT G_M000_IG04 lea edx, [ebp-0CH] mov ecx, dword ptr [ebp-04H] call [System.UInt32:System.Numerics.INumberBase.TryConvertToTruncating[ulong](uint,byref):bool] test eax, eax jne SHORT G_M000_IG04 call [System.ThrowHelper:ThrowNotSupportedException()] G_M000_IG04: mov eax, dword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 57 134: JIT compiled System.UInt64:CreateTruncating[uint](uint) [Tier0, IL size=74, code size=57] ; Assembly listing for method System.UInt64:TryConvertFromTruncating[uint](uint,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 64 xor eax, eax mov dword ptr [ebp-40H], eax mov dword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: G_M000_IG03: G_M000_IG04: G_M000_IG05: G_M000_IG06: mov eax, dword ptr [ebp-04H] mov dword ptr [ebp-28H], eax mov eax, dword ptr [ebp-28H] mov edx, bword ptr [ebp-08H] mov bword ptr [ebp-40H], edx mov edx, bword ptr [ebp-40H] mov dword ptr [edx], eax xor eax, eax mov edx, bword ptr [ebp-40H] mov dword ptr [edx+04H], eax mov eax, 1 G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 54 135: JIT compiled System.UInt64:TryConvertFromTruncating[uint](uint,byref) [Tier0, IL size=371, code size=54] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_Architecture(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 136: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_Architecture(System.String) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetRuntimeVersion():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 92 vxorps xmm4, xmm4 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 137: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetRuntimeVersion() [Tier0, IL size=371, code size=848] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [System.OperatingSystem:IsBrowser():bool] G_M000_IG03: pop ebp ret ; Total bytes of code 11 138: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm() [Tier0, IL size=6, code size=11] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 231 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE movzx eax, byte ptr [D1FFAB1EH] G_M000_IG03: pop ebp ret ; Total bytes of code 27 139: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono() [Tier0, IL size=6, code size=27] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call [System.Type:GetType(System.String):System.Type] test eax, eax setne cl mov byte ptr [D1FFAB1EH], cl mov ecx, 0xD1FFAB1E call [System.Type:GetType(System.String):System.Type] test eax, eax setne al mov byte ptr [D1FFAB1EH], al call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool] test eax, eax je SHORT G_M000_IG03 call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool] test eax, eax sete al movzx eax, al mov dword ptr [ebp-04H], eax jmp SHORT G_M000_IG04 G_M000_IG03: xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG04: mov eax, dword ptr [ebp-04H] mov byte ptr [D1FFAB1EH], al G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 98 140: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:.cctor() [Tier0, IL size=66, code size=98] ; Assembly listing for method System.Buffers.ProbabilisticMap:IndexOfAny[System.SpanHelpers+DontNegate`1[ushort]](byref,int,byref,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 vzeroupper mov edi, ecx mov esi, edx mov eax, bword ptr [ebp+0CH] mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov bword ptr [ebp-34H], eax mov edx, ebx mov dword ptr [ebp-2CH], edx cmp esi, 8 jl SHORT G_M000_IG04 G_M000_IG03: cmp esi, 20 jge SHORT G_M000_IG10 mov ecx, edx sar ecx, 1 cmp esi, ecx jge SHORT G_M000_IG10 G_M000_IG04: lea ebx, bword ptr [edi+2*esi] mov esi, edi cmp edi, ebx je SHORT G_M000_IG06 G_M000_IG05: movzx eax, word ptr [esi] push edx movsx edx, ax mov ecx, bword ptr [ebp-34H] call [System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):bool] test eax, eax jne SHORT G_M000_IG08 add esi, 2 cmp esi, ebx mov edx, dword ptr [ebp-2CH] jne SHORT G_M000_IG05 G_M000_IG06: mov eax, -1 G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG08: mov eax, esi sub eax, edi shr eax, 1 G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG10: vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-20H], xmm0 lea edx, [ebp-20H] mov dword ptr [ebp-24H], edx xor ecx, ecx mov dword ptr [ebp+08H], ebx test ebx, ebx jle SHORT G_M000_IG14 align [0 bytes for IG11] G_M000_IG11: mov bword ptr [ebp+0CH], eax mov dword ptr [ebp-28H], ecx movzx edx, word ptr [eax+2*ecx] cmp edx, 127 jg G_M000_IG17 mov bword ptr [ebp-30H], edi mov eax, edx sar eax, 4 and edx, 15 add edx, dword ptr [ebp-24H] mov edi, 1 mov ecx, eax mov ebx, edi shl ebx, cl movzx ecx, bl or byte ptr [edx], cl mov edx, dword ptr [ebp-28H] inc edx mov ebx, dword ptr [ebp+08H] cmp edx, ebx mov ecx, edx jl SHORT G_M000_IG13 G_M000_IG12: movzx ecx, byte ptr [ebp-20H] and ecx, 1 lea edi, bword ptr [ebp-10H] test cl, 1 jne SHORT G_M000_IG15 vmovups xmm0, xmmword ptr [ebp-20H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 mov ecx, bword ptr [ebp-30H] mov edx, esi call [System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyVectorized[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Default](byref,int,System.Runtime.Intrinsics.Vector128`1[ubyte]):int] jmp SHORT G_M000_IG16 G_M000_IG13: mov dword ptr [ebp+08H], ebx mov eax, bword ptr [ebp+0CH] mov edi, bword ptr [ebp-30H] jmp SHORT G_M000_IG11 G_M000_IG14: mov bword ptr [ebp-30H], edi mov bword ptr [ebp+0CH], eax mov ebx, dword ptr [ebp+08H] jmp SHORT G_M000_IG12 G_M000_IG15: vmovups xmm0, xmmword ptr [ebp-20H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 mov ecx, bword ptr [ebp-30H] mov edx, esi call [System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyVectorized[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Ssse3AndWasmHandleZeroInNeedle](byref,int,System.Runtime.Intrinsics.Vector128`1[ubyte]):int] G_M000_IG16: mov dword ptr [edi], eax mov eax, 1 mov edi, bword ptr [ebp-30H] jmp SHORT G_M000_IG19 G_M000_IG17: xor ecx, ecx mov dword ptr [ebp-10H], ecx G_M000_IG18: mov eax, ecx mov ebx, dword ptr [ebp+08H] G_M000_IG19: test eax, eax je SHORT G_M000_IG21 mov eax, dword ptr [ebp-10H] G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG21: push bword ptr [ebp+0CH] push ebx mov ecx, edi mov edx, esi call [System.Buffers.ProbabilisticMap:ProbabilisticIndexOfAny[System.SpanHelpers+DontNegate`1[ushort]](byref,int,byref,int):int] G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 354 141: JIT compiled System.Buffers.ProbabilisticMap:IndexOfAny[System.SpanHelpers+DontNegate`1[ushort]](byref,int,byref,int) [Tier-0 switched to FullOpts, IL size=148, code size=354] ; Assembly listing for method System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyLookup[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Default](System.Runtime.Intrinsics.Vector128`1[short],System.Runtime.Intrinsics.Vector128`1[short],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 116 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: G_M000_IG03: vmovups xmm0, xmmword ptr [ebp+28H] vpackuswb xmm0, xmm0, xmmword ptr [ebp+18H] vmovups xmmword ptr [ebp-64H], xmm0 vmovups xmm0, xmmword ptr [ebp-64H] vmovups xmmword ptr [ebp-14H], xmm0 vmovups xmm0, xmmword ptr [ebp-14H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp+08H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-24H] call [System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyLookupCore(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]] call [System.Buffers.IndexOfAnyAsciiSearcher+Default:get_NeedleContainsZero():bool] test eax, eax je SHORT G_M000_IG05 vmovups xmm0, xmmword ptr [ebp+28H] vpsubw xmm0, xmm0, xmmword ptr [@RWD00] vmovups xmm1, xmmword ptr [@RWD16] vpsubw xmm1, xmm1, xmmword ptr [@RWD00] vpcmpgtw xmm0, xmm1, xmm0 vmovups xmmword ptr [ebp-34H], xmm0 vmovups xmm0, xmmword ptr [ebp+18H] vpsubw xmm0, xmm0, xmmword ptr [@RWD00] vmovups xmm1, xmmword ptr [@RWD16] vpsubw xmm1, xmm1, xmmword ptr [@RWD00] vpcmpgtw xmm0, xmm1, xmm0 vmovups xmmword ptr [ebp-44H], xmm0 G_M000_IG04: vmovups xmm0, xmmword ptr [ebp-34H] vpacksswb xmm0, xmm0, xmmword ptr [ebp-44H] vmovups xmmword ptr [ebp-74H], xmm0 vmovups xmm0, xmmword ptr [ebp-74H] vmovups xmmword ptr [ebp-54H], xmm0 vmovups xmm0, xmmword ptr [ebp-24H] vpand xmm0, xmm0, xmmword ptr [ebp-54H] vmovups xmmword ptr [ebp-24H], xmm0 G_M000_IG05: vmovups xmm0, xmmword ptr [ebp-24H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 mov ecx, bword ptr [ebp-04H] call [System.Buffers.IndexOfAnyAsciiSearcher+DontNegate:NegateIfNeeded(System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte]] G_M000_IG06: mov esp, ebp pop ebp ret 48 RWD00 dq 8000800080008000h, 8000800080008000h RWD16 dq 0080008000800080h, 0080008000800080h ; Total bytes of code 226 142: JIT compiled System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyLookup[System.Buffers.IndexOfAnyAsciiSearcher+DontNegate,System.Buffers.IndexOfAnyAsciiSearcher+Default](System.Runtime.Intrinsics.Vector128`1[short],System.Runtime.Intrinsics.Vector128`1[short],System.Runtime.Intrinsics.Vector128`1[ubyte]) [Tier0, IL size=158, code size=226] ; Assembly listing for method System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyLookupCore(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 116 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: G_M000_IG03: vmovups xmm0, xmmword ptr [ebp+18H] vmovups xmmword ptr [ebp-64H], xmm0 vmovups xmm0, xmmword ptr [ebp-64H] vmovups xmmword ptr [ebp-14H], xmm0 vmovups xmm0, xmmword ptr [ebp+18H] vpsrld xmm0, xmm0, 4 vpand xmm0, xmm0, xmmword ptr [@RWD00] vmovups xmmword ptr [ebp-74H], xmm0 G_M000_IG04: vmovups xmm0, xmmword ptr [ebp-74H] vmovups xmmword ptr [ebp-24H], xmm0 vmovups xmm0, xmmword ptr [ebp+08H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-14H] sub esp, 16 vmovups xmmword ptr [esp], xmm0 lea ecx, [ebp-34H] 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 [@RWD16] sub esp, 16 vmovups xmmword ptr [esp], xmm0 vmovups xmm0, xmmword ptr [ebp-24H] 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]] vmovups xmm0, xmmword ptr [ebp-34H] vpand xmm0, xmm0, xmmword ptr [ebp-44H] vmovups xmmword ptr [ebp-54H], xmm0 mov eax, bword ptr [ebp-04H] vmovups xmm0, xmmword ptr [ebp-54H] vmovups xmmword ptr [eax], xmm0 G_M000_IG05: mov esp, ebp pop ebp ret 32 RWD00 dq 0F0F0F0F0F0F0F0Fh, 0F0F0F0F0F0F0F0Fh RWD16 dq 8040201008040201h, 0000000000000000h ; Total bytes of code 171 143: JIT compiled System.Buffers.IndexOfAnyAsciiSearcher:IndexOfAnyLookupCore(System.Runtime.Intrinsics.Vector128`1[ubyte],System.Runtime.Intrinsics.Vector128`1[ubyte]) [Tier0, IL size=106, code size=171] ; Assembly listing for method System.Buffers.IndexOfAnyAsciiSearcher+Default:get_NeedleContainsZero():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: xor eax, eax G_M000_IG03: pop ebp ret ; Total bytes of code 7 144: JIT compiled System.Buffers.IndexOfAnyAsciiSearcher+Default:get_NeedleContainsZero() [Tier0, IL size=2, code size=7] ; Assembly listing for method System.Buffers.IndexOfAnyAsciiSearcher+DontNegate:NegateIfNeeded(System.Runtime.Intrinsics.Vector128`1[ubyte]):System.Runtime.Intrinsics.Vector128`1[ubyte] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovups xmm0, xmmword ptr [ebp+08H] vmovups xmmword ptr [eax], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 16 ; Total bytes of code 28 145: JIT compiled System.Buffers.IndexOfAnyAsciiSearcher+DontNegate:NegateIfNeeded(System.Runtime.Intrinsics.Vector128`1[ubyte]) [Tier0, IL size=2, code size=28] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 231 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE movzx eax, byte ptr [D1FFAB1EH] G_M000_IG03: pop ebp ret ; Total bytes of code 27 146: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono() [Tier0, IL size=6, code size=27] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNewMono():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: movzx eax, byte ptr [D1FFAB1EH] G_M000_IG03: pop ebp ret ; Total bytes of code 12 147: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsNewMono() [Tier0, IL size=6, code size=12] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: xor eax, eax G_M000_IG03: pop ebp ret ; Total bytes of code 7 148: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework() [Tier0, IL size=2, code size=7] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax G_M000_IG02: call [System.Environment:get_Version():System.Version] mov ecx, eax cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 5 jge SHORT G_M000_IG03 call [System.Runtime.InteropServices.RuntimeInformation:get_FrameworkDescription():System.String] mov gword ptr [ebp-04H], eax push 5 mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.String:StartsWith(System.String,int):bool:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG03: mov gword ptr [ebp-08H], 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+14H]System.Type:get_Assembly():System.Reflection.Assembly:this mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+18H]System.Reflection.Assembly:get_Location():System.String:this mov ecx, eax call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax sete al movzx eax, al G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: xor eax, eax G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 133 149: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore() [Tier0, IL size=62, code size=133] ; Assembly listing for method System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 11 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov ebx, dword ptr [ebp+10H] mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge G_M000_IG20 G_M000_IG03: xor edi, edi cmp eax, 4 jl G_M000_IG14 add eax, -4 movsx edi, word ptr [ecx] movsx esi, dx cmp edi, esi je SHORT G_M000_IG04 mov dword ptr [ebp+10H], ebx movsx esi, bx cmp edi, esi je SHORT G_M000_IG04 movsx esi, word ptr [ebp+0CH] xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG04 movsx ebx, word ptr [ebp+10H] movsx edi, word ptr [ecx+02H] movsx esi, dx cmp edi, esi je SHORT G_M000_IG07 jmp SHORT G_M000_IG06 align [0 bytes for IG15] G_M000_IG04: xor eax, eax G_M000_IG05: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG06: mov dword ptr [ebp+10H], ebx movsx esi, bx cmp edi, esi je SHORT G_M000_IG07 movsx esi, word ptr [ebp+0CH] xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG07 movsx ebx, word ptr [ebp+10H] movsx edi, word ptr [ecx+04H] movsx esi, dx cmp edi, esi je SHORT G_M000_IG10 jmp SHORT G_M000_IG09 G_M000_IG07: mov eax, 1 G_M000_IG08: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG09: mov dword ptr [ebp+10H], ebx movsx esi, bx cmp edi, esi je SHORT G_M000_IG10 movsx esi, word ptr [ebp+0CH] xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG10 movsx ebx, word ptr [ebp+10H] movsx edi, word ptr [ecx+06H] movsx esi, dx cmp edi, esi je SHORT G_M000_IG13 jmp SHORT G_M000_IG12 G_M000_IG10: mov eax, 2 G_M000_IG11: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG12: mov dword ptr [ebp+10H], ebx movsx esi, bx cmp edi, esi je SHORT G_M000_IG13 movsx esi, word ptr [ebp+0CH] xor ebx, ebx cmp edi, esi sete bl test bl, bl jne SHORT G_M000_IG13 movsx ebx, word ptr [ebp+10H] mov edi, 4 jmp SHORT G_M000_IG14 G_M000_IG13: mov eax, 3 jmp G_M000_IG29 G_M000_IG14: test eax, eax mov dword ptr [ebp+10H], ebx jle G_M000_IG28 G_M000_IG15: dec eax movsx esi, word ptr [ecx+2*edi] movsx ebx, dx cmp esi, ebx je SHORT G_M000_IG19 G_M000_IG16: movsx ebx, word ptr [ebp+10H] cmp esi, ebx je SHORT G_M000_IG19 movsx ebx, word ptr [ebp+0CH] cmp esi, ebx sete bl movzx ebx, bl test bl, bl jne SHORT G_M000_IG19 G_M000_IG17: inc edi test eax, eax jg SHORT G_M000_IG15 G_M000_IG18: jmp G_M000_IG28 align [0 bytes for IG21] G_M000_IG19: mov eax, edi jmp G_M000_IG29 G_M000_IG20: movsx esi, word ptr [ebp+0CH] mov edi, ecx cmp eax, 16 jle G_M000_IG26 movzx edx, dl vmovd xmm0, edx vpbroadcastb ymm0, ymm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb ymm1, ymm1 mov ebx, esi movzx edx, bl vmovd xmm2, edx vpbroadcastb ymm2, ymm2 cmp eax, 32 jle SHORT G_M000_IG22 lea edx, bword ptr [edi+2*eax-40H] G_M000_IG21: vmovups ymm3, ymmword ptr [edi] vpackuswb ymm3, ymm3, ymmword ptr [edi+20H] vpcmpeqb ymm4, ymm0, ymm3 vpcmpeqb ymm5, ymm1, ymm3 vpor ymm4, ymm4, ymm5 vpcmpeqb ymm3, ymm2, ymm3 vpor ymm3, ymm4, ymm3 vptest ymm3, ymm3 jne SHORT G_M000_IG23 add edi, 64 cmp edi, edx jb SHORT G_M000_IG21 G_M000_IG22: lea eax, bword ptr [ecx+2*eax-20H] cmp edi, eax mov edx, edi cmova edx, eax jmp SHORT G_M000_IG24 G_M000_IG23: mov eax, edi sub eax, ecx shr eax, 1 vpermq ymm0, ymm3, -40 vpmovmskb edx, ymm0 xor ecx, ecx tzcnt ecx, edx add eax, ecx jmp G_M000_IG29 G_M000_IG24: vmovups ymm3, ymmword ptr [edx] vpackuswb ymm3, ymm3, ymmword ptr [eax] vpcmpeqb ymm0, ymm0, ymm3 vpcmpeqb ymm1, ymm1, ymm3 vpor ymm0, ymm0, ymm1 vpcmpeqb ymm1, ymm2, ymm3 vpor ymm0, ymm0, ymm1 vptest ymm0, ymm0 je G_M000_IG28 vpermq ymm0, ymm0, -40 vpmovmskb esi, ymm0 xor edi, edi tzcnt edi, esi cmp edi, 16 jl SHORT G_M000_IG25 mov edx, eax add edi, -16 G_M000_IG25: sub edx, ecx shr edx, 1 lea eax, [edx+edi] jmp SHORT G_M000_IG29 G_M000_IG26: movzx edx, dl vmovd xmm0, edx vpbroadcastb xmm0, xmm0 movzx edx, bl vmovd xmm1, edx vpbroadcastb xmm1, xmm1 mov ebx, esi movzx edx, bl vmovd xmm2, edx vpbroadcastb xmm2, xmm2 lea eax, bword ptr [edi+2*eax-10H] cmp ecx, eax mov edx, ecx cmova edx, eax vmovups xmm3, xmmword ptr [edx] vpackuswb xmm3, xmm3, xmmword ptr [eax] vpcmpeqb xmm0, xmm0, xmm3 vpcmpeqb xmm1, xmm1, xmm3 vpor xmm0, xmm0, xmm1 vpcmpeqb xmm1, xmm2, xmm3 vpor xmm0, xmm0, xmm1 vptest xmm0, xmm0 je SHORT G_M000_IG28 vpmovmskb esi, xmm0 tzcnt esi, esi cmp esi, 8 jl SHORT G_M000_IG27 mov edx, eax add esi, -8 G_M000_IG27: sub edx, ecx shr edx, 1 lea eax, [edx+esi] jmp SHORT G_M000_IG29 G_M000_IG28: mov eax, -1 G_M000_IG29: vzeroupper pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 673 150: JIT compiled System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int) [Tier-0 switched to FullOpts, IL size=934, code size=673] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 80 vxorps xmm4, xmm4 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 151: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion() [Tier0, IL size=285, code size=525] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetVersionInfo(System.String):System.Diagnostics.FileVersionInfo ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.IO.Path:IsPathFullyQualified(System.String):bool] test eax, eax jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] call [System.IO.Path:GetFullPath(System.String):System.String] mov gword ptr [ebp-04H], eax G_M000_IG03: mov ecx, gword ptr [ebp-04H] call [System.IO.File:Exists(System.String):bool] test eax, eax jne SHORT G_M000_IG05 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] call [System.IO.FileNotFoundException:.ctor(System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [System.Diagnostics.FileVersionInfo:.ctor(System.String):this] mov eax, gword ptr [ebp-08H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 120 152: JIT compiled System.Diagnostics.FileVersionInfo:GetVersionInfo(System.String) [Tier0, IL size=38, code size=120] ; Assembly listing for method System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge SHORT G_M000_IG07 G_M000_IG03: xor esi, esi cmp eax, 4 jl SHORT G_M000_IG04 add eax, -4 movsx edi, word ptr [ecx+2*esi] movsx ebx, dx cmp edi, ebx je G_M000_IG15 movsx edi, word ptr [ecx+2*esi+02H] cmp edi, ebx je G_M000_IG15 movsx edi, word ptr [ecx+2*esi+04H] cmp edi, ebx je G_M000_IG15 movsx edi, word ptr [ecx+2*esi+06H] cmp edi, ebx je G_M000_IG15 add esi, 4 G_M000_IG04: test eax, eax jle G_M000_IG17 movsx ebx, dx align [0 bytes for IG05] G_M000_IG05: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, ebx je G_M000_IG15 inc esi test eax, eax jg SHORT G_M000_IG05 G_M000_IG06: jmp G_M000_IG17 align [1 bytes for IG08] G_M000_IG07: cmp eax, 16 jl SHORT G_M000_IG11 movsx ebx, dx vmovd xmm0, ebx vpbroadcastw ymm0, ymm0 lea ebx, bword ptr [ecx+2*eax-20H] G_M000_IG08: vpcmpeqw ymm1, ymm0, ymmword ptr [ecx] vptest ymm1, ymm1 jne SHORT G_M000_IG15 add ecx, 32 cmp ecx, ebx jbe SHORT G_M000_IG08 G_M000_IG09: xor edx, edx mov ecx, 16 cmp edx, ecx jb SHORT G_M000_IG10 mov esi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, esi G_M000_IG10: div edx:eax, ecx or edx, 0 je SHORT G_M000_IG17 vpcmpeqw ymm0, ymm0, ymmword ptr [ebx] vptest ymm0, ymm0 je SHORT G_M000_IG17 jmp SHORT G_M000_IG15 align [0 bytes for IG12] G_M000_IG11: movsx ebx, dx vmovd xmm0, ebx vpbroadcastw xmm0, xmm0 mov edx, ecx lea ecx, bword ptr [edx+2*eax-10H] G_M000_IG12: vpcmpeqw xmm1, xmm0, xmmword ptr [edx] vptest xmm1, xmm1 jne SHORT G_M000_IG15 add edx, 16 cmp edx, ecx jbe SHORT G_M000_IG12 G_M000_IG13: xor edx, edx mov esi, 8 cmp edx, esi jb SHORT G_M000_IG14 mov edi, eax mov eax, edx xor edx, edx div edx:eax, esi mov eax, edi G_M000_IG14: div edx:eax, esi or edx, 0 je SHORT G_M000_IG17 vpcmpeqw xmm0, xmm0, xmmword ptr [ecx] vptest xmm0, xmm0 je SHORT G_M000_IG17 G_M000_IG15: mov eax, 1 G_M000_IG16: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG17: xor eax, eax G_M000_IG18: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 305 153: JIT compiled System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int) [Tier1, IL size=736, code size=305] ; Assembly listing for method System.Diagnostics.FileVersionInfo:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 xor eax, eax mov dword ptr [ebp-34H], eax mov dword ptr [ebp-38H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx mov gword ptr [ebp-1CH], edx G_M000_IG02: mov ecx, gword ptr [ebp-18H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-18H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-1CH] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-18H] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-34H], edx lea edx, [ebp-24H] push edx mov edx, gword ptr [ebp-34H] mov ecx, 1 call [Interop+Version:GetFileVersionInfoSizeEx(uint,System.String,byref):uint] mov dword ptr [ebp-20H], eax cmp dword ptr [ebp-20H], 0 je G_M000_IG11 mov ecx, dword ptr [ebp-20H] call [System.Runtime.InteropServices.NativeMemory:Alloc(uint):uint] mov dword ptr [ebp-28H], eax G_M000_IG03: mov edx, gword ptr [ebp-18H] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-38H], edx push 0 push dword ptr [ebp-20H] push dword ptr [ebp-28H] mov edx, gword ptr [ebp-38H] mov ecx, 3 call [Interop+Version:GetFileVersionInfoEx(uint,System.String,uint,uint,uint):bool] test eax, eax je G_M000_IG08 mov ecx, dword ptr [ebp-28H] call [System.Diagnostics.FileVersionInfo:GetLanguageAndCodePage(uint):uint] mov dword ptr [ebp-2CH], eax lea ecx, [ebp-2CH] mov edx, 0xD1FFAB1E call [System.UInt32:ToString(System.String):System.String:this] push eax mov edx, dword ptr [ebp-28H] mov ecx, gword ptr [ebp-18H] call [System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String):bool:this] test eax, eax jne SHORT G_M000_IG07 cmp dword ptr [ebp-2CH], 0xD1FFAB1E je SHORT G_M000_IG04 push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-28H] call [System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String):bool:this] test eax, eax jne SHORT G_M000_IG07 G_M000_IG04: cmp dword ptr [ebp-2CH], 0xD1FFAB1E je SHORT G_M000_IG05 push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-28H] call [System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String):bool:this] test eax, eax jne SHORT G_M000_IG07 G_M000_IG05: cmp dword ptr [ebp-2CH], 0xD1FFAB1E je SHORT G_M000_IG06 push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-28H] call [System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String):bool:this] mov dword ptr [ebp-30H], eax jmp SHORT G_M000_IG08 G_M000_IG06: xor ecx, ecx mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov dword ptr [ebp-30H], 1 G_M000_IG08: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG09 jmp SHORT G_M000_IG10 G_M000_IG09: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG11 G_M000_IG10: mov ecx, dword ptr [ebp-28H] call [System.Runtime.InteropServices.NativeMemory:Free(uint)] pop eax jmp eax G_M000_IG11: mov esp, ebp pop ebp ret ; Total bytes of code 331 154: JIT compiled System.Diagnostics.FileVersionInfo:.ctor(System.String) [Tier0, IL size=168, code size=331] ; Assembly listing for method Interop+Version:GetFileVersionInfoSizeEx(uint,System.String,byref):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 76 xor ebx, ebx mov dword ptr [ebp-20H], ebx mov dword ptr [ebp-28H], ebx mov dword ptr [ebp-10H], ecx mov gword ptr [ebp-14H], edx G_M000_IG02: lea edi, [ebp-54H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-30H], esi mov ecx, ebp mov dword ptr [ebp-40H], ecx mov ecx, bword ptr [ebp+08H] mov bword ptr [ebp-20H], ecx mov ecx, bword ptr [ebp-20H] mov dword ptr [ebp-34H], ecx mov ecx, dword ptr [ebp-34H] mov dword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-14H] call [System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller:GetPinnableReference(System.String):byref] mov bword ptr [ebp-28H], eax mov eax, bword ptr [ebp-28H] mov dword ptr [ebp-38H], eax mov eax, dword ptr [ebp-38H] mov dword ptr [ebp-24H], eax push dword ptr [ebp-1CH] push dword ptr [ebp-24H] push dword ptr [ebp-10H] mov dword ptr [ebp-4CH], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-48H], eax lea eax, G_M000_IG04 mov dword ptr [ebp-44H], eax mov eax, dword ptr [ebp-30H] mov byte ptr [eax+08H], 0 G_M000_IG03: call [Interop+Version:g____PInvoke|3_0(uint,uint,uint):uint] G_M000_IG04: mov esi, eax mov eax, dword ptr [ebp-30H] mov byte ptr [eax+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG05 call CORINFO_HELP_STOP_FOR_GC G_M000_IG05: xor eax, eax mov dword ptr [ebp-44H], eax mov dword ptr [ebp-18H], esi xor eax, eax mov bword ptr [ebp-28H], eax xor eax, eax mov bword ptr [ebp-20H], eax mov eax, dword ptr [ebp-18H] mov dword ptr [ebp-2CH], eax G_M000_IG06: mov eax, dword ptr [ebp-2CH] mov edx, dword ptr [ebp-30H] mov ecx, bword ptr [ebp-50H] mov dword ptr [edx+0CH], ecx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 193 155: JIT compiled Interop+Version:GetFileVersionInfoSizeEx(uint,System.String,byref) [Tier0, IL size=41, code size=193] ; Assembly listing for method Interop+Version:GetFileVersionInfoEx(uint,System.String,uint,uint,uint):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 68 xor ebx, ebx mov dword ptr [ebp-24H], ebx mov dword ptr [ebp-10H], ecx mov gword ptr [ebp-14H], edx G_M000_IG02: lea edi, [ebp-4CH] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-2CH], esi mov ecx, ebp mov dword ptr [ebp-38H], ecx mov ecx, gword ptr [ebp-14H] call [System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller:GetPinnableReference(System.String):byref] mov bword ptr [ebp-24H], eax mov eax, bword ptr [ebp-24H] mov dword ptr [ebp-30H], eax mov eax, dword ptr [ebp-30H] mov dword ptr [ebp-20H], eax push dword ptr [ebp+08H] push dword ptr [ebp+0CH] push dword ptr [ebp+10H] push dword ptr [ebp-20H] push dword ptr [ebp-10H] mov dword ptr [ebp-44H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-40H], eax lea eax, G_M000_IG04 mov dword ptr [ebp-3CH], eax mov eax, dword ptr [ebp-2CH] mov byte ptr [eax+08H], 0 G_M000_IG03: call [Interop+Version:g____PInvoke|2_0(uint,uint,uint,uint,uint):int] G_M000_IG04: mov esi, eax mov eax, dword ptr [ebp-2CH] mov byte ptr [eax+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG05 call CORINFO_HELP_STOP_FOR_GC G_M000_IG05: xor eax, eax mov dword ptr [ebp-3CH], eax mov dword ptr [ebp-1CH], esi xor eax, eax mov bword ptr [ebp-24H], eax xor eax, eax cmp dword ptr [ebp-1CH], 0 setne al mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp-18H] mov dword ptr [ebp-28H], eax G_M000_IG06: mov eax, dword ptr [ebp-28H] movzx eax, al mov edx, dword ptr [ebp-2CH] mov ecx, bword ptr [ebp-48H] mov dword ptr [edx+0CH], ecx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 188 156: JIT compiled Interop+Version:GetFileVersionInfoEx(uint,System.String,uint,uint,uint) [Tier0, IL size=32, code size=188] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetLanguageAndCodePage(uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov dword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp-08H] push ecx lea ecx, [ebp-0CH] push ecx mov ecx, dword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [Interop+Version:VerQueryValue(uint,System.String,byref,byref):bool] test eax, eax je SHORT G_M000_IG04 mov eax, dword ptr [ebp-08H] movzx eax, word ptr [eax] shl eax, 16 mov edx, dword ptr [ebp-08H] movzx edx, word ptr [edx+02H] add eax, edx G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 66 157: JIT compiled System.Diagnostics.FileVersionInfo:GetLanguageAndCodePage(uint) [Tier0, IL size=34, code size=66] ; Assembly listing for method Interop+Version:VerQueryValue(uint,System.String,byref,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 92 xor ebx, ebx mov dword ptr [ebp-24H], ebx mov dword ptr [ebp-2CH], ebx mov dword ptr [ebp-34H], ebx mov dword ptr [ebp-10H], ecx mov gword ptr [ebp-14H], edx G_M000_IG02: lea edi, [ebp-64H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-3CH], esi mov ecx, ebp mov dword ptr [ebp-50H], ecx mov ecx, bword ptr [ebp+0CH] xor eax, eax mov dword ptr [ecx], eax mov ecx, bword ptr [ebp+08H] mov bword ptr [ebp-24H], ecx mov ecx, bword ptr [ebp-24H] mov dword ptr [ebp-40H], ecx mov ecx, dword ptr [ebp-40H] mov dword ptr [ebp-20H], ecx mov ecx, bword ptr [ebp+0CH] mov bword ptr [ebp-2CH], ecx mov ecx, bword ptr [ebp-2CH] mov dword ptr [ebp-44H], ecx mov ecx, dword ptr [ebp-44H] mov dword ptr [ebp-28H], ecx mov ecx, gword ptr [ebp-14H] call [System.Runtime.InteropServices.Marshalling.Utf16StringMarshaller:GetPinnableReference(System.String):byref] mov bword ptr [ebp-34H], eax mov eax, bword ptr [ebp-34H] mov dword ptr [ebp-48H], eax mov eax, dword ptr [ebp-48H] mov dword ptr [ebp-30H], eax push dword ptr [ebp-20H] push dword ptr [ebp-28H] push dword ptr [ebp-30H] push dword ptr [ebp-10H] mov dword ptr [ebp-5CH], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-58H], eax lea eax, G_M000_IG04 mov dword ptr [ebp-54H], eax mov eax, dword ptr [ebp-3CH] mov byte ptr [eax+08H], 0 G_M000_IG03: call [Interop+Version:g____PInvoke|4_0(uint,uint,uint,uint):int] G_M000_IG04: mov esi, eax mov eax, dword ptr [ebp-3CH] mov byte ptr [eax+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG05 call CORINFO_HELP_STOP_FOR_GC G_M000_IG05: xor eax, eax mov dword ptr [ebp-54H], eax mov dword ptr [ebp-1CH], esi xor eax, eax mov bword ptr [ebp-34H], eax xor eax, eax mov bword ptr [ebp-2CH], eax xor eax, eax mov bword ptr [ebp-24H], eax xor eax, eax cmp dword ptr [ebp-1CH], 0 setne al mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp-18H] mov dword ptr [ebp-38H], eax G_M000_IG06: mov eax, dword ptr [ebp-38H] movzx eax, al mov edx, dword ptr [ebp-3CH] mov ecx, bword ptr [ebp-60H] mov dword ptr [edx+0CH], ecx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 244 158: JIT compiled Interop+Version:VerQueryValue(uint,System.String,byref,byref) [Tier0, IL size=69, code size=244] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 176 vxorps xmm4, xmm4 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 159: JIT compiled System.Diagnostics.FileVersionInfo:GetVersionInfoForCodePage(uint,System.String) [Tier0, IL size=1107, code size=1962] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: lea ecx, [ebp-0CH] push ecx lea ecx, [ebp-10H] push ecx mov ecx, dword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [Interop+Version:VerQueryValue(uint,System.String,byref,byref):bool] test eax, eax je SHORT G_M000_IG04 cmp dword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov ecx, dword ptr [ebp-0CH] call [System.Runtime.InteropServices.Marshal:PtrToStringUni(int):System.String] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 64 160: JIT compiled System.Diagnostics.FileVersionInfo:GetFileVersionString(uint,System.String) [Tier0, IL size=31, code size=64] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetFileVersionLanguage(uint):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 xor edx, edx mov dword ptr [ebp-24H], edx mov dword ptr [ebp-10H], esp mov dword ptr [ebp-2CH], 0xD1FFAB1E mov dword ptr [ebp-14H], ecx G_M000_IG02: lea edi, [ebp-48H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-28H], esi mov ecx, ebp mov dword ptr [ebp-34H], ecx mov ecx, dword ptr [ebp-14H] call [System.Diagnostics.FileVersionInfo:GetLanguageAndCodePage(uint):uint] shr eax, 16 mov dword ptr [ebp-18H], eax mov eax, -512 add eax, esp jb SHORT G_M000_IG03 xor eax, eax G_M000_IG03: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, eax jae SHORT G_M000_IG03 mov esp, eax lea eax, [esp] mov dword ptr [ebp-10H], esp mov dword ptr [ebp-1CH], eax push 256 push dword ptr [ebp-1CH] push dword ptr [ebp-18H] mov dword ptr [ebp-40H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-3CH], eax lea eax, G_M000_IG05 mov dword ptr [ebp-38H], eax mov eax, dword ptr [ebp-28H] mov byte ptr [eax+08H], 0 G_M000_IG04: call [Interop+Kernel32:VerLanguageName(uint,uint,uint):int] G_M000_IG05: mov esi, eax mov eax, dword ptr [ebp-28H] mov byte ptr [eax+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor ecx, ecx mov dword ptr [ebp-38H], ecx mov dword ptr [ebp-20H], esi push dword ptr [ebp-20H] mov ecx, dword ptr [ebp-1CH] xor edx, edx call System.String:.ctor(uint,int,int):this mov gword ptr [ebp-24H], eax G_M000_IG07: mov eax, gword ptr [ebp-24H] mov edx, dword ptr [ebp-28H] mov ecx, bword ptr [ebp-44H] mov dword ptr [edx+0CH], ecx cmp dword ptr [ebp-2CH], 0xD1FFAB1E je SHORT G_M000_IG08 call CORINFO_HELP_FAIL_FAST G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 219 161: JIT compiled System.Diagnostics.FileVersionInfo:GetFileVersionLanguage(uint) [Tier0, IL size=41, code size=219] ; Assembly listing for method System.Diagnostics.FileVersionInfo:GetFixedFileInfo(uint):Interop+Version+VS_FIXEDFILEINFO ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 68 vzeroupper mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: lea ecx, [ebp-0CH] push ecx lea ecx, [ebp-10H] push ecx mov ecx, dword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [Interop+Version:VerQueryValue(uint,System.String,byref,byref):bool] test eax, eax je SHORT G_M000_IG04 mov eax, dword ptr [ebp-0CH] mov edx, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [eax+14H] vmovdqu ymmword ptr [edx+14H], ymm0 G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: xor eax, eax vxorps ymm0, ymm0 vmovdqu ymmword ptr [ebp-44H], ymm0 vmovq qword ptr [ebp-24H], xmm0 vmovq qword ptr [ebp-1CH], xmm0 mov dword ptr [ebp-14H], eax 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 119 162: JIT compiled System.Diagnostics.FileVersionInfo:GetFixedFileInfo(uint) [Tier0, IL size=34, code size=119] ; Assembly listing for method System.Diagnostics.FileVersionInfo:HIWORD(uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov eax, dword ptr [ebp-04H] shr eax, 16 and eax, 0xFFFF G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 163: JIT compiled System.Diagnostics.FileVersionInfo:HIWORD(uint) [Tier0, IL size=11, code size=22] ; Assembly listing for method System.Diagnostics.FileVersionInfo:LOWORD(uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov eax, dword ptr [ebp-04H] and eax, 0xFFFF G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 19 164: JIT compiled System.Diagnostics.FileVersionInfo:LOWORD(uint) [Tier0, IL size=8, code size=19] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:TryGetVersion(byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vxorps xmm4, xmm4 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 165: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:TryGetVersion(byref) [Tier0, IL size=173, code size=404] ; Assembly listing for method System.Version:TryFormatCore[ushort](System.Span`1[ushort],int,byref):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 2 inlinees with PGO data; 17 single block inlinees; 7 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 56 xor eax, eax mov dword ptr [ebp-24H], eax mov esi, edx G_M000_IG02: mov eax, esi cmp eax, 4 ja G_M000_IG30 cmp esi, 3 jb SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [ecx+0CH], -1 je G_M000_IG31 cmp esi, 4 jne SHORT G_M000_IG04 cmp dword ptr [ecx+10H], -1 je G_M000_IG32 G_M000_IG04: xor ebx, ebx xor eax, eax mov dword ptr [ebp-10H], esi test esi, esi jle G_M000_IG23 G_M000_IG05: test eax, eax je SHORT G_M000_IG07 G_M000_IG06: mov edx, dword ptr [ebp+10H] test edx, edx je G_M000_IG25 mov edi, bword ptr [ebp+0CH] mov word ptr [edi], 46 mov edi, bword ptr [ebp+0CH] add edi, 2 dec edx mov bword ptr [ebp+0CH], edi mov dword ptr [ebp+10H], edx inc ebx G_M000_IG07: mov dword ptr [ebp-14H], eax cmp eax, 2 ja SHORT G_M000_IG11 lea edx, [@RWD00] mov eax, dword ptr [ebp-14H] mov edx, dword ptr [edx+4*eax] lea edi, G_M000_IG02 add edx, edi jmp edx G_M000_IG08: mov edx, dword ptr [ecx+04H] mov dword ptr [ebp-14H], eax mov gword ptr [ebp-34H], ecx jmp SHORT G_M000_IG12 align [1 bytes for IG14] G_M000_IG09: mov edx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], eax mov gword ptr [ebp-34H], ecx jmp SHORT G_M000_IG12 G_M000_IG10: mov edx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], eax mov gword ptr [ebp-34H], ecx jmp SHORT G_M000_IG12 G_M000_IG11: mov gword ptr [ebp-34H], ecx mov edx, dword ptr [ecx+10H] G_M000_IG12: mov dword ptr [ebp-1CH], edx mov edi, bword ptr [ebp+0CH] mov bword ptr [ebp-3CH], edi mov edx, dword ptr [ebp+10H] mov dword ptr [ebp-30H], edx mov edi, edx mov dword ptr [ebp-20H], edi mov edi, bword ptr [ebp-3CH] mov bword ptr [ebp-40H], edi mov edi, dword ptr [ebp-20H] mov dword ptr [ebp-2CH], edi mov edi, bword ptr [ebp-40H] mov bword ptr [ebp-38H], edi mov edi, dword ptr [ebp-2CH] mov dword ptr [ebp-28H], edi mov edi, dword ptr [ebp-1CH] mov esi, bword ptr [ebp-38H] mov bword ptr [ebp-44H], esi mov esi, edi or esi, 1 lzcnt esi, esi xor esi, 31 lea esi, [8*esi+D1FFAB1EH] mov ecx, dword ptr [esi] mov esi, dword ptr [esi+04H] add ecx, edi adc esi, 0 cmp esi, dword ptr [ebp-28H] jg SHORT G_M000_IG21 G_M000_IG13: mov dword ptr [ebp-18H], esi mov ecx, bword ptr [ebp-44H] mov bword ptr [ebp-24H], ecx lea ecx, [ecx+2*esi] cmp edi, 10 jb SHORT G_M000_IG19 cmp edi, 100 jb SHORT G_M000_IG18 G_M000_IG14: add ecx, -4 mov esi, 0xD1FFAB1E mov eax, edi mul edx:eax, esi shr edx, 5 imul eax, edx, 100 sub edi, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea eax, bword ptr [eax+4*edi+08H] mov eax, dword ptr [eax] mov dword ptr [ecx], eax cmp edx, 100 jae SHORT G_M000_IG17 G_M000_IG15: cmp edx, 10 jb SHORT G_M000_IG16 add ecx, -4 mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea edx, bword ptr [eax+4*edx+08H] mov eax, dword ptr [edx] mov dword ptr [ecx], eax jmp SHORT G_M000_IG20 G_M000_IG16: mov edi, edx jmp SHORT G_M000_IG19 G_M000_IG17: mov edi, edx jmp SHORT G_M000_IG14 G_M000_IG18: mov edx, edi jmp SHORT G_M000_IG15 G_M000_IG19: lea esi, [edi+30H] mov word ptr [ecx-02H], si G_M000_IG20: xor ecx, ecx mov bword ptr [ebp-24H], ecx mov ecx, 1 jmp SHORT G_M000_IG22 G_M000_IG21: xor ecx, ecx mov dword ptr [ebp-18H], ecx G_M000_IG22: xor esi, esi mov bword ptr [ebp-24H], esi test cl, cl je SHORT G_M000_IG27 add ebx, dword ptr [ebp-18H] mov ecx, dword ptr [ebp-18H] mov edx, dword ptr [ebp-30H] cmp ecx, edx ja G_M000_IG33 mov esi, bword ptr [ebp+0CH] lea esi, bword ptr [esi+2*ecx] sub edx, ecx mov bword ptr [ebp+0CH], esi mov dword ptr [ebp+10H], edx mov eax, dword ptr [ebp-14H] inc eax mov esi, dword ptr [ebp-10H] cmp eax, esi mov dword ptr [ebp-10H], esi mov ecx, gword ptr [ebp-34H] jl G_M000_IG05 G_M000_IG23: mov edi, bword ptr [ebp+08H] mov dword ptr [edi], ebx mov eax, 1 G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG25: xor eax, eax mov edi, bword ptr [ebp+08H] mov dword ptr [edi], eax G_M000_IG26: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG27: xor eax, eax mov edi, bword ptr [ebp+08H] mov dword ptr [edi], eax G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG29: call CORINFO_HELP_OVERFLOW G_M000_IG30: mov ecx, 0x14308 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.Version:g__ThrowArgumentException|35_0[ushort](System.String)] int3 G_M000_IG31: mov ecx, 0x1430C mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.Version:g__ThrowArgumentException|35_0[ushort](System.String)] int3 G_M000_IG32: mov ecx, 0x14310 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.Version:g__ThrowArgumentException|35_0[ushort](System.String)] int3 G_M000_IG33: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 RWD00 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 ; Total bytes of code 588 166: JIT compiled System.Version:TryFormatCore[ushort](System.Span`1[ushort],int,byref) [Tier-0 switched to FullOpts, IL size=331, code size=588] ; Assembly listing for method System.Diagnostics.FileVersionInfo:get_FileVersion():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 167: JIT compiled System.Diagnostics.FileVersionInfo:get_FileVersion() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_RuntimeVersion(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 168: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_RuntimeVersion(System.String) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetConfiguration():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: call [System.Reflection.Assembly:GetEntryAssembly():System.Reflection.Assembly] mov ecx, eax call [BenchmarkDotNet.Extensions.AssemblyExtensions:IsDebug(System.Reflection.Assembly):System.Nullable`1[bool]] mov word ptr [ebp-04H], ax lea ecx, [ebp-04H] call [System.Nullable`1[bool]:get_HasValue():bool:this] test eax, eax jne SHORT G_M000_IG04 mov eax, 0xD1FFAB1E G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: lea ecx, [ebp-04H] call [System.Nullable`1[bool]:get_Value():bool:this] test eax, eax jne SHORT G_M000_IG06 mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov eax, 0xD1FFAB1E G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 80 169: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetConfiguration() [Tier0, IL size=47, code size=80] ; Assembly listing for method BenchmarkDotNet.Extensions.AssemblyExtensions:IsDebug(System.Reflection.Assembly):System.Nullable`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Extensions.AssemblyExtensions:GetDebuggableAttribute(System.Reflection.Assembly):System.Diagnostics.DebuggableAttribute] mov ecx, eax call [BenchmarkDotNet.Extensions.AssemblyExtensions:IsJitTrackingEnabled(System.Diagnostics.DebuggableAttribute):System.Nullable`1[bool]] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 170: JIT compiled BenchmarkDotNet.Extensions.AssemblyExtensions:IsDebug(System.Reflection.Assembly) [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Extensions.AssemblyExtensions:GetDebuggableAttribute(System.Reflection.Assembly):System.Diagnostics.DebuggableAttribute ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [System.Reflection.CustomAttributeExtensions:GetCustomAttributes(System.Reflection.Assembly):System.Collections.Generic.IEnumerable`1[System.Attribute]] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.Linq.Enumerable:OfType[System.__Canon](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [System.Linq.Enumerable:SingleOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 76 171: JIT compiled BenchmarkDotNet.Extensions.AssemblyExtensions:GetDebuggableAttribute(System.Reflection.Assembly) [Tier0, IL size=22, code size=76] ; Assembly listing for method System.Linq.Enumerable:OfType[System.__Canon](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG06: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [System.Linq.Enumerable:OfTypeIterator[System.__Canon](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 90 172: JIT compiled System.Linq.Enumerable:OfType[System.__Canon](System.Collections.IEnumerable) [Tier0, IL size=17, code size=90] ; Assembly listing for method System.Linq.Enumerable:OfTypeIterator[System.__Canon](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, -2 call [System.Linq.Enumerable+d__65`1[System.__Canon]:.ctor(int):this] mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 108 173: JIT compiled System.Linq.Enumerable:OfTypeIterator[System.__Canon](System.Collections.IEnumerable) [Tier0, IL size=15, code size=108] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+14H], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+18H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 174: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method System.Linq.Enumerable:SingleOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov edx, dword ptr [ebp-0CH] mov edx, dword ptr [edx+0CH] mov edx, dword ptr [edx+08H] mov dword ptr [ebp-14H], edx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: push dword ptr [ebp-14H] lea edx, [ebp-10H] mov ecx, gword ptr [ebp-08H] call [System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 76 175: JIT compiled System.Linq.Enumerable:SingleOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=9, code size=76] ; Assembly listing for method System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 92 vxorps xmm4, xmm4 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 176: JIT compiled System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref) [Tier0, IL size=147, code size=625] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+14H], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+18H] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+14H], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Linq.Enumerable+d__65`1[System.__Canon]:.ctor(int):this] mov edx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], edx G_M000_IG04: mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+0CH] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 115 177: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=55, code size=115] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-1CH], ecx G_M000_IG02: mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx+14H] test ecx, ecx je SHORT G_M000_IG04 G_M000_IG03: cmp ecx, 1 je G_M000_IG07 xor eax, eax jmp G_M000_IG12 G_M000_IG04: mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+14H], -1 mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+08H] call [System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this] mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+10H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG07 G_M000_IG05: mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+10H] call [System.Collections.IEnumerator:get_Current():System.Object:this] mov esi, eax mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov edx, esi call [CORINFO_HELP_ISINSTANCEOFANY] test eax, eax je SHORT G_M000_IG08 G_M000_IG06: mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov edx, esi call [CORINFO_HELP_CHKCASTANY] mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+14H], 1 mov eax, 1 jmp SHORT G_M000_IG12 G_M000_IG07: mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+14H], -3 G_M000_IG08: mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+10H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG05 G_M000_IG09: mov ecx, gword ptr [ebp-1CH] call [System.Linq.Enumerable+d__65`1[System.__Canon]:<>m__Finally1():this] mov eax, gword ptr [ebp-1CH] xor ecx, ecx mov gword ptr [eax+10H], ecx G_M000_IG10: xor eax, eax jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, gword ptr [ebp-1CH] call [System.Linq.Enumerable+d__65`1[System.__Canon]:System.IDisposable.Dispose():this] pop eax jmp eax G_M000_IG12: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 227 178: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=144, code size=227] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 179: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:<>m__Finally1():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov dword ptr [edx+14H], -1 mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+10H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-08H], eax cmp gword ptr [ebp-08H], 0 je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-08H] call [System.IDisposable:Dispose():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 63 180: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:<>m__Finally1() [Tier0, IL size=29, code size=63] ; Assembly listing for method System.Linq.Enumerable+d__65`1[System.__Canon]:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-1CH], ecx cmp dword ptr [ebp-1CH], -3 je SHORT G_M000_IG03 cmp dword ptr [ebp-1CH], 1 jne SHORT G_M000_IG06 G_M000_IG03: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG04 jmp SHORT G_M000_IG05 G_M000_IG04: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, gword ptr [ebp-18H] call [System.Linq.Enumerable+d__65`1[System.__Canon]:<>m__Finally1():this] pop eax jmp eax G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 81 181: JIT compiled System.Linq.Enumerable+d__65`1[System.__Canon]:System.IDisposable.Dispose() [Tier0, IL size=27, code size=81] ; Assembly listing for method BenchmarkDotNet.Extensions.AssemblyExtensions:IsJitTrackingEnabled(System.Diagnostics.DebuggableAttribute):System.Nullable`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG04 mov word ptr [ebp-08H], 0 mov eax, dword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov word ptr [ebp-0CH], 0 mov ecx, gword ptr [ebp-04H] call [System.Diagnostics.DebuggableAttribute:get_IsJITTrackingEnabled():bool:this] mov dword ptr [ebp-10H], eax mov edx, dword ptr [ebp-10H] lea ecx, [ebp-0CH] call [System.Nullable`1[bool]:.ctor(bool):this] mov eax, dword ptr [ebp-0CH] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 70 182: JIT compiled BenchmarkDotNet.Extensions.AssemblyExtensions:IsJitTrackingEnabled(System.Diagnostics.DebuggableAttribute) [Tier0, IL size=25, code size=70] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_Configuration(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 183: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_Configuration(System.String) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:HasRyuJit():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool] test eax, eax je SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool] test eax, eax je SHORT G_M000_IG06 mov eax, 1 G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: call [BenchmarkDotNet.Portability.RuntimeInformation:Is64BitPlatform():bool] test eax, eax je SHORT G_M000_IG08 call [BenchmarkDotNet.Portability.RuntimeInformation:GetConfiguration():System.String] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.String:op_Inequality(System.String,System.String):bool] test eax, eax je SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Portability.RuntimeInformation+JitHelper:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, 1 call [BenchmarkDotNet.Portability.RuntimeInformation+JitHelper:IsMsX64(int):bool:this] test eax, eax sete al movzx eax, al G_M000_IG07: mov esp, ebp pop ebp ret G_M000_IG08: xor eax, eax G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 140 184: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:HasRyuJit() [Tier0, IL size=59, code size=140] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasRyuJit(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+21H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 185: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasRyuJit(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetJitInfo():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT():bool] test eax, eax je SHORT G_M000_IG03 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG03: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetNative():bool] test eax, eax jne SHORT G_M000_IG04 call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsAot():bool] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG05: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool] test eax, eax jne SHORT G_M000_IG06 call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool] test eax, eax je SHORT G_M000_IG07 G_M000_IG06: mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG07: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool] test eax, eax jne SHORT G_M000_IG08 call [BenchmarkDotNet.Portability.RuntimeInformation:HasRyuJit():bool] test eax, eax je SHORT G_M000_IG09 G_M000_IG08: mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG09: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool] test eax, eax je SHORT G_M000_IG10 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG10: mov gword ptr [ebp-04H], 0xD1FFAB1E G_M000_IG11: mov eax, gword ptr [ebp-04H] G_M000_IG12: mov esp, ebp pop ebp ret ; Total bytes of code 148 186: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetJitInfo() [Tier0, IL size=92, code size=148] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: call [System.Environment:get_Version():System.Version] mov ecx, eax cmp dword ptr [ecx], ecx call [System.Version:get_Major():int:this] cmp eax, 5 jl SHORT G_M000_IG04 mov gword ptr [ebp-04H], 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+14H]System.Type:get_Assembly():System.Reflection.Assembly:this mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+18H]System.Reflection.Assembly:get_Location():System.String:this mov ecx, eax call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG04 call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool] test eax, eax sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: xor eax, eax G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 109 187: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT() [Tier0, IL size=51, code size=109] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetNative():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: call [System.Runtime.InteropServices.RuntimeInformation:get_FrameworkDescription():System.String] mov gword ptr [ebp-04H], eax push 5 mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.String:StartsWith(System.String,int):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 40 188: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetNative() [Tier0, IL size=17, code size=40] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsAot():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [System.Runtime.CompilerServices.RuntimeFeature:get_IsDynamicCodeCompiled():bool] test eax, eax sete al movzx eax, al G_M000_IG03: pop ebp ret ; Total bytes of code 19 189: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsAot() [Tier0, IL size=9, code size=19] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_JitInfo(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 190: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_JitInfo(System.String) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetShortInfo():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Avx2Supported():bool] test eax, eax je SHORT G_M000_IG03 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp G_M000_IG14 G_M000_IG03: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AvxSupported():bool] test eax, eax je SHORT G_M000_IG04 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp G_M000_IG14 G_M000_IG04: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse42Supported():bool] test eax, eax je SHORT G_M000_IG05 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp G_M000_IG14 G_M000_IG05: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse41Supported():bool] test eax, eax je SHORT G_M000_IG06 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp G_M000_IG14 G_M000_IG06: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Ssse3Supported():bool] test eax, eax je SHORT G_M000_IG07 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG07: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse3Supported():bool] test eax, eax je SHORT G_M000_IG08 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG08: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse2Supported():bool] test eax, eax je SHORT G_M000_IG09 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG09: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86SseSupported():bool] test eax, eax je SHORT G_M000_IG10 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG10: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86BaseSupported():bool] test eax, eax je SHORT G_M000_IG11 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG11: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmAdvSimdSupported():bool] test eax, eax je SHORT G_M000_IG12 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG12: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmBaseSupported():bool] test eax, eax je SHORT G_M000_IG13 mov gword ptr [ebp-04H], 0xD1FFAB1E jmp SHORT G_M000_IG14 G_M000_IG13: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetVectorSize():System.String] mov gword ptr [ebp-04H], eax G_M000_IG14: mov eax, gword ptr [ebp-04H] G_M000_IG15: mov esp, ebp pop ebp ret ; Total bytes of code 246 191: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetShortInfo() [Tier0, IL size=149, code size=246] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Avx2Supported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 192: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Avx2Supported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HardwareIntrinsicsShort(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+1CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 193: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HardwareIntrinsicsShort(System.String) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_IsServerGC(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+22H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 194: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_IsServerGC(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_IsConcurrentGC(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+23H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 195: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_IsConcurrentGC(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasAttachedDebugger(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+20H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 196: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_HasAttachedDebugger(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vzeroupper G_M000_IG02: call [BenchmarkDotNet.Engines.GcStats:CalculateAllocationQuantumSize():long] mov dword ptr [ebp-28H], eax mov dword ptr [ebp-24H], edx mov ecx, dword ptr [ebp-28H] mov dword ptr [ebp-2CH], 0xD1FFAB1E mov edx, dword ptr [ebp-2CH] mov dword ptr [edx], ecx mov ecx, dword ptr [ebp-24H] mov edx, dword ptr [ebp-2CH] mov dword ptr [edx+04H], ecx vxorps ymm0, ymm0 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 197: JIT compiled BenchmarkDotNet.Engines.GcStats:.cctor() [Tier0, IL size=28, code size=98] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:CalculateAllocationQuantumSize():long ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 56 xor ecx, ecx mov dword ptr [ebp-14H], ecx mov dword ptr [ebp-10H], ecx G_M000_IG02: lea edi, [ebp-40H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-2CH], eax xor edi, edi G_M000_IG03: inc edi cmp edi, 10 jg G_M000_IG16 G_M000_IG04: push 2 push -1 mov dword ptr [ebp-38H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-34H], eax lea eax, G_M000_IG06 mov dword ptr [ebp-30H], eax mov byte ptr [esi+08H], 0 G_M000_IG05: call [System.GC:_Collect(int,int)] G_M000_IG06: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG07 call CORINFO_HELP_STOP_FOR_GC G_M000_IG07: xor eax, eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-38H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-34H], eax lea eax, G_M000_IG09 mov dword ptr [ebp-30H], eax mov byte ptr [esi+08H], 0 G_M000_IG08: call [System.GC:_WaitForPendingFinalizers()] G_M000_IG09: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG10 call CORINFO_HELP_STOP_FOR_GC G_M000_IG10: xor eax, eax mov dword ptr [ebp-30H], eax push 2 push -1 mov dword ptr [ebp-38H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-34H], eax lea eax, G_M000_IG12 mov dword ptr [ebp-30H], eax mov byte ptr [esi+08H], 0 G_M000_IG11: call [System.GC:_Collect(int,int)] G_M000_IG12: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG13 call CORINFO_HELP_STOP_FOR_GC G_M000_IG13: xor ecx, ecx mov dword ptr [ebp-30H], ecx G_M000_IG14: call [System.GC:GetTotalMemory(bool):long] mov ebx, eax mov dword ptr [ebp-18H], edx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-24H], eax xor ecx, ecx call [System.GC:GetTotalMemory(bool):long] sub eax, ebx sbb edx, dword ptr [ebp-18H] mov ebx, eax cmp ebx, 1 mov eax, edx sbb eax, 0 jl G_M000_IG03 G_M000_IG15: jmp SHORT G_M000_IG17 G_M000_IG16: xor edx, edx mov ebx, 0x2000 xor edi, edi mov edx, edi G_M000_IG17: mov eax, bword ptr [ebp-3CH] mov dword ptr [esi+0CH], eax mov eax, ebx G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 294 198: JIT compiled BenchmarkDotNet.Engines.GcStats:CalculateAllocationQuantumSize() [Tier-0 switched to FullOpts, IL size=68, code size=294] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:.ctor(int,int,int,long,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+1CH] mov dword ptr [eax+04H], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+18H] mov dword ptr [eax+08H], edx mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+14H] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] add eax, 24 mov bword ptr [ebp-10H], eax mov eax, bword ptr [ebp-10H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-10H] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 104 199: JIT compiled BenchmarkDotNet.Engines.GcStats:.ctor(int,int,int,long,long) [Tier0, IL size=38, code size=104] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_GCAllocationQuantum(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-08H] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 46 200: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_GCAllocationQuantum(long) [Tier0, IL size=8, code size=46] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:get_IsRunningInContainer():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call [System.Environment:GetEnvironmentVariable(System.String):System.String] mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [System.String:Equals(System.String,System.String):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 201: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:get_IsRunningInContainer() [Tier0, IL size=21, code size=41] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_InDocker(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+24H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 202: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:set_InDocker(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:ToFormattedString():System.Collections.Generic.IEnumerable`1[System.String]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, -2 call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:.ctor(int):this] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 203: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:ToFormattedString() [Tier0, IL size=15, code size=62] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+0CH], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+10H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 204: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.String]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+0CH], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+10H] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+0CH], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:.ctor(int):this] mov edx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], edx mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+08H] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG04: mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 115 205: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=55, code size=115] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vxorps xmm4, xmm4 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 206: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:MoveNext() [Tier0, IL size=217, code size=344] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.Collections.Generic.IEnumerator.get_Current():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 207: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetRuntimeInfo():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 72 vxorps xmm4, xmm4 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 208: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetRuntimeInfo() [Tier0, IL size=164, code size=434] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_JitInfo():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 209: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_JitInfo() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HardwareIntrinsicsShort():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 210: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HardwareIntrinsicsShort() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetConfigurationFlag():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Configuration():System.String:this] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.String:op_Equality(System.String,System.String):bool] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Configuration():System.String:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [System.String:op_Equality(System.String,System.String):bool] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Configuration():System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 99 211: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetConfigurationFlag() [Tier0, IL size=49, code size=99] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Configuration():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 212: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Configuration() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetDebuggerFlag():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HasAttachedDebugger():bool:this] test eax, eax jne SHORT G_M000_IG04 mov eax, 0xD1FFAB1E G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 38 213: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetDebuggerFlag() [Tier0, IL size=20, code size=38] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HasAttachedDebugger():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+20H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 214: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_HasAttachedDebugger() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 215: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 216: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 84 vxorps xmm4, xmm4 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 217: JIT compiled System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]) [Tier0, IL size=94, code size=648] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 218: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+0CH], 0 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+08H] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] je SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]System.Linq.Enumerable+Iterator`1[System.__Canon]:Clone():System.Linq.Enumerable+Iterator`1[System.__Canon]:this mov gword ptr [ebp-0CH], eax jmp SHORT G_M000_IG05 G_M000_IG04: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax G_M000_IG05: mov eax, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov dword ptr [eax+0CH], 1 mov eax, gword ptr [ebp-08H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 93 219: JIT compiled System.Linq.Enumerable+Iterator`1[System.__Canon]:GetEnumerator() [Tier0, IL size=40, code size=93] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 16 mov esi, ecx G_M000_IG02: mov edi, dword ptr [esi+0CH] dec edi mov ebx, gword ptr [esi+10H] mov gword ptr [ebp-18H], ebx mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-14H], eax cmp eax, edi jbe SHORT G_M000_IG04 G_M000_IG03: cmp edi, eax jae SHORT G_M000_IG09 mov edi, gword ptr [ebx+4*edi+08H] mov ecx, dword ptr [esi+0CH] lea edx, [ecx+01H] mov dword ptr [esi+0CH], edx mov dword ptr [ebp-10H], ecx mov ecx, gword ptr [esi+14H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ecx+04H] mov edx, edi mov ebx, gword ptr [ebp-1CH] call [ebx+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax jne SHORT G_M000_IG07 mov edi, dword ptr [ebp-14H] mov ebx, dword ptr [ebp-10H] cmp edi, ebx mov eax, edi ja SHORT G_M000_IG06 G_M000_IG04: xor eax, eax mov gword ptr [esi+04H], eax mov dword ptr [esi+0CH], -1 G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG06: mov edi, ebx mov ebx, gword ptr [ebp-18H] jmp SHORT G_M000_IG03 G_M000_IG07: lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EDI mov eax, 1 G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 138 220: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=81, code size=138] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:b__54_0(System.String):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [System.String:op_Inequality(System.String,System.String):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 221: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+<>c:b__54_0(System.String) [Tier0, IL size=12, code size=30] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[System.__Canon]:get_Current():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 222: JIT compiled System.Linq.Enumerable+Iterator`1[System.__Canon]:get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[System.__Canon]:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] xor edx, edx mov gword ptr [eax+04H], edx mov eax, gword ptr [ebp-04H] mov dword ptr [eax+0CH], -1 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 29 223: JIT compiled System.Linq.Enumerable+Iterator`1[System.__Canon]:Dispose() [Tier0, IL size=20, code size=29] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_RuntimeVersion():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 224: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_RuntimeVersion() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Architecture():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 225: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_Architecture() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcConcurrentFlag():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsConcurrentGC():bool:this] test eax, eax jne SHORT G_M000_IG04 mov eax, 0xD1FFAB1E G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 38 226: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcConcurrentFlag() [Tier0, IL size=20, code size=38] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsConcurrentGC():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+23H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 227: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsConcurrentGC() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcServerFlag():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsServerGC():bool:this] test eax, eax jne SHORT G_M000_IG04 mov eax, 0xD1FFAB1E G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 38 228: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:GetGcServerFlag() [Tier0, IL size=20, code size=38] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsServerGC():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+22H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 229: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo:get_IsServerGC() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetFullInfo(int):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-04H] call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:g__GetCurrentProcessInstructionSets|2_0(int):System.Collections.Generic.IEnumerable`1[System.String]] mov gword ptr [ebp-08H], eax mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [System.String:Join(System.String,System.Collections.Generic.IEnumerable`1[System.String]):System.String] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 44 230: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetFullInfo(int) [Tier0, IL size=17, code size=44] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:g__GetCurrentProcessInstructionSets|2_0(int):System.Collections.Generic.IEnumerable`1[System.String] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, -2 call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:.ctor(int):this] mov eax, gword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] mov dword ptr [eax+14H], edx mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 57 231: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:g__GetCurrentProcessInstructionSets|2_0(int) [Tier0, IL size=15, code size=57] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+08H], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+0CH], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 232: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.String]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+08H], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+08H], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:.ctor(int):this] mov eax, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], eax G_M000_IG04: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+14H] mov edx, gword ptr [ebp-08H] mov dword ptr [edx+10H], eax mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 110 233: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=55, code size=110] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+08H] mov dword ptr [ebp-08H], eax cmp dword ptr [ebp-08H], 26 ja SHORT G_M000_IG03 mov eax, dword ptr [ebp-08H] lea edx, [@RWD00] mov edx, dword ptr [edx+4*eax] lea ecx, G_M000_IG02 add edx, ecx jmp edx G_M000_IG03: jmp G_M000_IG61 G_M000_IG04: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+10H] mov dword ptr [ebp-0CH], eax mov eax, dword ptr [ebp-0CH] dec eax cmp eax, 1 jbe SHORT G_M000_IG05 cmp dword ptr [ebp-0CH], 4 je G_M000_IG41 jmp G_M000_IG59 G_M000_IG05: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Avx2Supported():bool] test eax, eax je SHORT G_M000_IG07 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 1 jmp G_M000_IG56 G_M000_IG06: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG07: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AvxSupported():bool] test eax, eax je SHORT G_M000_IG09 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 2 jmp G_M000_IG56 G_M000_IG08: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG09: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse42Supported():bool] test eax, eax je SHORT G_M000_IG11 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 3 jmp G_M000_IG56 G_M000_IG10: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG11: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse41Supported():bool] test eax, eax je SHORT G_M000_IG13 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 4 jmp G_M000_IG56 G_M000_IG12: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG13: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Ssse3Supported():bool] test eax, eax je SHORT G_M000_IG15 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 5 jmp G_M000_IG56 G_M000_IG14: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG15: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse3Supported():bool] test eax, eax je SHORT G_M000_IG17 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 6 jmp G_M000_IG56 G_M000_IG16: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG23 G_M000_IG17: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Sse2Supported():bool] test eax, eax je SHORT G_M000_IG19 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 7 jmp G_M000_IG56 G_M000_IG18: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp SHORT G_M000_IG23 G_M000_IG19: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86SseSupported():bool] test eax, eax je SHORT G_M000_IG21 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 8 jmp G_M000_IG56 G_M000_IG20: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp SHORT G_M000_IG23 G_M000_IG21: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86BaseSupported():bool] test eax, eax je SHORT G_M000_IG23 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 9 jmp G_M000_IG56 G_M000_IG22: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG23: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AesSupported():bool] test eax, eax je SHORT G_M000_IG25 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 10 jmp G_M000_IG56 G_M000_IG24: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG25: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi1Supported():bool] test eax, eax je SHORT G_M000_IG27 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 11 jmp G_M000_IG56 G_M000_IG26: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG27: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi2Supported():bool] test eax, eax je SHORT G_M000_IG29 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 12 jmp G_M000_IG56 G_M000_IG28: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG29: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86FmaSupported():bool] test eax, eax je SHORT G_M000_IG31 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 13 jmp G_M000_IG56 G_M000_IG30: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG31: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86LzcntSupported():bool] test eax, eax je SHORT G_M000_IG33 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 14 jmp G_M000_IG56 G_M000_IG32: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG33: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PclmulqdqSupported():bool] test eax, eax je SHORT G_M000_IG35 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 15 jmp G_M000_IG56 G_M000_IG34: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG35: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PopcntSupported():bool] test eax, eax je SHORT G_M000_IG37 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 16 jmp G_M000_IG56 G_M000_IG36: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG37: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AvxVnniSupported():bool] test eax, eax je SHORT G_M000_IG39 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 17 jmp G_M000_IG56 G_M000_IG38: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG39: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86SerializeSupported():bool] test eax, eax je G_M000_IG60 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 18 jmp G_M000_IG56 G_M000_IG40: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp G_M000_IG60 G_M000_IG41: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmAdvSimdSupported():bool] test eax, eax je SHORT G_M000_IG43 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 19 jmp G_M000_IG56 G_M000_IG42: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp SHORT G_M000_IG45 G_M000_IG43: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmBaseSupported():bool] test eax, eax je SHORT G_M000_IG45 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 20 jmp G_M000_IG56 G_M000_IG44: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG45: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmAesSupported():bool] test eax, eax je SHORT G_M000_IG47 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 21 jmp G_M000_IG56 G_M000_IG46: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG47: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmCrc32Supported():bool] test eax, eax je SHORT G_M000_IG49 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 22 jmp G_M000_IG56 G_M000_IG48: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG49: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmDpSupported():bool] test eax, eax je SHORT G_M000_IG51 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 23 jmp SHORT G_M000_IG56 G_M000_IG50: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG51: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmRdmSupported():bool] test eax, eax je SHORT G_M000_IG53 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 24 jmp SHORT G_M000_IG56 G_M000_IG52: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG53: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmSha1Supported():bool] test eax, eax je SHORT G_M000_IG55 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 25 jmp SHORT G_M000_IG56 G_M000_IG54: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG55: call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsArmSha256Supported():bool] test eax, eax je SHORT G_M000_IG60 mov eax, gword ptr [ebp-04H] mov gword ptr [eax+04H], 0xD1FFAB1E mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], 26 G_M000_IG56: mov eax, 1 G_M000_IG57: mov esp, ebp pop ebp ret G_M000_IG58: mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 jmp SHORT G_M000_IG60 G_M000_IG59: jmp SHORT G_M000_IG61 G_M000_IG60: G_M000_IG61: xor eax, eax G_M000_IG62: mov esp, ebp pop ebp ret RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 dd G_M000_IG12 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 dd G_M000_IG16 - G_M000_IG02 dd G_M000_IG18 - G_M000_IG02 dd G_M000_IG20 - G_M000_IG02 dd G_M000_IG22 - G_M000_IG02 dd G_M000_IG24 - G_M000_IG02 dd G_M000_IG26 - G_M000_IG02 dd G_M000_IG28 - G_M000_IG02 dd G_M000_IG30 - G_M000_IG02 dd G_M000_IG32 - G_M000_IG02 dd G_M000_IG34 - G_M000_IG02 dd G_M000_IG36 - G_M000_IG02 dd G_M000_IG38 - G_M000_IG02 dd G_M000_IG40 - G_M000_IG02 dd G_M000_IG42 - G_M000_IG02 dd G_M000_IG44 - G_M000_IG02 dd G_M000_IG46 - G_M000_IG02 dd G_M000_IG48 - G_M000_IG02 dd G_M000_IG50 - G_M000_IG02 dd G_M000_IG52 - G_M000_IG02 dd G_M000_IG54 - G_M000_IG02 dd G_M000_IG58 - G_M000_IG02 ; Total bytes of code 1322 234: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:MoveNext() [Tier0, IL size=1104, code size=1322] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.Collections.Generic.IEnumerator.get_Current():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 235: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AesSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 236: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AesSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi1Supported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 237: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi1Supported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi2Supported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 238: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86Bmi2Supported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86FmaSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 239: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86FmaSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86LzcntSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 240: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86LzcntSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PclmulqdqSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 241: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PclmulqdqSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PopcntSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 10 242: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86PopcntSupported() [Tier0, IL size=6, code size=10] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AvxVnniSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: xor eax, eax G_M000_IG03: pop ebp ret ; Total bytes of code 7 243: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86AvxVnniSupported() [Tier0, IL size=6, code size=7] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86SerializeSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E call [BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetIsSupported(System.String):bool] G_M000_IG03: pop ebp ret ; Total bytes of code 16 244: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:get_IsX86SerializeSupported() [Tier0, IL size=11, code size=16] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetIsSupported(System.String):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Type:GetType(System.String):System.Type] mov gword ptr [ebp-08H], eax cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: push 24 mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Type:GetProperty(System.String,int):System.Reflection.PropertyInfo:this] mov gword ptr [ebp-0CH], eax push 0 mov ecx, gword ptr [ebp-0CH] xor edx, edx mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+34H] call [eax+1CH]System.Reflection.PropertyInfo:GetValue(System.Object,System.Object[]):System.Object:this mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] movzx eax, byte ptr [eax] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 107 245: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetIsSupported(System.String) [Tier0, IL size=44, code size=107] ; Assembly listing for method System.Runtime.Intrinsics.X86.X86Serialize:get_IsSupported():bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: xor eax, eax G_M000_IG03: pop ebp ret ; Total bytes of code 7 246: JIT compiled System.Runtime.Intrinsics.X86.X86Serialize:get_IsSupported() [Tier0, IL size=6, code size=7] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 247: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics+<g__GetCurrentProcessInstructionSets|2_0>d:System.IDisposable.Dispose() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetVectorSize():System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vxorps xmm4, xmm4 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 248: JIT compiled BenchmarkDotNet.Portability.Cpu.HardwareIntrinsics:GetVectorSize() [Tier0, IL size=57, code size=83] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 249: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__49:System.IDisposable.Dispose() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4 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 250: JIT compiled BenchmarkDotNet.Jobs.Job:.ctor(System.String) [Tier0, IL size=88, code size=365] ; Assembly listing for method BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 251: JIT compiled BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor(System.String) [Tier0, IL size=8, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 252: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor(System.String) [Tier0, IL size=8, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor():this] mov ecx, gword ptr [ebp-08H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 567 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 84 253: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor(System.String) [Tier0, IL size=27, code size=84] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Characteristics.CharacteristicObject:set_Owner(BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 74 254: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor() [Tier0, IL size=25, code size=74] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:set_Owner(BenchmarkDotNet.Characteristics.CharacteristicObject):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 255: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:set_Owner(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4 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 256: JIT compiled BenchmarkDotNet.Jobs.Job:.cctor() [Tier0, IL size=341, code size=890] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 257: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov gword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-1CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-1CH] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push gword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:.ctor(System.String,System.Type,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 131 258: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String) [Tier0, IL size=29, code size=131] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:.ctor(System.String,System.Type,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE push eax push gword ptr [ebp+18H] push gword ptr [ebp+10H] mov edx, dword ptr [ebp+0CH] movzx edx, dl push edx mov edx, dword ptr [ebp+08H] movzx edx, dl push edx mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+1CH] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 96 259: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:.ctor(System.String,System.Type,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool,bool) [Tier0, IL size=45, code size=96] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vxorps xmm4, xmm4 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 260: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool) [Tier0, IL size=111, code size=296] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.Nullable`1[System.Guid]](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax push 1 push 1 mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int):this] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E G_M000_IG03: call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax push 1 push 2 mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int):this] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax push 2 push 2 mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int):this] mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push 2 push 1 mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int):this] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 432 261: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:.cctor() [Tier0, IL size=209, code size=432] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 262: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 263: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 264: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 265: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 266: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 267: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 268: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 269: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 270: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.Nullable`1[System.Guid]](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.Nullable`1[System.Guid]](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 271: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.Nullable`1[System.Guid]](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.Nullable`1[System.Guid]](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vzeroupper vxorps xmm4, xmm4 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 xor ecx, ecx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-20H], xmm0 mov dword ptr [ebp-10H], ecx 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 272: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.Nullable`1[System.Guid]](System.String) [Tier0, IL size=29, code size=129] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]],System.Nullable`1[System.Guid],bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E push gword ptr [ebp+28H] lea edx, [ebp+10H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX_NULLABLE push eax mov edx, dword ptr [ebp+0CH] movzx edx, dl push edx mov edx, dword ptr [ebp+08H] movzx edx, dl push edx mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+24H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp+10H] vmovdqu xmmword ptr [eax+1CH], xmm0 mov edx, dword ptr [ebp+20H] mov dword ptr [eax+2CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 36 ; Total bytes of code 102 273: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]],System.Nullable`1[System.Guid],bool,bool) [Tier0, IL size=45, code size=102] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 274: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[bool]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool],bool,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 275: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,bool](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[bool]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool],bool,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov byte ptr [ecx+04H], dl push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov byte ptr [eax+16H], dl G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 276: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[bool]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool],bool,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String):this] mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] call [BenchmarkDotNet.Jobs.EnvironmentMode:set_Jit(int):this] mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] call [BenchmarkDotNet.Jobs.EnvironmentMode:set_Platform(int):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 54 277: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String,int,int) [Tier0, IL size=22, code size=54] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor(System.String):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Jobs.GcMode:.ctor():this] push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 99 278: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String) [Tier0, IL size=24, code size=99] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push 0xD1FFAB1E push 1 push 0xD1FFAB1E mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 83 279: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:.cctor() [Tier0, IL size=34, code size=83] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE push eax push gword ptr [ebp-0CH] push gword ptr [ebp+10H] mov edx, dword ptr [ebp+0CH] movzx edx, dl push edx push 0 mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:.ctor(System.String,System.Type,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool,bool):this] mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret 12 ; Total bytes of code 126 280: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,System.__Canon](System.String,System.Func`3[System.__Canon,System.__Canon,System.__Canon],System.__Canon,bool) [Tier0, IL size=21, code size=126] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: push gword ptr [ebp+08H] push dword ptr [ebp-0CH] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.__Canon):this] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 92 281: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon) [Tier0, IL size=9, code size=92] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp+0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 282: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.__Canon) [Tier0, IL size=14, code size=33] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4 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 283: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object) [Tier0, IL size=88, code size=219] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4 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 284: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen() [Tier0, IL size=64, code size=190] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:get_Frozen():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Owner():BenchmarkDotNet.Characteristics.CharacteristicObject:this] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG04 mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Frozen():bool:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 65 285: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:get_Frozen() [Tier0, IL size=23, code size=65] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:get_Owner():BenchmarkDotNet.Characteristics.CharacteristicObject:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 286: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:get_Owner() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic:get_CharacteristicType():System.Type:this] mov ecx, eax call [BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicObjectSubclass(System.Type):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 287: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_CharacteristicType():System.Type:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 288: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_CharacteristicType() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicObjectSubclass(System.Type):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Reflection.IntrospectionExtensions:GetTypeInfo(System.Type):System.Reflection.TypeInfo] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+60H] call [eax+0CH]System.Type:IsSubclassOf(System.Type):bool:this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 49 289: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicObjectSubclass(System.Type) [Tier0, IL size=22, code size=49] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 72 vxorps xmm4, xmm4 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 290: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object) [Tier0, IL size=191, code size=480] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsAssignable(BenchmarkDotNet.Characteristics.Characteristic,System.Object) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 64 vxorps xmm4, xmm4 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 291: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsAssignable(BenchmarkDotNet.Characteristics.Characteristic,System.Object) [Tier0, IL size=133, code size=390] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 292: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Jobs.GcMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 293: JIT compiled BenchmarkDotNet.Jobs.GcMode:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 294: JIT compiled BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 295: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx lea ecx, [ebp-0CH] push ecx mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] test eax, eax jne SHORT G_M000_IG03 mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx G_M000_IG03: push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):System.Object:this] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 79 296: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=31, code size=79] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 38 297: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object) [Tier0, IL size=9, code size=38] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Resolver():System.Func`3[System.__Canon,System.__Canon,System.__Canon]:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov dword ptr [ebp-14H], ecx push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, dword ptr [ebp-14H] call [CORINFO_HELP_CHKCASTANY] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Resolver():System.Func`3[System.__Canon,System.__Canon,System.__Canon]:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, dword ptr [ebp-1CH] call [CORINFO_HELP_CHKCASTANY] push eax mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,System.__Canon,System.__Canon]:Invoke(System.__Canon,System.__Canon):System.__Canon:this G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 166 298: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=166] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Resolver():System.Func`3[System.__Canon,System.__Canon,System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 299: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp+08H] cmp eax, gword ptr [D1FFAB1EH] je SHORT G_M000_IG04 mov eax, gword ptr [ebp+08H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic:get_FallbackValue():System.Object:this] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 47 300: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=17, code size=47] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_FallbackValue():System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 301: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_FallbackValue() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:get_OwnerOrSelf():BenchmarkDotNet.Characteristics.CharacteristicObject:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Owner():BenchmarkDotNet.Characteristics.CharacteristicObject:this] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax G_M000_IG03: mov eax, gword ptr [ebp-0CH] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 54 302: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:get_OwnerOrSelf() [Tier0, IL size=12, code size=54] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:AttachToOwner(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 92 vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-68H], xmm4 vmovdqu xmmword ptr [ebp-58H], xmm4 vmovdqu xmmword ptr [ebp-48H], xmm4 vmovdqu xmmword ptr [ebp-38H], xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov esi, ecx mov ebx, edx G_M000_IG02: test ebx, ebx je G_M000_IG05 mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag():bool:this test eax, eax jne G_M000_IG06 mov ecx, esi call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this] mov ecx, esi call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this] mov ecx, ebx call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this] mov ecx, ebx call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this] mov edi, gword ptr [esi+04H] push esi mov ecx, ebx mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueOnAttach(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] mov gword ptr [ebp-68H], edi mov ecx, dword ptr [edi+24H] mov dword ptr [ebp-64H], ecx mov dword ptr [ebp-5CH], 2 xor ecx, ecx mov dword ptr [ebp-58H], ecx mov dword ptr [ebp-54H], ecx lea edi, bword ptr [ebp-50H] lea esi, bword ptr [ebp-68H] mov ecx, 6 rep movsd lea ecx, [ebp-50H] mov edx, 0xD1FFAB1E call [System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov edx, gword ptr [ebp-40H] mov ecx, gword ptr [ebp-3CH] push ecx mov ecx, ebx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueOnAttach(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] lea ecx, [ebp-50H] mov edx, 0xD1FFAB1E call [System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG03 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x149B6 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax mov ecx, esi call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG06: push 1 lea ecx, [ebp-38H] mov edx, 59 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, dword ptr [ebp-30H] cmp ecx, dword ptr [ebp-24H] ja SHORT G_M000_IG09 mov edx, bword ptr [ebp-28H] lea edx, bword ptr [edx+2*ecx] mov eax, dword ptr [ebp-24H] sub eax, ecx mov ecx, edx cmp eax, 17 jb SHORT G_M000_IG07 mov edx, 0xD1FFAB1E add edx, 8 push 34 call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-30H] add ecx, 17 mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: lea ecx, [ebp-38H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this] G_M000_IG08: push 0xD1FFAB1E lea ecx, [ebp-38H] mov edx, esi call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this] mov esi, dword ptr [ebp-30H] cmp esi, dword ptr [ebp-24H] jbe SHORT G_M000_IG10 G_M000_IG09: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG10: mov ecx, bword ptr [ebp-28H] lea ecx, bword ptr [ecx+2*esi] mov edx, dword ptr [ebp-24H] sub edx, esi cmp edx, 42 jb SHORT G_M000_IG11 mov edx, 0xD1FFAB1E add edx, 8 push 84 call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-30H] add ecx, 42 mov dword ptr [ebp-30H], ecx jmp SHORT G_M000_IG12 G_M000_IG11: lea ecx, [ebp-38H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this] G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax lea ecx, [ebp-38H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov edx, eax mov ecx, esi call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 475 303: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AttachToOwner(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic) [Tier-0 switched to FullOpts, IL size=165, code size=475] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 13 304: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag() [Tier0, IL size=2, code size=13] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vxorps xmm4, xmm4 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 305: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot() [Tier0, IL size=99, code size=287] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueOnAttach(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsAssignable(BenchmarkDotNet.Characteristics.Characteristic,System.Object)] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-10H], ecx cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG03 jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:DetachFromOwner(BenchmarkDotNet.Characteristics.Characteristic):this] G_M000_IG04: push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 129 306: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueOnAttach(BenchmarkDotNet.Characteristics.Characteristic,System.Object) [Tier0, IL size=48, code size=129] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetOwnerCore(BenchmarkDotNet.Characteristics.CharacteristicObject):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0x149B6 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-0CH] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsNonFrozenRoot():this] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:set_Owner(BenchmarkDotNet.Characteristics.CharacteristicObject):this] mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [edx+04H] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] mov byte ptr [ecx+0CH], 0 G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 137 307: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetOwnerCore(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=53, code size=137] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsNonFrozenRoot():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 29 308: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsNonFrozenRoot() [Tier0, IL size=13, code size=29] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:set_Jit(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 309: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:set_Jit(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 310: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int) [Tier0, IL size=9, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 60 311: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int) [Tier0, IL size=14, code size=60] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:set_Platform(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 287 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 312: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:set_Platform(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 313: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int) [Tier0, IL size=9, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 60 314: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int) [Tier0, IL size=14, code size=60] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:FreezeCore():BenchmarkDotNet.Characteristics.CharacteristicObject:this] mov gword ptr [ebp-08H], eax mov edx, gword ptr [ebp-08H] mov ecx, dword ptr [ebp-0CH] call [CORINFO_HELP_CHKCASTANY] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 57 315: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze() [Tier0, IL size=12, code size=57] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:FreezeCore():BenchmarkDotNet.Characteristics.CharacteristicObject:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertIsRoot():this] mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+0CH] test eax, eax jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov byte ptr [eax+0CH], 1 G_M000_IG03: mov eax, gword ptr [ebp-04H] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 41 316: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:FreezeCore() [Tier0, IL size=23, code size=41] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Jobs.Job:.ctor(System.String):this] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Apply(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 42 317: JIT compiled BenchmarkDotNet.Jobs.Job:.ctor(System.String,BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=16, code size=42] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Jobs.EnvironmentMode:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 318: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:.ctor() [Tier0, IL size=8, code size=22] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Jobs.RunMode:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 319: JIT compiled BenchmarkDotNet.Jobs.RunMode:.ctor() [Tier0, IL size=8, code size=22] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:.ctor(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 320: JIT compiled BenchmarkDotNet.Jobs.RunMode:.ctor(System.String) [Tier0, IL size=8, code size=28] ; Assembly listing for method BenchmarkDotNet.Jobs.InfrastructureMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 321: JIT compiled BenchmarkDotNet.Jobs.InfrastructureMode:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.AccuracyMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 322: JIT compiled BenchmarkDotNet.Jobs.AccuracyMode:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.MetaMode:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 323: JIT compiled BenchmarkDotNet.Jobs.MetaMode:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Apply(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx] mov dword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:ApplyCore(BenchmarkDotNet.Characteristics.CharacteristicObject):BenchmarkDotNet.Characteristics.CharacteristicObject:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, dword ptr [ebp-10H] call [CORINFO_HELP_CHKCASTANY] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 63 324: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Apply(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=13, code size=63] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ApplyCore(BenchmarkDotNet.Characteristics.CharacteristicObject):BenchmarkDotNet.Characteristics.CharacteristicObject:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this] push eax mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:ApplyCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]):BenchmarkDotNet.Characteristics.CharacteristicObject:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 325: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ApplyCore(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=15, code size=41] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] call System.Object:GetType():System.Type:this mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call System.Object:GetType():System.Type:this mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] call [System.Type:op_Inequality(System.Type,System.Type):bool] test eax, eax je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.CharacteristicObject:get_IsPropertyBag():bool:this test eax, eax jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic]] mov gword ptr [ebp-18H], eax push 0xD1FFAB1E mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] mov gword ptr [ebp-0CH], eax G_M000_IG03: mov eax, gword ptr [ebp-0CH] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 137 326: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=49, code size=137] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 80 vxorps xmm4, xmm4 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 327: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsToApply() [Tier0, IL size=137, code size=553] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call System.Object:GetType():System.Type:this mov ecx, eax call [BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(System.Type):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic]] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 29 328: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=12, code size=29] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(System.Type):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicObjectSubclass(System.Type):bool] test eax, eax jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E mov edx, 566 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, 0xD1FFAB1E mov edx, 566 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]):System.__Canon:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 133 329: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristics(System.Type) [Tier0, IL size=38, code size=133] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call [System.Array:Empty[System.__Canon]():System.__Canon[]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor():this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 109 330: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:.cctor() [Tier0, IL size=31, code size=109] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-08H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-08H], eax G_M000_IG05: mov ecx, dword ptr [ebp-08H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:get_DefaultConcurrencyLevel():int] mov dword ptr [ebp-0CH], eax push 31 push 1 push 0 mov edx, dword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(int,int,bool,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 97 331: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor() [Tier0, IL size=16, code size=97] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:get_DefaultConcurrencyLevel():int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: call [System.Environment:get_ProcessorCount():int] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 332: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:get_DefaultConcurrencyLevel() [Tier0, IL size=6, code size=17] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(int,int,bool,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 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, 20 mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+10H] G_M000_IG02: test edi, edi jg SHORT G_M000_IG04 G_M000_IG03: cmp edi, -1 jne G_M000_IG30 cmp dword ptr [esi], esi mov edi, 12 G_M000_IG04: test ebx, ebx jl G_M000_IG31 cmp ebx, edi cmovl ebx, edi mov ecx, ebx call [System.Collections.HashHelpers:GetPrime(int):int] mov ebx, eax mov edx, edi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_OBJ mov edi, eax mov eax, dword ptr [edi+04H] mov dword ptr [ebp-14H], eax test eax, eax je G_M000_IG32 lea edx, bword ptr [edi+08H] call CORINFO_HELP_ASSIGN_REF_EDI mov dword ptr [ebp-10H], 1 cmp eax, 1 jle SHORT G_M000_IG09 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, dword ptr [ebp-10H] lea edx, bword ptr [edi+4*ecx+08H] call CORINFO_HELP_ASSIGN_REF_EAX inc ecx mov eax, dword ptr [ebp-14H] cmp eax, ecx mov dword ptr [ebp-10H], ecx jg SHORT G_M000_IG08 G_M000_IG06: mov edx, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-1CH], eax mov edx, dword ptr [esi] mov dword ptr [ebp-18H], edx mov ecx, edx mov eax, dword ptr [ecx+20H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+10H] test eax, eax je SHORT G_M000_IG10 G_M000_IG07: mov ecx, eax jmp SHORT G_M000_IG11 G_M000_IG08: jmp SHORT G_M000_IG05 G_M000_IG09: mov eax, dword ptr [ebp-14H] jmp SHORT G_M000_IG06 G_M000_IG10: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG11: mov edx, ebx call CORINFO_HELP_NEWARR_1_VC mov ebx, eax mov eax, gword ptr [ebp+08H] test eax, eax jne SHORT G_M000_IG16 G_M000_IG12: mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [edx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+14H] test ecx, ecx je SHORT G_M000_IG14 G_M000_IG13: jmp SHORT G_M000_IG15 G_M000_IG14: mov ecx, edx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG15: call [System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default():System.Collections.Generic.EqualityComparer`1[System.__Canon]] G_M000_IG16: mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [edx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG21 G_M000_IG17: mov gword ptr [ebp+08H], eax mov ecx, eax call [System.Collections.Generic.NonRandomizedStringEqualityComparer:GetStringComparer(System.Object):System.Collections.Generic.IEqualityComparer`1[System.String]] mov gword ptr [ebp-20H], eax test eax, eax mov eax, gword ptr [ebp+08H] je SHORT G_M000_IG21 mov eax, gword ptr [ebp-20H] mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [edx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+1CH] test ecx, ecx je SHORT G_M000_IG19 G_M000_IG18: jmp SHORT G_M000_IG20 G_M000_IG19: mov ecx, edx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax mov eax, gword ptr [ebp-20H] G_M000_IG20: mov edx, eax call [CORINFO_HELP_CHKCASTANY] mov gword ptr [ebp+08H], eax jmp SHORT G_M000_IG25 G_M000_IG21: mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [edx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+14H] test ecx, ecx je SHORT G_M000_IG23 G_M000_IG22: mov gword ptr [ebp+08H], eax jmp SHORT G_M000_IG24 G_M000_IG23: mov gword ptr [ebp+08H], eax mov ecx, edx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG24: call [System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default():System.Collections.Generic.EqualityComparer`1[System.__Canon]] cmp eax, gword ptr [ebp+08H] jne SHORT G_M000_IG25 mov byte ptr [esi+0DH], 1 G_M000_IG25: mov ecx, dword ptr [ebp-18H] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+18H] test edx, edx je SHORT G_M000_IG27 G_M000_IG26: jmp SHORT G_M000_IG28 G_M000_IG27: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG28: mov ecx, edx call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+10H] call CORINFO_HELP_ASSIGN_REF_EBX lea edx, bword ptr [eax+14H] call CORINFO_HELP_ASSIGN_REF_EDI lea edx, bword ptr [eax+18H] mov edi, gword ptr [ebp-1CH] call CORINFO_HELP_ASSIGN_REF_EDI lea edx, bword ptr [eax+0CH] mov edi, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EDI lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, dword ptr [ebp+0CH] mov byte ptr [esi+0CH], al mov eax, dword ptr [ebx+04H] xor edx, edx div edx:eax, dword ptr [ebp-14H] mov dword ptr [esi+08H], eax G_M000_IG29: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG30: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov ecx, 0xB76 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ebx, eax call [System.SR:get_ConcurrentDictionary_ConcurrencyLevelMustBePositiveOrNegativeOne():System.String] push eax mov edx, ebx mov ecx, edi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, edi call CORINFO_HELP_THROW G_M000_IG31: mov ecx, 0xB98 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, ebx call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG32: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 583 333: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:.ctor(int,int,bool,System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier-0 switched to FullOpts, IL size=264, code size=583] ; Assembly listing for method System.Collections.HashHelpers:GetPrime(int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: test esi, esi jl SHORT G_M000_IG14 mov ecx, 0xD1FFAB1E xor eax, eax align [0 bytes for IG03] G_M000_IG03: mov edx, dword ptr [ecx+4*eax] cmp edx, esi jge SHORT G_M000_IG12 inc eax cmp eax, 72 jl SHORT G_M000_IG03 G_M000_IG04: mov edi, esi or edi, 1 cmp edi, 0xD1FFAB1E jge SHORT G_M000_IG08 G_M000_IG05: mov ecx, edi call [System.Collections.HashHelpers:IsPrime(int):bool] test eax, eax je SHORT G_M000_IG07 G_M000_IG06: lea ecx, [edi-01H] mov edx, 0xD1FFAB1E mov eax, edx imul edx:eax, ecx mov eax, edx shr eax, 31 sar edx, 4 add eax, edx imul eax, eax, 101 sub ecx, eax jne SHORT G_M000_IG10 G_M000_IG07: add edi, 2 cmp edi, 0xD1FFAB1E jl SHORT G_M000_IG05 G_M000_IG08: mov eax, esi G_M000_IG09: pop esi pop edi pop ebp ret G_M000_IG10: mov eax, edi G_M000_IG11: pop esi pop edi pop ebp ret G_M000_IG12: mov eax, edx G_M000_IG13: pop esi pop edi pop ebp ret G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Arg_HTCapacityOverflow():System.String] mov edx, eax mov ecx, esi call [System.ArgumentException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 150 334: JIT compiled System.Collections.HashHelpers:GetPrime(int) [Tier-0 switched to FullOpts, IL size=93, code size=150] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 call [System.ThrowHelper:ThrowKeyNullException()] G_M000_IG03: cmp gword ptr [ebp+08H], 0 jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call [System.ThrowHelper:ThrowArgumentNullException(System.String)] G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+0CH] mov gword ptr [ebp-10H], ecx push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-10H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetHashCode(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.__Canon):int:this] mov dword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-30H], ecx mov ecx, dword ptr [ebp-30H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-30H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-30H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax G_M000_IG07: push dword ptr [ebp-14H] lea ecx, [ebp-18H] push ecx push dword ptr [ebp-1CH] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryGetValueInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,int,byref):bool] test eax, eax jne SHORT G_M000_IG08 xor ecx, ecx mov dword ptr [ebp-24H], ecx mov dword ptr [ebp-20H], ecx lea ecx, [ebp-24H] mov edx, dword ptr [ebp-14H] call [System.Nullable`1[int]:.ctor(int):this] mov ecx, dword ptr [ebp-24H] mov dword ptr [ebp-2CH], ecx mov ecx, dword ptr [ebp-20H] mov dword ptr [ebp-28H], ecx push gword ptr [ebp-08H] push dword ptr [ebp-28H] push dword ptr [ebp-2CH] mov ecx, gword ptr [ebp+08H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp+08H] call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this push eax push 0 push 1 lea edx, [ebp-18H] push edx mov edx, gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,System.Nullable`1[int],System.__Canon,bool,bool,byref):bool:this] G_M000_IG08: mov eax, gword ptr [ebp-18H] G_M000_IG09: mov esp, ebp pop ebp ret 4 ; Total bytes of code 254 335: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]) [Tier0, IL size=91, code size=254] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetHashCode(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.__Canon):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: G_M000_IG03: mov ecx, gword ptr [ebp-04H] movzx ecx, byte ptr [ecx+0DH] test ecx, ecx jne SHORT G_M000_IG08 mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-14H], ecx mov ecx, dword ptr [ebp-14H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+20H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-14H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+20H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-14H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG06: mov ecx, dword ptr [ebp-0CH] mov dword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] mov eax, dword ptr [ebp-10H] nop call [eax] G_M000_IG07: mov esp, ebp pop ebp ret 4 G_M000_IG08: mov ecx, gword ptr [ebp+08H] mov eax, gword ptr [ebp+08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this G_M000_IG09: mov esp, ebp pop ebp ret 4 ; Total bytes of code 123 336: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetHashCode(System.Collections.Generic.IEqualityComparer`1[System.__Canon],System.__Canon) [Tier0, IL size=72, code size=123] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryGetValueInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,int,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov esi, edx mov edi, dword ptr [ebp+10H] mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov edx, gword ptr [ecx+0CH] mov gword ptr [ebp-1CH], edx mov ecx, gword ptr [ecx+10H] mov eax, dword ptr [ecx+04H] mov dword ptr [ebp-18H], eax mov eax, edi xor edx, edx div edx:eax, dword ptr [ebp-18H] mov eax, gword ptr [ecx+4*edx+08H] test eax, eax je SHORT G_M000_IG09 G_M000_IG03: mov gword ptr [ebp-20H], eax cmp edi, dword ptr [eax+10H] jne SHORT G_M000_IG08 G_M000_IG04: mov ecx, dword ptr [ebx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+24H] test ecx, ecx je SHORT G_M000_IG06 G_M000_IG05: mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG07: mov eax, gword ptr [ebp-20H] mov edx, gword ptr [eax+04H] push esi mov ecx, gword ptr [ebp-1CH] mov eax, dword ptr [ebp-14H] nop call [eax] test eax, eax jne SHORT G_M000_IG11 G_M000_IG08: mov eax, gword ptr [ebp-20H] mov eax, gword ptr [eax+0CH] test eax, eax jne SHORT G_M000_IG03 G_M000_IG09: xor eax, eax mov esi, bword ptr [ebp+0CH] mov gword ptr [esi], eax G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG11: mov esi, bword ptr [ebp+0CH] mov eax, gword ptr [ebp-20H] mov eax, gword ptr [eax+08H] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, 1 G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 173 337: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryGetValueInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,int,byref) [Tier-0 switched to FullOpts, IL size=162, code size=173] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristicsCore(System.Type):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [System.Collections.Generic.List`1[System.__Canon]:.ctor():this] mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [System.Collections.Generic.HashSet`1[System.__Canon]:.ctor():this] push gword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:FillAllCharacteristicsCore(System.Type,System.Collections.Generic.List`1[BenchmarkDotNet.Characteristics.Characteristic],System.Collections.Generic.HashSet`1[BenchmarkDotNet.Characteristics.Characteristic])] mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 100 338: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetAllCharacteristicsCore(System.Type) [Tier0, IL size=25, code size=100] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:FillAllCharacteristicsCore(System.Type,System.Collections.Generic.List`1[BenchmarkDotNet.Characteristics.Characteristic],System.Collections.Generic.HashSet`1[BenchmarkDotNet.Characteristics.Characteristic]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 4 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 36 vxorps xmm4, xmm4 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 339: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:FillAllCharacteristicsCore(System.Type,System.Collections.Generic.List`1[BenchmarkDotNet.Characteristics.Characteristic],System.Collections.Generic.HashSet`1[BenchmarkDotNet.Characteristics.Characteristic]) [Tier-0 switched to FullOpts, IL size=197, code size=523] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:GetThisTypeCharacteristics(System.Type):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicObjectSubclass(System.Type):bool] test eax, eax jne SHORT G_M000_IG04 mov eax, gword ptr [D1FFAB1EH] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] xor edx, edx call [System.MulticastDelegate:CtorOpened(System.Object,int,int):this] push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]):System.__Canon:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 103 340: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetThisTypeCharacteristics(System.Type) [Tier0, IL size=38, code size=103] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:GetThisTypeCharacteristicsCore(System.Type):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Characteristics.Characteristic] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 180 vxorps xmm4, xmm4 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 341: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:GetThisTypeCharacteristicsCore(System.Type) [Tier0, IL size=260, code size=1197] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 342: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 343: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 148 vxorps xmm4, xmm4 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 344: JIT compiled System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]) [Tier0, IL size=146, code size=1170] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:Select[System.__Canon](System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-08H] mov edx, gword ptr [edx+10H] mov gword ptr [ebp-18H], edx mov edx, gword ptr [ebp-08H] push gword ptr [edx+14H] push gword ptr [ebp-0CH] mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-10H] call [System.Linq.Enumerable+WhereSelectArrayIterator`2[System.__Canon,System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,System.__Canon]):this] mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 118 345: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:Select[System.__Canon](System.Func`2[System.__Canon,System.__Canon]) [Tier0, IL size=19, code size=118] ; Assembly listing for method System.Linq.Enumerable+WhereSelectArrayIterator`2[System.__Canon,System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 69 346: JIT compiled System.Linq.Enumerable+WhereSelectArrayIterator`2[System.__Canon,System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,System.__Canon]) [Tier0, IL size=28, code size=69] ; Assembly listing for method System.Linq.Enumerable:Empty[System.__Canon]():System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-0CH] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov eax, gword ptr [eax] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 68 347: JIT compiled System.Linq.Enumerable:Empty[System.__Canon]() [Tier0, IL size=6, code size=68] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [System.Linq.EmptyPartition`1[System.__Canon]:.ctor():this] mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov ecx, gword ptr [ebp-0CH] mov edx, eax call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 59 348: JIT compiled System.Linq.EmptyPartition`1[System.__Canon]:.cctor() [Tier0, IL size=11, code size=59] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 349: JIT compiled System.Linq.EmptyPartition`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:CreateSelectIPartitionIterator[System.__Canon,System.__Canon](System.Func`2[System.__Canon,System.__Canon],System.Linq.IPartition`1[System.__Canon],byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, bword ptr [ebp+0CH] mov bword ptr [ebp-18H], ecx mov ecx, dword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG09 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-2CH], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-2CH], eax G_M000_IG08: mov ecx, dword ptr [ebp-2CH] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable+SelectIPartitionIterator`2[System.__Canon,System.__Canon]:.ctor(System.Linq.IPartition`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):this] mov edx, gword ptr [ebp-28H] mov gword ptr [ebp-10H], edx mov edx, bword ptr [ebp-18H] mov bword ptr [ebp-20H], edx mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-24H], edx jmp SHORT G_M000_IG13 G_M000_IG09: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG11 G_M000_IG10: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-1CH], eax G_M000_IG12: mov ecx, bword ptr [ebp-18H] mov bword ptr [ebp-20H], ecx mov ecx, dword ptr [ebp-1CH] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov eax, gword ptr [eax] mov gword ptr [ebp-24H], eax G_M000_IG13: mov edx, bword ptr [ebp-20H] mov ecx, gword ptr [ebp-24H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX G_M000_IG14: mov esp, ebp pop ebp ret 8 ; Total bytes of code 268 350: JIT compiled System.Linq.Enumerable:CreateSelectIPartitionIterator[System.__Canon,System.__Canon](System.Func`2[System.__Canon,System.__Canon],System.Linq.IPartition`1[System.__Canon],byref) [Tier0, IL size=27, code size=268] ; Assembly listing for method System.Linq.Enumerable:Concat[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 4 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 mov ecx, 14 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG07: mov ecx, dword ptr [ebp-14H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 jne SHORT G_M000_IG12 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-1CH], eax G_M000_IG10: mov ecx, dword ptr [ebp-1CH] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable+Concat2Iterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):this] mov eax, gword ptr [ebp-18H] G_M000_IG11: mov esp, ebp pop ebp ret 4 G_M000_IG12: mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-10H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+08H]System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:Concat(System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:this G_M000_IG13: mov esp, ebp pop ebp ret 4 ; Total bytes of code 223 351: JIT compiled System.Linq.Enumerable:Concat[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=45, code size=223] ; Assembly listing for method System.Linq.Enumerable+Concat2Iterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 352: JIT compiled System.Linq.Enumerable+Concat2Iterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 353: JIT compiled System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] xor edx, edx call [System.Linq.Enumerable:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 75 354: JIT compiled System.Linq.Enumerable:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=8, code size=75] ; Assembly listing for method System.Linq.Enumerable:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG06: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov eax, gword ptr [ebp-10H] G_M000_IG07: mov esp, ebp pop ebp ret 4 ; Total bytes of code 117 355: JIT compiled System.Linq.Enumerable:Distinct[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier0, IL size=18, code size=117] ; Assembly listing for method System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 356: JIT compiled System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable:OrderBy[System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]):System.Linq.IOrderedEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp-0CH] push 0 push 0 push 0 mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] call [System.Linq.OrderedEnumerable`2[System.__Canon,int]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int],System.Collections.Generic.IComparer`1[int],bool,System.Linq.OrderedEnumerable`1[System.__Canon]):this] mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 106 357: JIT compiled System.Linq.Enumerable:OrderBy[System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]) [Tier0, IL size=11, code size=106] ; Assembly listing for method System.Linq.OrderedEnumerable`2[System.__Canon,int]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int],System.Collections.Generic.IComparer`1[int],bool,System.Linq.OrderedEnumerable`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.OrderedEnumerable`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this] cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp+14H], 0 jne SHORT G_M000_IG04 mov ecx, 9 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax mov eax, gword ptr [ebp+10H] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp+10H], 0 jne SHORT G_M000_IG05 call [System.Collections.Generic.Comparer`1[int]:get_Default():System.Collections.Generic.Comparer`1[int]] mov gword ptr [ebp-10H], eax G_M000_IG05: mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] mov byte ptr [eax+14H], dl G_M000_IG06: mov esp, ebp pop ebp ret 16 ; Total bytes of code 150 358: JIT compiled System.Linq.OrderedEnumerable`2[System.__Canon,int]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int],System.Collections.Generic.IComparer`1[int],bool,System.Linq.OrderedEnumerable`1[System.__Canon]) [Tier0, IL size=67, code size=150] ; Assembly listing for method System.Linq.OrderedEnumerable`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 39 359: JIT compiled System.Linq.OrderedEnumerable`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=14, code size=39] ; Assembly listing for method System.Linq.Enumerable:ThenBy[System.__Canon,System.__Canon](System.Linq.IOrderedEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Linq.IOrderedEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG09: push dword ptr [ebp-14H] mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-18H], eax push 0 push 0 mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-18H] call eax G_M000_IG10: mov esp, ebp pop ebp ret 4 ; Total bytes of code 157 360: JIT compiled System.Linq.Enumerable:ThenBy[System.__Canon,System.__Canon](System.Linq.IOrderedEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]) [Tier0, IL size=20, code size=157] ; Assembly listing for method System.Linq.OrderedEnumerable`1[System.__Canon]:System.Linq.IOrderedEnumerable.CreateOrderedEnumerable[System.__Canon](System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool):System.Linq.IOrderedEnumerable`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-08H] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-18H], edx push gword ptr [ebp-0CH] push gword ptr [ebp+10H] mov edx, dword ptr [ebp+0CH] movzx edx, dl push edx push gword ptr [ebp-08H] mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-10H] call [System.Linq.OrderedEnumerable`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool,System.Linq.OrderedEnumerable`1[System.__Canon]):this] mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret 12 ; Total bytes of code 125 361: JIT compiled System.Linq.OrderedEnumerable`1[System.__Canon]:System.Linq.IOrderedEnumerable.CreateOrderedEnumerable[System.__Canon](System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool) [Tier0, IL size=16, code size=125] ; Assembly listing for method System.Linq.OrderedEnumerable`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool,System.Linq.OrderedEnumerable`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.OrderedEnumerable`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this] cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp+14H], 0 jne SHORT G_M000_IG04 mov ecx, 9 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov ecx, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp+10H] mov gword ptr [ebp-10H], edx cmp gword ptr [ebp+10H], 0 jne SHORT G_M000_IG08 mov edx, gword ptr [ebp-04H] mov edx, dword ptr [edx] mov dword ptr [ebp-18H], edx mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-18H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG07: mov ecx, dword ptr [ebp-14H] call [System.Collections.Generic.Comparer`1[System.__Canon]:get_Default():System.Collections.Generic.Comparer`1[System.__Canon]] mov gword ptr [ebp-10H], eax G_M000_IG08: mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+10H] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] mov byte ptr [ecx+14H], dl G_M000_IG09: mov esp, ebp pop ebp ret 16 ; Total bytes of code 209 362: JIT compiled System.Linq.OrderedEnumerable`2[System.__Canon,System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool,System.Linq.OrderedEnumerable`1[System.__Canon]) [Tier0, IL size=67, code size=209] ; Assembly listing for method System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG06: mov ecx, dword ptr [ebp-14H] mov edx, gword ptr [ebp-08H] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 jne SHORT G_M000_IG11 mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-20H], eax G_M000_IG09: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-20H] call [System.Collections.Generic.EnumerableHelpers:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]] G_M000_IG10: mov esp, ebp pop ebp ret G_M000_IG11: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG14 G_M000_IG13: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-18H], eax G_M000_IG14: mov ecx, dword ptr [ebp-18H] mov dword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ebp-1CH] nop call [eax] G_M000_IG15: mov esp, ebp pop ebp ret ; Total bytes of code 221 363: JIT compiled System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=34, code size=221] ; Assembly listing for method System.Linq.OrderedEnumerable`1[System.__Canon]:ToArray():System.__Canon[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; 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 sub esp, 32 xor eax, eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-28H], ecx G_M000_IG02: mov esi, gword ptr [ebp-28H] mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+08H] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG05: mov esi, gword ptr [ebp-28H] mov edx, gword ptr [esi+04H] push eax lea ecx, [ebp-14H] call [System.Linq.Buffer`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this] mov edi, dword ptr [ebp-10H] test edi, edi jne SHORT G_M000_IG08 G_M000_IG06: mov eax, gword ptr [ebp-14H] G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG08: mov esi, gword ptr [ebp-28H] 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_IG10 G_M000_IG09: mov ecx, eax jmp SHORT G_M000_IG11 G_M000_IG10: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG11: mov edx, edi call CORINFO_HELP_NEWARR_1_OBJ mov edi, eax mov ebx, gword ptr [ebp-14H] mov gword ptr [ebp-2CH], ebx mov eax, dword ptr [ebp-10H] mov dword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp-28H] xor edx, edx mov esi, gword ptr [ebp-28H] mov ebx, dword ptr [esi] mov ebx, dword ptr [ebx+2CH] call [ebx+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-1CH] mov edx, gword ptr [ebp-2CH] cmp dword ptr [ecx], ecx call [System.Linq.EnumerableSorter`1[System.__Canon]:Sort(System.__Canon[],int):int[]:this] mov ebx, eax xor eax, eax mov edx, dword ptr [edi+04H] mov dword ptr [ebp-24H], edx test edx, edx jle SHORT G_M000_IG17 test ebx, ebx je SHORT G_M000_IG15 cmp dword ptr [ebx+04H], edx jl SHORT G_M000_IG16 G_M000_IG12: mov dword ptr [ebp-18H], eax mov ecx, eax mov dword ptr [ebp-20H], ecx mov esi, dword ptr [ebx+4*ecx+08H] mov edx, gword ptr [ebp-14H] cmp esi, dword ptr [edx+04H] jae SHORT G_M000_IG20 mov edx, gword ptr [ebp-14H] push gword ptr [edx+4*esi+08H] mov ecx, edi mov edx, dword ptr [ebp-20H] call CORINFO_HELP_ARRADDR_ST mov esi, dword ptr [ebp-18H] inc esi mov eax, dword ptr [ebp-24H] cmp eax, esi jg SHORT G_M000_IG14 G_M000_IG13: jmp SHORT G_M000_IG17 G_M000_IG14: mov eax, esi jmp SHORT G_M000_IG12 G_M000_IG15: G_M000_IG16: mov dword ptr [ebp-18H], eax mov ecx, eax cmp ecx, dword ptr [ebx+04H] jae SHORT G_M000_IG20 mov dword ptr [ebp-20H], ecx mov edx, dword ptr [ebx+4*ecx+08H] mov esi, gword ptr [ebp-14H] cmp edx, dword ptr [esi+04H] jae SHORT G_M000_IG20 mov esi, gword ptr [ebp-14H] push gword ptr [esi+4*edx+08H] mov ecx, edi mov edx, dword ptr [ebp-20H] call CORINFO_HELP_ARRADDR_ST mov esi, dword ptr [ebp-18H] inc esi mov eax, dword ptr [ebp-24H] cmp eax, esi jg SHORT G_M000_IG19 G_M000_IG17: mov eax, edi G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG19: mov eax, esi jmp SHORT G_M000_IG16 G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 316 364: JIT compiled System.Linq.OrderedEnumerable`1[System.__Canon]:ToArray() [Tier-0 switched to FullOpts, IL size=88, code size=316] ; Assembly listing for method System.Linq.Buffer`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-28H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov bword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] mov edx, gword ptr [ebp-0CH] call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-10H], 0 je SHORT G_M000_IG11 mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-2CH], ecx mov ecx, dword ptr [ebp-2CH] cmp dword ptr [ecx+04H], 16 jle SHORT G_M000_IG08 G_M000_IG06: mov ecx, dword ptr [ebp-2CH] cmp dword ptr [ecx+10H], 0 je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-2CH] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-20H], eax G_M000_IG09: mov ecx, dword ptr [ebp-20H] mov dword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ebp-24H] nop call [eax] mov gword ptr [ebp-14H], eax mov edx, bword ptr [ebp-08H] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-14H] mov ecx, dword ptr [ecx+04H] mov edx, bword ptr [ebp-08H] mov dword ptr [edx+04H], ecx G_M000_IG10: mov esp, ebp pop ebp ret 4 G_M000_IG11: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG13 G_M000_IG12: mov edx, dword ptr [ebp+08H] mov edx, dword ptr [edx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+0CH] mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG14 G_M000_IG13: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-1CH], eax G_M000_IG14: mov edx, bword ptr [ebp-08H] cmp byte ptr [edx], dl mov edx, bword ptr [ebp-08H] add edx, 4 mov bword ptr [ebp-28H], edx push dword ptr [ebp-1CH] mov edx, bword ptr [ebp-28H] mov ecx, gword ptr [ebp-0CH] call [System.Collections.Generic.EnumerableHelpers:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon[]] mov edx, bword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG15: mov esp, ebp pop ebp ret 4 ; Total bytes of code 290 365: JIT compiled System.Linq.Buffer`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=53, code size=290] ; Assembly listing for method System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:ToArray():System.__Canon[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-18H], ecx mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-18H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-18H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-0CH] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+10H] mov gword ptr [ebp-14H], edx mov edx, gword ptr [ebp-04H] push gword ptr [edx+14H] mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-08H] call [System.Collections.Generic.HashSet`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-10H], eax G_M000_IG08: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [System.Linq.Enumerable:HashSetToArray[System.__Canon](System.Collections.Generic.HashSet`1[System.__Canon]):System.__Canon[]] G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 183 366: JIT compiled System.Linq.Enumerable+DistinctIterator`1[System.__Canon]:ToArray() [Tier0, IL size=23, code size=183] ; Assembly listing for method System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: cmp dword ptr [esi+0CH], 1 jne SHORT G_M000_IG07 G_M000_IG03: mov edi, dword ptr [esi] mov ecx, edi mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx+04H] mov ebx, dword ptr [edx+08H] test ebx, ebx je SHORT G_M000_IG05 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ebx, eax G_M000_IG06: mov ecx, esi xor edx, edx mov eax, dword ptr [edi+30H] call [eax+04H]System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:GetEnumerable(int):System.Collections.Generic.IEnumerable`1[System.__Canon]:this mov ecx, eax mov eax, ebx nop call [eax] lea edx, bword ptr [esi+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov dword ptr [esi+0CH], 2 G_M000_IG07: cmp dword ptr [esi+0CH], 1 jle G_M000_IG18 G_M000_IG08: mov ecx, gword ptr [esi+10H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG12 mov edx, dword ptr [esi+0CH] lea ecx, [edx+01H] mov dword ptr [esi+0CH], ecx dec edx mov ecx, esi mov edi, dword ptr [esi] mov eax, dword ptr [edi+30H] call [eax+04H]System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:GetEnumerable(int):System.Collections.Generic.IEnumerable`1[System.__Canon]:this mov ebx, eax test ebx, ebx je SHORT G_M000_IG17 mov ecx, gword ptr [esi+10H] call [System.IDisposable:Dispose():this] mov ecx, dword ptr [edi+20H] mov ecx, dword ptr [ecx+04H] mov eax, dword ptr [ecx+08H] test eax, eax je SHORT G_M000_IG10 G_M000_IG09: jmp SHORT G_M000_IG11 G_M000_IG10: mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG11: mov ecx, ebx nop call [eax] lea edx, bword ptr [esi+10H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG08 G_M000_IG12: mov edi, dword ptr [esi] mov ecx, dword ptr [edi+20H] mov ecx, dword ptr [ecx+04H] mov eax, dword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG14 G_M000_IG13: jmp SHORT G_M000_IG15 G_M000_IG14: mov ecx, edi mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG15: mov ecx, gword ptr [esi+10H] nop call [eax] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, 1 G_M000_IG16: pop ebx pop esi pop edi pop ebp ret G_M000_IG17: mov ecx, esi mov eax, dword ptr [edi+28H] call [eax+18H]System.Linq.Enumerable+Iterator`1[System.__Canon]:Dispose():this G_M000_IG18: xor eax, eax G_M000_IG19: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 251 367: JIT compiled System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=137, code size=251] ; Assembly listing for method System.Linq.Enumerable+Concat2Iterator`1[System.__Canon]:GetEnumerable(int):System.Collections.Generic.IEnumerable`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: cmp dword ptr [ebp-08H], 0 je SHORT G_M000_IG03 cmp dword ptr [ebp-08H], 1 je SHORT G_M000_IG04 jmp SHORT G_M000_IG05 G_M000_IG03: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+14H] mov gword ptr [ebp-0CH], eax jmp SHORT G_M000_IG06 G_M000_IG04: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] mov gword ptr [ebp-0CH], eax jmp SHORT G_M000_IG06 G_M000_IG05: xor eax, eax mov gword ptr [ebp-0CH], eax G_M000_IG06: mov eax, gword ptr [ebp-0CH] G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 65 368: JIT compiled System.Linq.Enumerable+Concat2Iterator`1[System.__Canon]:GetEnumerable(int) [Tier0, IL size=31, code size=65] ; Assembly listing for method System.Linq.Enumerable+WhereSelectArrayIterator`2[System.__Canon,System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 16 mov esi, ecx G_M000_IG02: mov edi, dword ptr [esi+0CH] dec edi mov ebx, gword ptr [esi+10H] mov gword ptr [ebp-18H], ebx mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-14H], eax cmp eax, edi jbe SHORT G_M000_IG04 G_M000_IG03: cmp edi, eax jae SHORT G_M000_IG09 mov edi, gword ptr [ebx+4*edi+08H] mov ecx, dword ptr [esi+0CH] lea edx, [ecx+01H] mov dword ptr [esi+0CH], edx mov dword ptr [ebp-10H], ecx mov ecx, gword ptr [esi+14H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ecx+04H] mov edx, edi mov ebx, gword ptr [ebp-1CH] call [ebx+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax jne SHORT G_M000_IG07 mov edi, dword ptr [ebp-14H] mov ebx, dword ptr [ebp-10H] cmp edi, ebx mov eax, edi ja SHORT G_M000_IG06 G_M000_IG04: xor eax, eax mov gword ptr [esi+04H], eax mov dword ptr [esi+0CH], -1 G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG06: mov edi, ebx mov ebx, gword ptr [ebp-18H] jmp SHORT G_M000_IG03 G_M000_IG07: mov eax, gword ptr [esi+18H] mov ecx, gword ptr [eax+04H] mov edx, edi call [eax+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, 1 G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 149 369: JIT compiled System.Linq.Enumerable+WhereSelectArrayIterator`2[System.__Canon,System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=92, code size=149] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_0(System.Reflection.FieldInfo):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+0CH]System.Reflection.FieldInfo:get_FieldType():System.Type:this mov ecx, eax call [BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicSubclass(System.Type):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 370: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_0(System.Reflection.FieldInfo) [Tier0, IL size=12, code size=38] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicSubclass(System.Type):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Reflection.IntrospectionExtensions:GetTypeInfo(System.Type):System.Reflection.TypeInfo] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+60H] call [eax+0CH]System.Type:IsSubclassOf(System.Type):bool:this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 49 371: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:IsCharacteristicSubclass(System.Type) [Tier0, IL size=22, code size=49] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_1(System.Reflection.FieldInfo):BenchmarkDotNet.Characteristics.Characteristic:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] xor edx, edx mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+34H] call [eax]System.Reflection.FieldInfo:GetValue(System.Object):System.Object:this mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:AssertHasValue(System.Reflection.MemberInfo,BenchmarkDotNet.Characteristics.Characteristic):BenchmarkDotNet.Characteristics.Characteristic] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 71 372: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_1(System.Reflection.FieldInfo) [Tier0, IL size=19, code size=71] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:AssertHasValue(System.Reflection.MemberInfo,BenchmarkDotNet.Characteristics.Characteristic):BenchmarkDotNet.Characteristics.Characteristic ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 76 vxorps xmm4, xmm4 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 373: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:AssertHasValue(System.Reflection.MemberInfo,BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=126, code size=371] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 14 374: JIT compiled System.Linq.EmptyPartition`1[System.__Canon]:GetEnumerator() [Tier0, IL size=2, code size=14] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 13 375: JIT compiled System.Linq.EmptyPartition`1[System.__Canon]:MoveNext() [Tier0, IL size=2, code size=13] ; Assembly listing for method System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp gword ptr [ecx+10H], 0 je SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-04H] xor eax, eax mov gword ptr [ecx+10H], eax G_M000_IG03: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[System.__Canon]:Dispose():this] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 49 376: JIT compiled System.Linq.Enumerable+ConcatIterator`1[System.__Canon]:Dispose() [Tier0, IL size=33, code size=49] ; Assembly listing for method System.Linq.EmptyPartition`1[System.__Canon]:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 377: JIT compiled System.Linq.EmptyPartition`1[System.__Canon]:System.IDisposable.Dispose() [Tier0, IL size=1, code size=11] ; Assembly listing for method System.Linq.Enumerable:HashSetToArray[System.__Canon](System.Collections.Generic.HashSet`1[System.__Canon]):System.__Canon[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.HashSet`1[System.__Canon]:get_Count():int:this] mov dword ptr [ebp-18H], eax mov edx, dword ptr [ebp-18H] mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-10H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.HashSet`1[System.__Canon]:CopyTo(System.__Canon[]):this] mov eax, gword ptr [ebp-10H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 111 378: 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`2[System.__Canon,System.__Canon]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[System.__Canon]):System.Linq.EnumerableSorter`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4 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 379: JIT compiled System.Linq.OrderedEnumerable`2[System.__Canon,System.__Canon]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[System.__Canon]) [Tier0, IL size=96, code size=304] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:.ctor(System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool,System.Linq.EnumerableSorter`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.EnumerableSorter`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp+0CH] mov byte ptr [edx+14H], al mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 78 380: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:.ctor(System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IComparer`1[System.__Canon],bool,System.Linq.EnumerableSorter`1[System.__Canon]) [Tier0, IL size=36, code size=78] ; Assembly listing for method System.Linq.EnumerableSorter`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 381: JIT compiled System.Linq.EnumerableSorter`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.OrderedEnumerable`2[System.__Canon,int]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[System.__Canon]):System.Linq.EnumerableSorter`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4 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 382: JIT compiled System.Linq.OrderedEnumerable`2[System.__Canon,int]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[System.__Canon]) [Tier0, IL size=96, code size=191] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,int]:.ctor(System.Func`2[System.__Canon,int],System.Collections.Generic.IComparer`1[int],bool,System.Linq.EnumerableSorter`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.EnumerableSorter`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp+0CH] mov byte ptr [edx+14H], al mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 78 383: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,int]:.ctor(System.Func`2[System.__Canon,int],System.Collections.Generic.IComparer`1[int],bool,System.Linq.EnumerableSorter`1[System.__Canon]) [Tier0, IL size=36, code size=78] ; Assembly listing for method System.Linq.EnumerableSorter`1[System.__Canon]:Sort(System.__Canon[],int):int[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.EnumerableSorter`1[System.__Canon]:ComputeMap(System.__Canon[],int):int[]:this] mov gword ptr [ebp-0CH], eax push 0 mov ecx, dword ptr [ebp+08H] dec ecx push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]System.Linq.EnumerableSorter`1[System.__Canon]:QuickSort(int[],int,int):this mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 68 384: JIT compiled System.Linq.EnumerableSorter`1[System.__Canon]:Sort(System.__Canon[],int) [Tier0, IL size=22, code size=68] ; Assembly listing for method System.Linq.EnumerableSorter`1[System.__Canon]:ComputeMap(System.__Canon[],int):int[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, dword ptr [ebp+08H] G_M000_IG02: push esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+10H]System.Linq.EnumerableSorter`1[System.__Canon]:ComputeKeys(System.__Canon[],int):this mov edx, esi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC xor edx, edx mov ecx, dword ptr [eax+04H] test ecx, ecx jle SHORT G_M000_IG04 align [0 bytes for IG03] G_M000_IG03: mov dword ptr [eax+4*edx+08H], edx inc edx cmp ecx, edx jg SHORT G_M000_IG03 G_M000_IG04: pop esi pop ebp ret 4 ; Total bytes of code 51 385: JIT compiled System.Linq.EnumerableSorter`1[System.__Canon]:ComputeMap(System.__Canon[],int) [Tier-0 switched to FullOpts, IL size=35, code size=51] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,int]:ComputeKeys(System.__Canon[],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov edi, ecx mov esi, edx G_M000_IG02: mov ebx, gword ptr [edi+04H] mov ecx, dword ptr [edi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx+04H] mov edx, dword ptr [edx+0CH] test edx, edx je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG05: mov ecx, edx call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE cmp gword ptr [eax], ebx je G_M000_IG13 G_M000_IG06: mov edx, dword ptr [ebp+08H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-18H], eax xor ecx, ecx mov edx, dword ptr [eax+04H] mov dword ptr [ebp-14H], edx test edx, edx jle SHORT G_M000_IG11 test esi, esi je SHORT G_M000_IG09 cmp dword ptr [esi+04H], edx jl SHORT G_M000_IG10 G_M000_IG07: mov dword ptr [ebp-10H], ecx mov edx, gword ptr [esi+4*ecx+08H] mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[System.__Canon,int]:Invoke(System.__Canon):int:this mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-10H] mov dword ptr [ecx+4*edx+08H], eax inc edx mov eax, dword ptr [ebp-14H] cmp eax, edx mov ecx, edx jg SHORT G_M000_IG07 G_M000_IG08: jmp SHORT G_M000_IG11 G_M000_IG09: G_M000_IG10: cmp ecx, dword ptr [esi+04H] jae SHORT G_M000_IG21 mov dword ptr [ebp-10H], ecx mov edx, gword ptr [esi+4*ecx+08H] mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[System.__Canon,int]:Invoke(System.__Canon):int:this mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-10H] mov dword ptr [ecx+4*edx+08H], eax inc edx mov eax, dword ptr [ebp-14H] cmp eax, edx jg SHORT G_M000_IG12 G_M000_IG11: lea edx, bword ptr [edi+10H] mov eax, gword ptr [ebp-18H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG17 G_M000_IG12: mov ecx, edx jmp SHORT G_M000_IG10 G_M000_IG13: mov ecx, esi test ecx, ecx je SHORT G_M000_IG16 G_M000_IG14: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx je SHORT G_M000_IG16 G_M000_IG15: mov ecx, edx mov edx, esi call [CORINFO_HELP_CHKCASTARRAY] G_M000_IG16: lea edx, bword ptr [edi+10H] call CORINFO_HELP_ASSIGN_REF_ESI G_M000_IG17: mov ecx, gword ptr [edi+0CH] test ecx, ecx jne SHORT G_M000_IG19 G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG19: push dword ptr [ebp+08H] mov edx, esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+10H]System.Linq.EnumerableSorter`1[System.__Canon]:ComputeKeys(System.__Canon[],int):this G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG21: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 264 386: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,int]:ComputeKeys(System.__Canon[],int) [Tier-0 switched to FullOpts, IL size=96, code size=264] ; Assembly listing for method System.Linq.EnumerableSorter`1[System.__Canon]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG08: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, dword ptr [ebp-0CH] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov edx, gword ptr [eax] mov gword ptr [ebp-18H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov ecx, gword ptr [ebp-10H] mov edx, eax call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 175 387: JIT compiled System.Linq.EnumerableSorter`1[System.__Canon]:.cctor() [Tier0, IL size=22, code size=175] ; Assembly listing for method System.Linq.EnumerableSorter`1+<>c[System.__Canon]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [System.Linq.EnumerableSorter`1+<>c[System.__Canon]:.ctor():this] mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov ecx, gword ptr [ebp-0CH] mov edx, eax call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 59 388: JIT compiled System.Linq.EnumerableSorter`1+<>c[System.__Canon]:.cctor() [Tier0, IL size=11, code size=59] ; Assembly listing for method System.Linq.EnumerableSorter`1+<>c[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 389: JIT compiled System.Linq.EnumerableSorter`1+<>c[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_4(BenchmarkDotNet.Characteristics.Characteristic):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] test eax, eax jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 1 G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 42 390: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_4(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=12, code size=42] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:ComputeKeys(System.__Canon[],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov edi, ecx mov esi, edx G_M000_IG02: mov ebx, gword ptr [edi+04H] mov ecx, dword ptr [edi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx+04H] mov edx, dword ptr [edx+0CH] test edx, edx je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG05: mov ecx, edx call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE cmp gword ptr [eax], ebx je G_M000_IG16 G_M000_IG06: mov ecx, dword ptr [edi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx+04H] mov eax, dword ptr [edx+10H] test eax, eax je SHORT G_M000_IG08 G_M000_IG07: jmp SHORT G_M000_IG09 G_M000_IG08: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG09: mov ecx, eax mov edx, dword ptr [ebp+08H] call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-18H], eax xor ecx, ecx mov edx, dword ptr [eax+04H] mov dword ptr [ebp-14H], edx test edx, edx jle SHORT G_M000_IG14 test esi, esi je SHORT G_M000_IG12 cmp dword ptr [esi+04H], edx jl SHORT G_M000_IG13 G_M000_IG10: mov dword ptr [ebp-10H], ecx mov edx, gword ptr [esi+4*ecx+08H] mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this push eax mov edx, dword ptr [ebp-10H] mov ecx, gword ptr [ebp-18H] call CORINFO_HELP_ARRADDR_ST mov edx, dword ptr [ebp-10H] inc edx mov eax, dword ptr [ebp-14H] cmp eax, edx mov ecx, edx jg SHORT G_M000_IG10 G_M000_IG11: jmp SHORT G_M000_IG14 G_M000_IG12: G_M000_IG13: cmp ecx, dword ptr [esi+04H] jae G_M000_IG27 mov dword ptr [ebp-10H], ecx mov edx, gword ptr [esi+4*ecx+08H] mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this push eax mov edx, dword ptr [ebp-10H] mov ecx, gword ptr [ebp-18H] call CORINFO_HELP_ARRADDR_ST mov edx, dword ptr [ebp-10H] inc edx mov ecx, dword ptr [ebp-14H] cmp ecx, edx jg SHORT G_M000_IG15 G_M000_IG14: lea edx, bword ptr [edi+10H] mov eax, gword ptr [ebp-18H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG23 G_M000_IG15: mov ecx, edx jmp SHORT G_M000_IG13 G_M000_IG16: mov ecx, dword ptr [edi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx+04H] mov eax, dword ptr [edx+10H] test eax, eax je SHORT G_M000_IG18 G_M000_IG17: mov ecx, eax jmp SHORT G_M000_IG19 G_M000_IG18: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG19: mov edx, ecx mov eax, esi test eax, eax je SHORT G_M000_IG22 G_M000_IG20: cmp dword ptr [eax], ecx je SHORT G_M000_IG22 G_M000_IG21: mov ecx, edx mov edx, esi call [CORINFO_HELP_CHKCASTARRAY] G_M000_IG22: lea edx, bword ptr [edi+10H] call CORINFO_HELP_ASSIGN_REF_ESI G_M000_IG23: mov ecx, gword ptr [edi+0CH] test ecx, ecx jne SHORT G_M000_IG25 G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG25: push dword ptr [ebp+08H] mov edx, esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+10H]System.Linq.EnumerableSorter`1[System.__Canon]:ComputeKeys(System.__Canon[],int):this G_M000_IG26: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG27: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 330 391: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:ComputeKeys(System.__Canon[],int) [Tier-0 switched to FullOpts, IL size=96, code size=330] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_5(BenchmarkDotNet.Characteristics.Characteristic):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_Id():System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 27 392: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__8_5(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=7, code size=27] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_Id():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 393: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_Id() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,int]:QuickSort(int[],int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4 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 394: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,int]:QuickSort(int[],int,int) [Tier0, IL size=109, code size=301] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,int]:CompareAnyKeys(int,int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-1CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [ecx+04H] jae G_M000_IG10 lea ecx, bword ptr [ecx+4*edx+08H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] cmp edx, dword ptr [ecx+04H] jae G_M000_IG10 lea ecx, bword ptr [ecx+4*edx+08H] push dword ptr [ecx] mov ecx, gword ptr [ebp-14H] mov edx, dword ptr [ebp-18H] call [System.Collections.Generic.IComparer`1[int]:Compare(int,int):int:this] mov dword ptr [ebp-10H], eax cmp dword ptr [ebp-10H], 0 jne SHORT G_M000_IG06 mov eax, gword ptr [ebp-04H] cmp gword ptr [eax+0CH], 0 jne SHORT G_M000_IG04 mov eax, dword ptr [ebp-08H] sub eax, dword ptr [ebp+08H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+0CH] mov gword ptr [ebp-1CH], ecx push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-1CH] mov edx, dword ptr [ebp-08H] mov eax, gword ptr [ebp-1CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]System.Linq.EnumerableSorter`1[System.__Canon]:CompareAnyKeys(int,int):int:this G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+14H] xor edx, edx cmp dword ptr [ebp-10H], 0 setg dl cmp eax, edx jne SHORT G_M000_IG08 mov eax, -1 G_M000_IG07: mov esp, ebp pop ebp ret 4 G_M000_IG08: mov eax, 1 G_M000_IG09: mov esp, ebp pop ebp ret 4 G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 211 395: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,int]:CompareAnyKeys(int,int) [Tier0, IL size=78, code size=211] ; Assembly listing for method System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:CompareAnyKeys(int,int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-24H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-28H], ecx mov ecx, dword ptr [ebp-28H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-28H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+14H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-28H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-18H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [ecx+04H] jae G_M000_IG13 lea ecx, bword ptr [ecx+4*edx+08H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-20H], ecx mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] cmp edx, dword ptr [ecx+04H] jae G_M000_IG13 lea ecx, bword ptr [ecx+4*edx+08H] push gword ptr [ecx] mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] mov eax, dword ptr [ebp-18H] nop call [eax] mov dword ptr [ebp-10H], eax cmp dword ptr [ebp-10H], 0 jne SHORT G_M000_IG09 mov eax, gword ptr [ebp-04H] cmp gword ptr [eax+0CH], 0 jne SHORT G_M000_IG07 mov eax, dword ptr [ebp-08H] sub eax, dword ptr [ebp+08H] G_M000_IG06: mov esp, ebp pop ebp ret 4 G_M000_IG07: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+0CH] mov gword ptr [ebp-24H], ecx push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-24H] mov edx, dword ptr [ebp-08H] mov eax, gword ptr [ebp-24H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]System.Linq.EnumerableSorter`1[System.__Canon]:CompareAnyKeys(int,int):int:this G_M000_IG08: mov esp, ebp pop ebp ret 4 G_M000_IG09: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+14H] xor edx, edx cmp dword ptr [ebp-10H], 0 setg dl cmp eax, edx jne SHORT G_M000_IG11 mov eax, -1 G_M000_IG10: mov esp, ebp pop ebp ret 4 G_M000_IG11: mov eax, 1 G_M000_IG12: mov esp, ebp pop ebp ret 4 G_M000_IG13: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 278 396: JIT compiled System.Linq.EnumerableSorter`2[System.__Canon,System.__Canon]:CompareAnyKeys(int,int) [Tier0, IL size=78, code size=278] ; Assembly listing for method System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,System.Nullable`1[int],System.__Canon,bool,bool,byref):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 1 inlinees with PGO data; 7 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 84 xor eax, eax mov dword ptr [ebp-48H], eax mov dword ptr [ebp-4CH], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-40H], ecx mov gword ptr [ebp-44H], edx G_M000_IG02: mov edx, gword ptr [ebp-44H] mov edx, gword ptr [edx+0CH] mov gword ptr [ebp-48H], edx movzx edx, byte ptr [ebp+18H] mov ebx, dword ptr [ebp+1CH] test dl, dl jne SHORT G_M000_IG08 mov edx, gword ptr [ebp-40H] cmp byte ptr [edx+0DH], 0 jne SHORT G_M000_IG06 mov edx, gword ptr [ebp-40H] mov ebx, dword ptr [edx] mov edx, dword ptr [ebx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+20H] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG05: mov ecx, gword ptr [ebp-48H] mov edx, gword ptr [ebp+20H] nop call [eax] jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, gword ptr [ebp+20H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this G_M000_IG07: jmp SHORT G_M000_IG09 G_M000_IG08: mov eax, ebx G_M000_IG09: mov dword ptr [ebp-24H], eax G_M000_IG10: mov eax, gword ptr [ebp-44H] mov ebx, gword ptr [eax+14H] mov gword ptr [ebp-4CH], ebx mov eax, gword ptr [ebp-40H] mov eax, dword ptr [eax] mov dword ptr [ebp-3CH], eax mov eax, gword ptr [ebp-44H] mov eax, gword ptr [eax+10H] mov gword ptr [ebp-58H], eax mov eax, dword ptr [ebp-24H] mov edi, gword ptr [ebp-58H] mov esi, dword ptr [edi+04H] xor edx, edx div edx:eax, esi mov esi, edx mov eax, esi xor edx, edx div edx:eax, dword ptr [ebx+04H] mov dword ptr [ebp-28H], edx lea esi, bword ptr [edi+4*esi+08H] mov bword ptr [ebp-50H], esi xor ebx, ebx mov dword ptr [ebp-2CH], ebx xor eax, eax mov dword ptr [ebp-30H], eax xor edx, edx mov dword ptr [ebp-34H], edx G_M000_IG11: cmp byte ptr [ebp+0CH], 0 je SHORT G_M000_IG12 mov edx, gword ptr [ebp-4CH] mov edx, dword ptr [edx+04H] cmp dword ptr [ebp-28H], edx jae G_M000_IG16 mov edx, gword ptr [ebp-4CH] mov edi, dword ptr [ebp-28H] mov edx, gword ptr [edx+4*edi+08H] mov gword ptr [ebp-5CH], edx cmp byte ptr [ebp-34H], 0 jne SHORT G_M000_IG18 lea edx, [ebp-34H] mov ecx, gword ptr [ebp-5CH] call System.Threading.Monitor:ReliableEnter(System.Object,byref) G_M000_IG12: mov edx, gword ptr [ebp-44H] mov edi, gword ptr [ebp-40H] cmp edx, gword ptr [edi+04H] je G_M000_IG21 mov edx, gword ptr [ebp-40H] mov edx, gword ptr [edx+04H] mov gword ptr [ebp-44H], edx mov edx, gword ptr [ebp-44H] mov edx, gword ptr [edx+0CH] cmp gword ptr [ebp-48H], edx je SHORT G_M000_IG15 mov gword ptr [ebp-48H], edx mov edx, gword ptr [ebp-40H] cmp byte ptr [edx+0DH], 0 jne SHORT G_M000_IG20 mov ebx, dword ptr [ebp-3CH] mov edx, dword ptr [ebx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+20H] test eax, eax je SHORT G_M000_IG19 G_M000_IG13: mov ecx, gword ptr [ebp-48H] mov edx, gword ptr [ebp+20H] nop call [eax] G_M000_IG14: mov dword ptr [ebp-24H], eax G_M000_IG15: mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG37 jmp G_M000_IG39 G_M000_IG16: call CORINFO_HELP_RNGCHKFAIL G_M000_IG17: call CORINFO_HELP_OVERFLOW G_M000_IG18: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG19: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS jmp SHORT G_M000_IG13 G_M000_IG20: mov ecx, gword ptr [ebp+20H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this jmp SHORT G_M000_IG14 G_M000_IG21: xor edi, edi mov edx, gword ptr [esi] test edx, edx je SHORT G_M000_IG28 G_M000_IG22: mov ebx, dword ptr [ebp-24H] mov gword ptr [ebp-54H], edx cmp ebx, dword ptr [edx+10H] jne SHORT G_M000_IG27 G_M000_IG23: mov ebx, dword ptr [ebp-3CH] mov eax, dword ptr [ebx+20H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+24H] test eax, eax je SHORT G_M000_IG25 G_M000_IG24: jmp SHORT G_M000_IG26 G_M000_IG25: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG26: mov edx, gword ptr [ebp-54H] mov esi, gword ptr [edx+04H] push gword ptr [ebp+20H] mov edx, esi mov ecx, gword ptr [ebp-48H] nop call [eax] test eax, eax mov dword ptr [ebp-3CH], ebx jne G_M000_IG33 G_M000_IG27: inc edi mov edx, gword ptr [ebp-54H] mov edx, gword ptr [edx+0CH] test edx, edx jne SHORT G_M000_IG22 G_M000_IG28: mov ebx, dword ptr [ebp-3CH] mov edx, dword ptr [ebx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+28H] test edx, edx je SHORT G_M000_IG30 G_M000_IG29: jmp SHORT G_M000_IG31 G_M000_IG30: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG31: mov ecx, edx call CORINFO_HELP_NEWSFAST mov esi, bword ptr [ebp-50H] mov ecx, gword ptr [esi] mov gword ptr [ebp-60H], ecx lea edx, bword ptr [eax+04H] mov ebx, gword ptr [ebp+20H] call CORINFO_HELP_ASSIGN_REF_EBX lea edx, bword ptr [eax+08H] mov ecx, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_ECX lea edx, bword ptr [eax+0CH] mov ecx, gword ptr [ebp-60H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, dword ptr [ebp-24H] mov dword ptr [eax+10H], edx mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov edx, gword ptr [ebp-44H] mov edx, gword ptr [edx+18H] mov ecx, edx mov eax, dword ptr [ecx+04H] cmp dword ptr [ebp-28H], eax jae G_M000_IG16 mov eax, dword ptr [ebp-28H] lea ecx, bword ptr [ecx+4*eax+08H] mov eax, dword ptr [ecx] add eax, 1 jo G_M000_IG17 mov dword ptr [ecx], eax mov edx, dword ptr [edx+04H] cmp dword ptr [ebp-28H], edx jae G_M000_IG16 mov edx, gword ptr [ebp-40H] cmp eax, dword ptr [edx+08H] jle SHORT G_M000_IG32 mov dword ptr [ebp-2CH], 1 G_M000_IG32: cmp edi, 100 jbe SHORT G_M000_IG36 mov edx, gword ptr [ebp-48H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov edx, 1 test eax, eax mov eax, edx cmove eax, dword ptr [ebp-30H] mov dword ptr [ebp-30H], eax jmp SHORT G_M000_IG36 G_M000_IG33: cmp byte ptr [ebp+10H], 0 je SHORT G_M000_IG34 mov edx, gword ptr [ebp-54H] lea edx, bword ptr [edx+08H] mov esi, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_ESI mov edx, bword ptr [ebp+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI jmp SHORT G_M000_IG35 G_M000_IG34: mov edx, gword ptr [ebp-54H] mov eax, gword ptr [edx+08H] mov edx, bword ptr [ebp+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov esi, gword ptr [ebp+14H] G_M000_IG35: xor eax, eax mov dword ptr [ebp-38H], eax mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG38 jmp SHORT G_M000_IG39 G_M000_IG36: cmp byte ptr [ebp-34H], 0 je SHORT G_M000_IG41 mov ecx, gword ptr [ebp-4CH] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-28H], ecx jae G_M000_IG46 mov ecx, gword ptr [ebp-4CH] mov edx, dword ptr [ebp-28H] mov ecx, gword ptr [ecx+4*edx+08H] call System.Threading.Monitor:Exit(System.Object) jmp SHORT G_M000_IG41 G_M000_IG37: mov dword ptr [ebp-18H], 0 jmp G_M000_IG10 G_M000_IG38: mov dword ptr [ebp-18H], 0 jmp SHORT G_M000_IG44 G_M000_IG39: cmp byte ptr [ebp-34H], 0 je SHORT G_M000_IG40 mov ecx, gword ptr [ebp-4CH] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-28H], ecx jae SHORT G_M000_IG46 mov ecx, gword ptr [ebp-4CH] mov eax, dword ptr [ebp-28H] mov ecx, gword ptr [ecx+4*eax+08H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG40: pop eax jmp eax G_M000_IG41: mov eax, dword ptr [ebp-2CH] mov ebx, dword ptr [ebp-30H] mov ecx, eax or ecx, ebx je SHORT G_M000_IG42 push eax push ebx mov ecx, gword ptr [ebp-40H] mov edx, gword ptr [ebp-44H] call [System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GrowTable(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],bool,bool):this] G_M000_IG42: mov edx, bword ptr [ebp+08H] mov esi, gword ptr [ebp+14H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI mov eax, 1 G_M000_IG43: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG44: mov eax, dword ptr [ebp-38H] G_M000_IG45: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG46: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 908 397: JIT compiled System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[System.__Canon,System.__Canon],System.__Canon,System.Nullable`1[int],System.__Canon,bool,bool,byref) [Tier-0 switched to FullOpts, IL size=478, code size=908] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__13_0(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] test eax, eax sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 398: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__13_0(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=10, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__13_1(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 27 399: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper+<>c:b__13_1(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=7, code size=27] ; Assembly listing for method BenchmarkDotNet.Jobs.GcMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 239 400: JIT compiled BenchmarkDotNet.Jobs.GcMode:.cctor() [Tier0, IL size=136, code size=239] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 401: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 402: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 403: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 404: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 405: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.AccuracyMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[double](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[double]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[Perfolizer.Horology.TimeInterval](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[Perfolizer.Horology.TimeInterval](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 187 406: JIT compiled BenchmarkDotNet.Jobs.AccuracyMode:.cctor() [Tier0, IL size=106, code size=187] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[double](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[double] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,double](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[double]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 407: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[double](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,double](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[double] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vzeroupper xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-18H], eax vxorps xmm0, xmm0 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 408: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,double](System.String) [Tier0, IL size=29, code size=111] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[double]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,double,double],double,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [ecx+04H], xmm0 push gword ptr [ebp-10H] push gword ptr [ebp+1CH] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+24H] mov eax, gword ptr [ebp+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [eax+1CH], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 124 409: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[double]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,double,double],double,bool,bool) [Tier0, IL size=45, code size=124] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[Perfolizer.Horology.TimeInterval](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,Perfolizer.Horology.TimeInterval](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 410: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[Perfolizer.Horology.TimeInterval](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,Perfolizer.Horology.TimeInterval](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-18H], eax xor ecx, ecx mov dword ptr [ebp-14H], ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push gword ptr [ebp-18H] push 0 push dword ptr [ebp-10H] push dword ptr [ebp-14H] push 0 push 0 mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval],Perfolizer.Horology.TimeInterval,bool,bool):this] mov eax, gword ptr [ebp-1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 100 411: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,Perfolizer.Horology.TimeInterval](System.String) [Tier0, IL size=29, code size=100] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval],Perfolizer.Horology.TimeInterval,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E push gword ptr [ebp+1CH] lea edx, [ebp+10H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX push eax mov edx, dword ptr [ebp+0CH] movzx edx, dl push edx mov edx, dword ptr [ebp+08H] movzx edx, dl push edx mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx mov edx, dword ptr [ebp+14H] mov dword ptr [eax+20H], edx G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 95 412: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval],Perfolizer.Horology.TimeInterval,bool,bool) [Tier0, IL size=45, code size=95] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 413: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[int](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 414: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 415: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Jobs.InfrastructureMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[System.__Canon](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E mov edx, 164 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.InfrastructureMode:.ctor(BenchmarkDotNet.Toolchains.IToolchain):this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, 0xD1FFAB1E mov edx, 164 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], edx mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] G_M000_IG03: call [BenchmarkDotNet.Jobs.InfrastructureMode:.ctor(BenchmarkDotNet.Toolchains.IToolchain):this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 304 416: JIT compiled BenchmarkDotNet.Jobs.InfrastructureMode:.cctor() [Tier0, IL size=121, code size=304] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] mov edx, 1 call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(bool):this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] xor edx, edx call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(bool):this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 95 417: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.cctor() [Tier0, IL size=23, code size=95] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 460 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, 0xD1FFAB1E push dword ptr [edx+04H] push dword ptr [edx] mov edx, dword ptr [ebp-08H] movzx edx, dl mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(System.TimeSpan,bool):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 56 418: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(bool) [Tier0, IL size=13, code size=56] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(System.TimeSpan,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitGenerator:.ctor():this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitBuilder:.ctor():this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, dword ptr [ebp-08H] movzx edx, dl mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitExecutor:.ctor(System.TimeSpan,bool):this] push gword ptr [ebp-0CH] push gword ptr [ebp-10H] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Toolchains.Toolchain:.ctor(System.String,BenchmarkDotNet.Toolchains.IGenerator,BenchmarkDotNet.Toolchains.IBuilder,BenchmarkDotNet.Toolchains.IExecutor):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 130 419: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitToolchain:.ctor(System.TimeSpan,bool) [Tier0, IL size=29, code size=130] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitGenerator:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 420: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitGenerator:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitBuilder:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 421: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitBuilder:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitExecutor:.ctor(System.TimeSpan,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov eax, 0xD1FFAB1E push dword ptr [eax+04H] push dword ptr [eax] call [System.TimeSpan:op_Equality(System.TimeSpan,System.TimeSpan):bool] test eax, eax je SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 162 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, 0xD1FFAB1E mov edx, dword ptr [eax] mov dword ptr [ebp+08H], edx mov edx, dword ptr [eax+04H] mov dword ptr [ebp+0CH], edx G_M000_IG03: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax+0CH], edx mov edx, dword ptr [ebp+0CH] mov dword ptr [eax+10H], edx mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+04H], dl G_M000_IG04: mov esp, ebp pop ebp ret 8 ; Total bytes of code 108 422: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitExecutor:.ctor(System.TimeSpan,bool) [Tier0, IL size=41, code size=108] ; Assembly listing for method BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitExecutor:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, 0xD1FFAB1E call [System.TimeSpan:FromDays(double):System.TimeSpan] vmovsd xmm0, qword ptr [@RWD08] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, 0xD1FFAB1E call [System.TimeSpan:FromMinutes(double):System.TimeSpan] G_M000_IG03: pop ebp ret RWD00 dq 3FF0000000000000h ; 1 RWD08 dq 4014000000000000h ; 5 ; Total bytes of code 62 423: JIT compiled BenchmarkDotNet.Toolchains.InProcess.Emit.InProcessEmitExecutor:.cctor() [Tier0, IL size=39, code size=62] ; Assembly listing for method BenchmarkDotNet.Toolchains.Toolchain:.ctor(System.String,BenchmarkDotNet.Toolchains.IGenerator,BenchmarkDotNet.Toolchains.IBuilder,BenchmarkDotNet.Toolchains.IExecutor):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 83 424: JIT compiled BenchmarkDotNet.Toolchains.Toolchain:.ctor(System.String,BenchmarkDotNet.Toolchains.IGenerator,BenchmarkDotNet.Toolchains.IBuilder,BenchmarkDotNet.Toolchains.IExecutor) [Tier0, IL size=36, code size=83] ; Assembly listing for method BenchmarkDotNet.Jobs.InfrastructureMode:.ctor(BenchmarkDotNet.Toolchains.IToolchain):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Jobs.InfrastructureMode:set_Toolchain(BenchmarkDotNet.Toolchains.IToolchain):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 37 425: JIT compiled BenchmarkDotNet.Jobs.InfrastructureMode:.ctor(BenchmarkDotNet.Toolchains.IToolchain) [Tier0, IL size=14, code size=37] ; Assembly listing for method BenchmarkDotNet.Jobs.InfrastructureMode:set_Toolchain(BenchmarkDotNet.Toolchains.IToolchain):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 291 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 426: JIT compiled BenchmarkDotNet.Jobs.InfrastructureMode:set_Toolchain(BenchmarkDotNet.Toolchains.IToolchain) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Jobs.MetaMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateHiddenCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateIgnoreOnApplyCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateHiddenCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 83 427: JIT compiled BenchmarkDotNet.Jobs.MetaMode:.cctor() [Tier0, IL size=46, code size=83] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateHiddenCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:CreateHidden[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 428: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateHiddenCharacteristic[bool](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:CreateHidden[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 0 push 1 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[bool]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool],bool,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 429: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:CreateHidden[System.__Canon,bool](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateIgnoreOnApplyCharacteristic[bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:CreateIgnoreOnApply[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 430: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateIgnoreOnApplyCharacteristic[bool](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:CreateIgnoreOnApply[System.__Canon,bool](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-14H], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-18H], eax push gword ptr [ebp-14H] push 0 push dword ptr [ebp-10H] push 1 push 0 mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[bool]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool],bool,bool,bool):this] mov eax, gword ptr [ebp-18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 91 431: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:CreateIgnoreOnApply[System.__Canon,bool](System.String) [Tier0, IL size=29, code size=91] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vxorps xmm4, xmm4 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 432: JIT compiled BenchmarkDotNet.Jobs.RunMode:.cctor() [Tier0, IL size=410, code size=850] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String,int):BenchmarkDotNet.Characteristics.Characteristic`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE push eax push 0 push dword ptr [ebp-0CH] push 0 push 0 mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this] mov eax, gword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 80 433: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,int](System.String,int) [Tier0, IL size=21, code size=80] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-10H] push gword ptr [ebp+18H] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax+1CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 113 434: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int],int,bool,bool) [Tier0, IL size=45, code size=113] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[long](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[long] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: mov ecx, gword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,long](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[long]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 73 435: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:CreateCharacteristic[long](System.String) [Tier0, IL size=7, code size=73] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,long](System.String):BenchmarkDotNet.Characteristics.Characteristic`1[long] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-04H], edx mov gword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp-0CH] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE mov gword ptr [ebp-18H], eax xor ecx, ecx xor eax, eax mov dword ptr [ebp-14H], ecx mov dword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push gword ptr [ebp-18H] push 0 push dword ptr [ebp-10H] push dword ptr [ebp-14H] push 0 push 0 mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic`1[long]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,long,long],long,bool,bool):this] mov eax, gword ptr [ebp-1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 102 436: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:Create[System.__Canon,long](System.String) [Tier0, IL size=29, code size=102] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[long]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,long,long],long,bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov gword ptr [ebp-10H], 0xD1FFAB1E mov ecx, gword ptr [ebp-0CH] add ecx, 4 mov bword ptr [ebp-14H], ecx mov ecx, bword ptr [ebp-14H] mov edx, dword ptr [ebp+10H] mov dword ptr [ecx], edx mov ecx, dword ptr [ebp+14H] mov edx, bword ptr [ebp-14H] mov dword ptr [edx+04H], ecx push gword ptr [ebp-10H] push gword ptr [ebp+1CH] push gword ptr [ebp-0CH] mov ecx, dword ptr [ebp+0CH] movzx ecx, cl push ecx mov ecx, dword ptr [ebp+08H] movzx ecx, cl push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:.ctor(System.String,System.Type,System.Type,System.Object,bool,bool):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+24H] mov eax, gword ptr [ebp+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] add eax, 28 mov bword ptr [ebp-18H], eax mov eax, bword ptr [ebp-18H] mov edx, dword ptr [ebp+10H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+14H] mov edx, bword ptr [ebp-18H] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 153 437: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[long]:.ctor(System.String,System.Type,System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,long,long],long,bool,bool) [Tier0, IL size=45, code size=153] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_LaunchCount(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 438: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_LaunchCount(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 439: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int) [Tier0, IL size=9, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 60 440: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int) [Tier0, IL size=14, code size=60] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_WarmupCount(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 441: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_WarmupCount(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_IterationCount(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 442: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_IterationCount(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_RunStrategy(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 443: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_RunStrategy(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 444: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int) [Tier0, IL size=9, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx+04H], edx push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 60 445: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int) [Tier0, IL size=14, code size=60] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_UnrollFactor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 300 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 62 446: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_UnrollFactor(int) [Tier0, IL size=13, code size=62] ; Assembly listing for method System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: push 0 push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 83 447: JIT compiled System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon]) [Tier0, IL size=9, code size=83] ; Assembly listing for method System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 4 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 mov ecx, 14 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG06 G_M000_IG05: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG07: push gword ptr [ebp+0CH] push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:IntersectIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG08: mov esp, ebp pop ebp ret 8 ; Total bytes of code 118 448: JIT compiled System.Linq.Enumerable:Intersect[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier0, IL size=28, code size=118] ; Assembly listing for method System.Linq.Enumerable:IntersectIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, -2 call [System.Linq.Enumerable+d__122`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 449: 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__122`1[System.__Canon]:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+28H], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+2CH], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 450: JIT compiled System.Linq.Enumerable+d__122`1[System.__Canon]:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ApplyCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]):BenchmarkDotNet.Characteristics.CharacteristicObject:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, esi call [BenchmarkDotNet.Characteristics.CharacteristicObject:AssertNotFrozen():this] test edi, edi jne SHORT G_M000_IG05 G_M000_IG03: mov eax, esi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: mov ecx, gword ptr [ebp+08H] call [System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this] mov gword ptr [ebp-28H], eax G_M000_IG06: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG14 G_M000_IG07: mov ecx, gword ptr [ebp-28H] call [System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this] mov ebx, eax mov gword ptr [ebp-24H], edi mov ecx, gword ptr [edi+04H] cmp byte ptr [ecx], cl mov edx, ebx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this] test eax, eax je G_M000_IG13 G_M000_IG08: mov eax, gword ptr [eax] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebx+08H] call [System.Reflection.IntrospectionExtensions:GetTypeInfo(System.Type):System.Reflection.TypeInfo] mov ecx, eax mov edx, 0xD1FFAB1E mov eax, dword ptr [eax] mov eax, dword ptr [eax+60H] call [eax+0CH]System.Type:IsSubclassOf(System.Type):bool:this test eax, eax je SHORT G_M000_IG12 mov ecx, esi mov edx, ebx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG13 push gword ptr [ebp-2CH] mov ecx, ebx mov edx, esi mov edi, dword ptr [ebx] mov edi, dword ptr [edi+28H] call [edi+10H]BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this mov ecx, eax test ecx, ecx je SHORT G_M000_IG11 G_M000_IG09: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx je SHORT G_M000_IG11 G_M000_IG10: mov ecx, edx mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] mov ecx, eax G_M000_IG11: test ecx, ecx je SHORT G_M000_IG12 call System.Object:GetType():System.Type:this mov ecx, eax push 1 xor edx, edx call [System.Activator:CreateInstance(System.Type,bool,bool):System.Object] mov edi, eax mov gword ptr [ebp-2CH], edi G_M000_IG12: push gword ptr [ebp-2CH] mov ecx, esi mov edx, ebx call [BenchmarkDotNet.Characteristics.CharacteristicObject:SetValueCore(BenchmarkDotNet.Characteristics.Characteristic,System.Object):this] G_M000_IG13: mov ecx, gword ptr [ebp-28H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax mov edi, gword ptr [ebp-24H] jne G_M000_IG07 G_M000_IG14: mov ecx, gword ptr [ebp-28H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG17 G_M000_IG15: cmp gword ptr [ebp-28H], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-28H] call [System.IDisposable:Dispose():this] G_M000_IG16: pop eax jmp eax G_M000_IG17: mov eax, esi G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 303 451: 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__122`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+28H], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+2CH] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+28H], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Linq.Enumerable+d__122`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 452: JIT compiled System.Linq.Enumerable+d__122`1[System.__Canon]:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=79, code size=149] ; Assembly listing for method System.Linq.Enumerable+d__122`1[System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 24 xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-1CH], ecx G_M000_IG02: mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx+28H] test ecx, ecx je SHORT G_M000_IG04 G_M000_IG03: cmp ecx, 1 je G_M000_IG16 xor eax, eax jmp G_M000_IG22 G_M000_IG04: mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+28H], -1 mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+08H] test edx, edx je SHORT G_M000_IG06 G_M000_IG05: jmp SHORT G_M000_IG07 G_M000_IG06: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG07: mov ecx, edx call CORINFO_HELP_NEWSFAST mov esi, eax mov edx, gword ptr [ebp-1CH] mov edx, gword ptr [edx+08H] mov ecx, gword ptr [ebp-1CH] push gword ptr [ecx+10H] mov ecx, esi call [System.Collections.Generic.HashSet`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+20H] call CORINFO_HELP_ASSIGN_REF_ESI mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+0CH] test eax, eax je SHORT G_M000_IG09 G_M000_IG08: jmp SHORT G_M000_IG10 G_M000_IG09: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG10: mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+18H] nop call [eax] mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+24H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG16 G_M000_IG11: mov ecx, gword ptr [ebp-1CH] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+10H] test eax, eax je SHORT G_M000_IG13 G_M000_IG12: jmp SHORT G_M000_IG14 G_M000_IG13: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG14: mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+24H] nop call [eax] mov esi, eax mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+20H] mov edx, esi cmp dword ptr [ecx], ecx call [System.Collections.Generic.HashSet`1[System.__Canon]:Remove(System.__Canon):bool:this] test eax, eax je SHORT G_M000_IG17 G_M000_IG15: mov edx, gword ptr [ebp-1CH] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_ESI mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+28H], 1 mov eax, 1 jmp SHORT G_M000_IG22 G_M000_IG16: mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+28H], -3 G_M000_IG17: mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+24H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG11 G_M000_IG18: mov ecx, gword ptr [ebp-1CH] mov dword ptr [ecx+28H], -1 mov ecx, gword ptr [ebp-1CH] cmp gword ptr [ecx+24H], 0 je SHORT G_M000_IG19 mov ecx, gword ptr [ebp-1CH] mov ecx, gword ptr [ecx+24H] call [System.IDisposable:Dispose():this] G_M000_IG19: mov eax, gword ptr [ebp-1CH] xor ecx, ecx mov gword ptr [eax+24H], ecx G_M000_IG20: xor eax, eax jmp SHORT G_M000_IG22 G_M000_IG21: mov ecx, gword ptr [ebp-1CH] call [System.Linq.Enumerable+d__122`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 453: JIT compiled System.Linq.Enumerable+d__122`1[System.__Canon]:MoveNext() [Tier-0 switched to FullOpts, IL size=169, code size=352] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:b__24_2(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_IgnoreOnApply():bool:this] test eax, eax sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 454: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject+<>c:b__24_2(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=10, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_IgnoreOnApply():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 455: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_IgnoreOnApply() [Tier0, IL size=7, code size=18] ; Assembly listing for method System.Linq.Enumerable+d__122`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 456: JIT compiled System.Linq.Enumerable+d__122`1[System.__Canon]:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx lea ecx, [ebp-0CH] push ecx mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] test eax, eax je SHORT G_M000_IG04 mov eax, gword ptr [ebp-0CH] cmp eax, gword ptr [D1FFAB1EH] setne al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: xor eax, eax G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 76 457: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=30, code size=76] ; Assembly listing for method System.Linq.Enumerable+d__122`1[System.__Canon]:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-18H] mov ecx, dword ptr [ecx+28H] mov dword ptr [ebp-1CH], ecx cmp dword ptr [ebp-1CH], -3 je SHORT G_M000_IG03 cmp dword ptr [ebp-1CH], 1 jne SHORT G_M000_IG06 G_M000_IG03: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG04 jmp SHORT G_M000_IG05 G_M000_IG04: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, gword ptr [ebp-18H] call [System.Linq.Enumerable+d__122`1[System.__Canon]:<>m__Finally1():this] pop eax jmp eax G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 81 458: JIT compiled System.Linq.Enumerable+d__122`1[System.__Canon]:System.IDisposable.Dispose() [Tier0, IL size=27, code size=81] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_DisplayInfo():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveId(BenchmarkDotNet.Characteristics.CharacteristicObject,System.String):System.String] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue():System.__Canon:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-08H] call [System.String:op_Equality(System.String,System.String):bool] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.Job:get_ResolvedId():System.String:this] mov gword ptr [ebp-10H], eax push gword ptr [ebp-08H] push 0xD1FFAB1E mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String,System.String,System.String):System.String] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.Job:get_ResolvedId():System.String:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 118 459: JIT compiled BenchmarkDotNet.Jobs.Job:get_DisplayInfo() [Tier0, IL size=56, code size=118] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveId(BenchmarkDotNet.Characteristics.CharacteristicObject,System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue():System.__Canon:this] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] call [System.String:op_Inequality(System.String,System.String):bool] test eax, eax je SHORT G_M000_IG04 mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E mov edx, 571 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-14H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject):System.String:this mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx+04H], 0 jne SHORT G_M000_IG05 mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue():System.__Canon:this] mov gword ptr [ebp-0CH], eax G_M000_IG05: mov eax, gword ptr [ebp-0CH] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 153 460: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveId(BenchmarkDotNet.Characteristics.CharacteristicObject,System.String) [Tier0, IL size=61, code size=153] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DefaultPresenter:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.ctor():this] mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+FolderPresenter:.ctor():this] mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+SourceCodePresenter:.ctor():this] mov eax, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 164 461: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.cctor() [Tier0, IL size=41, code size=164] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DefaultPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 462: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DefaultPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 463: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 464: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+FolderPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 465: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+FolderPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+SourceCodePresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 466: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+SourceCodePresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vxorps xmm4, xmm4 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 467: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=56, code size=170] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter+<>c__DisplayClass2_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 468: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter+<>c__DisplayClass2_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:GetPresentableCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject,bool):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+<>c__DisplayClass5_0:.ctor():this] mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp+08H] mov byte ptr [ecx+04H], al mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsWithValues():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this] mov gword ptr [ebp-18H], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 469: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter:GetPresentableCharacteristics(BenchmarkDotNet.Characteristics.CharacteristicObject,bool) [Tier0, IL size=37, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+<>c__DisplayClass5_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 470: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+<>c__DisplayClass5_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsWithValues():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Characteristics.Characteristic]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4 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 471: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetCharacteristicsWithValues() [Tier0, IL size=82, code size=227] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:Where(System.Func`2[System.__Canon,bool]):System.Collections.Generic.IEnumerable`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-1CH] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-1CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+10H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+14H] mov gword ptr [ebp-18H], ecx push dword ptr [ebp-0CH] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] call [System.Linq.Utilities:CombinePredicates[System.__Canon](System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,bool]):System.Func`2[System.__Canon,bool]] push eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-14H] call [System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:.ctor(System.__Canon[],System.Func`2[System.__Canon,bool]):this] mov eax, gword ptr [ebp-14H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 145 472: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:Where(System.Func`2[System.__Canon,bool]) [Tier0, IL size=24, code size=145] ; Assembly listing for method System.Linq.Utilities:CombinePredicates[System.__Canon](System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,bool]):System.Func`2[System.__Canon,bool] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-1CH], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [System.Linq.Utilities+<>c__DisplayClass1_0`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-10H], edx mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+08H] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-20H], eax G_M000_IG08: mov ecx, dword ptr [ebp-20H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov eax, gword ptr [ebp-1CH] G_M000_IG09: mov esp, ebp pop ebp ret 4 ; Total bytes of code 204 473: JIT compiled System.Linq.Utilities:CombinePredicates[System.__Canon](System.Func`2[System.__Canon,bool],System.Func`2[System.__Canon,bool]) [Tier0, IL size=33, code size=204] ; Assembly listing for method System.Linq.Utilities+<>c__DisplayClass1_0`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 474: JIT compiled System.Linq.Utilities+<>c__DisplayClass1_0`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Utilities+<>c__DisplayClass1_0`1[System.__Canon]:b__0(System.__Canon):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: xor eax, eax G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 82 475: JIT compiled System.Linq.Utilities+<>c__DisplayClass1_0`1[System.__Canon]:b__0(System.__Canon) [Tier0, IL size=29, code size=82] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+<>c__DisplayClass5_0:b__0(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] movzx edx, byte ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicHelper:IsPresentableCharacteristic(BenchmarkDotNet.Characteristics.Characteristic,bool):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 476: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+<>c__DisplayClass5_0:b__0(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=13, code size=32] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicHelper:IsPresentableCharacteristic(BenchmarkDotNet.Characteristics.Characteristic,bool):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_HasChildCharacteristics():bool:this] test eax, eax jne SHORT G_M000_IG06 mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_DontShowInSummary():bool:this] test eax, eax jne SHORT G_M000_IG06 mov ecx, dword ptr [ebp-08H] movzx ecx, cl test ecx, ecx jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_IgnoreOnApply():bool:this] test eax, eax sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, 1 G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: xor eax, eax G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 90 477: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicHelper:IsPresentableCharacteristic(BenchmarkDotNet.Characteristics.Characteristic,bool) [Tier0, IL size=33, code size=90] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_DontShowInSummary():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+15H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 478: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_DontShowInSummary() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter+<>c__DisplayClass2_0:b__0(BenchmarkDotNet.Characteristics.Characteristic):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_Id():System.String:this] mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E mov edx, 0x492 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-14H], ecx push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-14H] mov eax, gword ptr [ebp-10H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]BenchmarkDotNet.Characteristics.CharacteristicPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic):System.String:this push eax mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String,System.String):System.String] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 109 479: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter+<>c__DisplayClass2_0:b__0(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=34, code size=109] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 569 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 35 480: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:.cctor() [Tier0, IL size=11, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+FolderCharacteristicPresenter:.ctor():this] mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:.ctor():this] mov ecx, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+SourceCodeCharacteristicPresenter:.ctor():this] mov eax, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 164 481: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter:.cctor() [Tier0, IL size=41, code size=164] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 482: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 483: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+FolderCharacteristicPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 484: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+FolderCharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+SourceCodeCharacteristicPresenter:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 485: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+SourceCodeCharacteristicPresenter:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp+08H] cmp edx, gword ptr [D1FFAB1EH] jne SHORT G_M000_IG04 mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Jobs.Job:get_ResolvedId():System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG06 mov eax, 0xD1FFAB1E G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this] mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]BenchmarkDotNet.Characteristics.CharacteristicPresenter:ToPresentation(System.Object,BenchmarkDotNet.Characteristics.Characteristic):System.String:this G_M000_IG07: mov esp, ebp pop ebp ret 4 ; Total bytes of code 143 486: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=55, code size=143] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 487: JIT compiled BenchmarkDotNet.Characteristics.Characteristic:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 72 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]]:this] test eax, eax jne SHORT G_M000_IG04 push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] push eax lea ecx, [ebp-48H] mov edx, 0xD1FFAB1E call CORINFO_HELP_UNBOX_NULLABLE lea edx, [ebp-48H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX_NULLABLE G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]]:this] mov gword ptr [ebp-0CH], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] push eax lea ecx, [ebp-20H] mov edx, 0xD1FFAB1E call CORINFO_HELP_UNBOX_NULLABLE push gword ptr [ebp-08H] sub esp, 20 vmovdqu xmm0, xmmword ptr [ebp-20H] vmovdqu xmmword ptr [esp], xmm0 mov edx, dword ptr [ebp-10H] mov dword ptr [esp+10H], edx lea edx, [ebp-34H] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]]:Invoke(System.__Canon,System.Nullable`1[System.Guid]):System.Nullable`1[System.Guid]:this lea edx, [ebp-34H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_BOX_NULLABLE G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 179 488: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=179] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,System.Nullable`1[System.Guid],System.Nullable`1[System.Guid]]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 489: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Object,BenchmarkDotNet.Characteristics.Characteristic):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG04 mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-0CH], eax cmp gword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Collections.IEnumerable):System.String] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov edx, gword ptr [ebp+08H] cmp edx, gword ptr [D1FFAB1EH] jne SHORT G_M000_IG06 mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG06 mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] mov dword ptr [ebp-10H], eax call [System.Environment:get_ProcessorCount():int] mov dword ptr [ebp-14H], eax mov edx, dword ptr [ebp-14H] mov ecx, dword ptr [ebp-10H] call [BenchmarkDotNet.Extensions.ProcessExtensions:ToPresentation(int,int):System.String] G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Object):System.String] G_M000_IG07: mov esp, ebp pop ebp ret 4 ; Total bytes of code 166 490: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Object,BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=67, code size=166] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Object):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vxorps xmm4, xmm4 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 491: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicPresenter+DefaultCharacteristicPresenter:ToPresentation(System.Object) [Tier0, IL size=50, code size=162] ; Assembly listing for method BenchmarkDotNet.Helpers.DefaultCultureInfo:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: call [System.Globalization.CultureInfo:get_InvariantCulture():System.Globalization.CultureInfo] mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+34H] call [eax]System.Globalization.CultureInfo:Clone():System.Object:this mov gword ptr [ebp-08H], eax mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+08H]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Globalization.NumberFormatInfo:set_NumberDecimalSeparator(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 115 492: JIT compiled BenchmarkDotNet.Helpers.DefaultCultureInfo:.cctor() [Tier0, IL size=41, code size=115] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4 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 493: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=185] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 494: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 85 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], edx push 0xD1FFAB1E push 0 mov edx, gword ptr [ebp-08H] mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 61 495: JIT compiled Perfolizer.Horology.TimeInterval:ToString() [Tier0, IL size=18, code size=61] ; Assembly listing for method Perfolizer.Common.DefaultCultureInfo:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: call [System.Globalization.CultureInfo:get_InvariantCulture():System.Globalization.CultureInfo] mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+34H] call [eax]System.Globalization.CultureInfo:Clone():System.Object:this mov gword ptr [ebp-08H], eax mov edx, gword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+08H]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Globalization.NumberFormatInfo:set_NumberDecimalSeparator(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 115 496: JIT compiled Perfolizer.Common.DefaultCultureInfo:.cctor() [Tier0, IL size=41, code size=115] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp-08H] push gword ptr [ebp+0CH] push gword ptr [ebp+08H] mov ecx, bword ptr [ebp-04H] xor edx, edx call [Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 38 497: JIT compiled Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Tier0, IL size=11, code size=38] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 72 vzeroupper vxorps xmm4, xmm4 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 498: JIT compiled Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Tier0, IL size=141, code size=435] ; Assembly listing for method Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 499: JIT compiled Perfolizer.Horology.TimeInterval:get_Nanoseconds() [Tier0, IL size=7, code size=31] ; Assembly listing for method Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]):Perfolizer.Horology.TimeUnit ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax G_M000_IG02: cmp dword ptr [ecx+04H], 0 jne SHORT G_M000_IG06 G_M000_IG03: test byte ptr [D1FFAB1EH], 1 je G_M000_IG13 G_M000_IG04: mov eax, gword ptr [D1FFAB1EH] G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG06: call [System.Linq.Enumerable:MinFloat[double](System.Collections.Generic.IEnumerable`1[double]):double] fstp qword ptr [ebp-34H] vmovsd xmm0, qword ptr [ebp-34H] vmovsd qword ptr [ebp-14H], xmm0 test byte ptr [D1FFAB1EH], 1 je G_M000_IG14 G_M000_IG07: mov esi, gword ptr [D1FFAB1EH] mov gword ptr [ebp-2CH], esi mov edi, esi xor ebx, ebx mov eax, dword ptr [edi+04H] mov dword ptr [ebp-1CH], eax test eax, eax jle SHORT G_M000_IG09 G_M000_IG08: mov edx, gword ptr [edi+4*ebx+08H] mov gword ptr [ebp-28H], edx lea ecx, bword ptr [edx+04H] mov esi, dword ptr [ecx] push dword ptr [ecx+04H] push esi push 0 push 0x3E8 call CORINFO_HELP_LMUL push edx push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-34H] vmovsd xmm0, qword ptr [ebp-34H] vmovsd xmm1, qword ptr [ebp-14H] vucomisd xmm0, xmm1 ja SHORT G_M000_IG11 inc ebx mov esi, dword ptr [ebp-1CH] cmp esi, ebx vmovsd qword ptr [ebp-14H], xmm1 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 262 500: JIT compiled Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]) [Tier-0 switched to FullOpts, IL size=71, code size=262] ; Assembly listing for method System.Linq.Enumerable:MinFloat[double](System.Collections.Generic.IEnumerable`1[double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vzeroupper xor eax, eax mov dword ptr [ebp-34H], eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-0CH], eax G_M000_IG02: test ecx, ecx je G_M000_IG31 mov edx, dword ptr [ecx] cmp edx, 0xD1FFAB1E jne SHORT G_M000_IG03 lea eax, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] jmp SHORT G_M000_IG04 align [0 bytes for IG05] G_M000_IG03: cmp edx, 0xD1FFAB1E jne SHORT G_M000_IG13 mov gword ptr [ebp-30H], ecx lea ecx, [ebp-2CH] mov edx, gword ptr [ebp-30H] call [System.Runtime.InteropServices.CollectionsMarshal:AsSpan[double](System.Collections.Generic.List`1[double]):System.Span`1[double]] mov eax, bword ptr [ebp-2CH] mov ecx, dword ptr [ebp-28H] G_M000_IG04: test ecx, ecx je G_M000_IG32 vmovsd xmm0, qword ptr [eax] mov edx, 1 cmp ecx, 1 jbe SHORT G_M000_IG09 G_M000_IG05: cmp edx, ecx jae G_M000_IG33 vmovsd xmm1, qword ptr [eax+8*edx] vucomisd xmm0, xmm1 jbe SHORT G_M000_IG07 G_M000_IG06: vmovaps xmm0, xmm1 jmp SHORT G_M000_IG08 G_M000_IG07: vucomisd xmm1, xmm1 jp SHORT G_M000_IG11 G_M000_IG08: inc edx cmp edx, ecx jb SHORT G_M000_IG05 G_M000_IG09: vmovsd qword ptr [ebp-1CH], xmm0 fld qword ptr [ebp-1CH] G_M000_IG10: mov esp, ebp pop ebp ret G_M000_IG11: vmovsd qword ptr [ebp-3CH], xmm1 fld qword ptr [ebp-3CH] G_M000_IG12: mov esp, ebp pop ebp ret G_M000_IG13: call [System.Collections.Generic.IEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this] mov ecx, eax mov gword ptr [ebp-34H], ecx G_M000_IG14: call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG20 mov ecx, gword ptr [ebp-34H] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-3CH] vmovsd xmm0, qword ptr [ebp-3CH] vucomisd xmm0, xmm0 jp SHORT G_M000_IG15 je SHORT G_M000_IG16 G_M000_IG15: vmovsd qword ptr [ebp-24H], xmm0 mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG23 jmp G_M000_IG25 G_M000_IG16: vmovsd qword ptr [ebp-1CH], xmm0 jmp SHORT G_M000_IG21 G_M000_IG17: mov ecx, gword ptr [ebp-34H] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-3CH] vmovsd xmm0, qword ptr [ebp-3CH] vmovsd xmm1, qword ptr [ebp-1CH] vucomisd xmm1, xmm0 jbe SHORT G_M000_IG18 vmovaps xmm1, xmm0 vmovsd qword ptr [ebp-1CH], xmm1 jmp SHORT G_M000_IG21 G_M000_IG18: vucomisd xmm0, xmm0 vmovsd qword ptr [ebp-1CH], xmm1 jp SHORT G_M000_IG19 je SHORT G_M000_IG21 G_M000_IG19: vmovsd qword ptr [ebp-24H], xmm0 mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG24 jmp SHORT G_M000_IG25 G_M000_IG20: call [System.Linq.ThrowHelper:ThrowNoElementsException()] int3 G_M000_IG21: mov ecx, gword ptr [ebp-34H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG17 G_M000_IG22: mov ecx, gword ptr [ebp-34H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG27 G_M000_IG23: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG29 G_M000_IG24: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG29 G_M000_IG25: mov ecx, gword ptr [ebp-34H] test ecx, ecx je SHORT G_M000_IG26 call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-34H] G_M000_IG26: pop eax jmp eax G_M000_IG27: vmovsd xmm0, qword ptr [ebp-1CH] vmovsd qword ptr [ebp-1CH], xmm0 fld qword ptr [ebp-1CH] G_M000_IG28: mov esp, ebp pop ebp ret G_M000_IG29: vmovsd xmm0, qword ptr [ebp-24H] vmovsd qword ptr [ebp-3CH], xmm0 fld qword ptr [ebp-3CH] G_M000_IG30: mov esp, ebp pop ebp ret G_M000_IG31: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG32: call [System.Linq.ThrowHelper:ThrowNoElementsException()] int3 G_M000_IG33: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 448 501: JIT compiled System.Linq.Enumerable:MinFloat[double](System.Collections.Generic.IEnumerable`1[double]) [Tier-0 switched to FullOpts, IL size=235, code size=448] ; Assembly listing for method Perfolizer.Horology.TimeUnit:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 80 vxorps xmm4, xmm4 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 502: JIT compiled Perfolizer.Horology.TimeUnit:.cctor() [Tier0, IL size=270, code size=666] ; Assembly listing for method Perfolizer.Horology.TimeUnit:.ctor(System.String,System.String,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 86 503: JIT compiled Perfolizer.Horology.TimeUnit:.ctor(System.String,System.String,long) [Tier0, IL size=28, code size=86] ; Assembly listing for method Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 504: JIT compiled Perfolizer.Horology.TimeUnit:get_NanosecondAmount() [Tier0, IL size=7, code size=38] ; Assembly listing for method Perfolizer.Common.UnitPresentation:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax push 0 mov ecx, gword ptr [ebp-04H] mov edx, 1 call [Perfolizer.Common.UnitPresentation:.ctor(bool,int):this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax push 0 mov ecx, gword ptr [ebp-08H] xor edx, edx call [Perfolizer.Common.UnitPresentation:.ctor(bool,int):this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 99 505: JIT compiled Perfolizer.Common.UnitPresentation:.cctor() [Tier0, IL size=25, code size=99] ; Assembly listing for method Perfolizer.Common.UnitPresentation:.ctor(bool,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, dword ptr [ebp-08H] movzx edx, dl mov ecx, gword ptr [ebp-04H] call [Perfolizer.Common.UnitPresentation:set_IsVisible(bool):this] mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] call [Perfolizer.Common.UnitPresentation:set_MinUnitWidth(int):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 54 506: JIT compiled Perfolizer.Common.UnitPresentation:.ctor(bool,int) [Tier0, IL size=21, code size=54] ; Assembly listing for method Perfolizer.Common.UnitPresentation:set_IsVisible(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov byte ptr [eax+08H], dl G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 507: JIT compiled Perfolizer.Common.UnitPresentation:set_IsVisible(bool) [Tier0, IL size=8, code size=25] ; Assembly listing for method Perfolizer.Common.UnitPresentation:set_MinUnitWidth(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 508: JIT compiled Perfolizer.Common.UnitPresentation:set_MinUnitWidth(int) [Tier0, IL size=8, code size=25] ; Assembly listing for method Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vzeroupper xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this] mov dword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], edx push dword ptr [ebp-1CH] push dword ptr [ebp-20H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-30H] vmovsd xmm0, qword ptr [ebp-30H] vmulsd xmm0, xmm0, qword ptr [ebp+08H] vmovsd qword ptr [ebp-10H], xmm0 mov ecx, gword ptr [ebp-08H] mov gword ptr [ebp-14H], ecx cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-18H] xor eax, eax cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG05 lea ecx, bword ptr [ecx+8*eax+08H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [ecx], xmm0 mov ecx, gword ptr [ebp-18H] call [Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]):Perfolizer.Horology.TimeUnit] mov gword ptr [ebp-14H], eax G_M000_IG03: mov ecx, gword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this] mov dword ptr [ebp-28H], eax mov dword ptr [ebp-24H], edx push dword ptr [ebp-24H] push dword ptr [ebp-28H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-30H] vmovsd xmm1, qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-30H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-30H], xmm0 fld qword ptr [ebp-30H] G_M000_IG04: mov esp, ebp pop ebp ret 8 G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 199 509: JIT compiled Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit) [Tier0, IL size=37, code size=199] ; Assembly listing for method Perfolizer.Common.UnitPresentation:get_IsVisible():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 510: JIT compiled Perfolizer.Common.UnitPresentation:get_IsVisible() [Tier0, IL size=7, code size=18] ; Assembly listing for method Perfolizer.Horology.TimeUnit:get_Name():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 511: JIT compiled Perfolizer.Horology.TimeUnit:get_Name() [Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Common.UnitPresentation:get_MinUnitWidth():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 512: JIT compiled Perfolizer.Common.UnitPresentation:get_MinUnitWidth() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Number:FormatNumber[ushort](byref,byref,int,System.Globalization.NumberFormatInfo) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 3 inlinees with PGO data; 20 single block inlinees; 8 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 48 mov esi, ecx mov ebx, edx mov edi, gword ptr [ebp+08H] G_M000_IG02: mov bword ptr [ebp-20H], ebx cmp byte ptr [ebx+08H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov edx, 0xD1FFAB1E jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, gword ptr [D1FFAB1EH] mov ecx, dword ptr [edi+94H] cmp ecx, dword ptr [edx+04H] jae G_M000_IG26 mov edx, gword ptr [edx+4*ecx+08H] G_M000_IG05: mov gword ptr [ebp-24H], edx xor ecx, ecx cmp dword ptr [edx+04H], 0 jle G_M000_IG24 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 G_M000_IG18 jmp G_M000_IG23 G_M000_IG08: mov eax, gword ptr [edi+04H] mov gword ptr [ebp-28H], eax mov ebx, gword ptr [edi+18H] test ebx, ebx je SHORT G_M000_IG14 G_M000_IG09: lea eax, bword ptr [ebx+08H] mov ebx, dword ptr [ebx+04H] G_M000_IG10: mov bword ptr [ebp-2CH], eax mov dword ptr [ebp-18H], 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-28H] push dword ptr [ebp-18H] push bword ptr [ebp-2CH] push eax push ebx mov ecx, esi mov edx, bword ptr [ebp-20H] call [System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort])] jmp SHORT G_M000_IG16 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: xor ebx, ebx mov bword ptr [ebp-30H], ebx xor ebx, ebx mov eax, bword ptr [ebp-30H] jmp SHORT G_M000_IG10 G_M000_IG15: mov ecx, esi mov edx, eax call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG16: mov ebx, dword ptr [ebp-10H] inc ebx mov edx, gword ptr [ebp-24H] cmp dword ptr [edx+04H], ebx mov ecx, ebx jg G_M000_IG06 G_M000_IG17: jmp G_M000_IG24 G_M000_IG18: mov eax, gword ptr [edi+14H] test eax, eax je SHORT G_M000_IG21 G_M000_IG19: lea ebx, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] G_M000_IG20: mov bword ptr [ebp-38H], ebx mov dword ptr [ebp-1CH], eax mov edx, dword ptr [esi+04H] lea ebx, bword ptr [esi+08H] mov eax, bword ptr [ebx] mov bword ptr [ebp-34H], eax mov ebx, dword ptr [ebx+04H] mov eax, dword ptr [ebp-1CH] cmp eax, 1 jne SHORT G_M000_IG22 cmp edx, ebx jae SHORT G_M000_IG22 mov ebx, bword ptr [ebp-38H] movzx eax, word ptr [ebx] mov ebx, bword ptr [ebp-34H] mov word ptr [ebx+2*edx], ax inc edx mov dword ptr [esi+04H], edx jmp SHORT G_M000_IG16 G_M000_IG21: xor eax, eax xor ebx, ebx mov ecx, eax mov eax, ebx mov ebx, ecx jmp SHORT G_M000_IG20 G_M000_IG22: push eax push bword ptr [ebp-38H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] jmp SHORT G_M000_IG16 G_M000_IG23: mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-14H], ebx lea edx, bword ptr [esi+08H] mov ebx, bword ptr [edx] mov bword ptr [ebp-3CH], ebx mov edx, dword ptr [edx+04H] mov ebx, dword ptr [ebp-14H] cmp ebx, edx jae G_M000_IG15 mov edx, bword ptr [ebp-3CH] mov word ptr [edx+2*ebx], ax inc ebx mov dword ptr [esi+04H], ebx jmp G_M000_IG16 G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG25: call CORINFO_HELP_OVERFLOW G_M000_IG26: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 376 513: JIT compiled System.Number:FormatNumber[ushort](byref,byref,int,System.Globalization.NumberFormatInfo) [Tier-0 switched to FullOpts, IL size=128, code size=376] ; Assembly listing for method System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 2 inlinees with PGO data; 9 single block inlinees; 6 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 148 xor eax, eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-44H], eax mov esi, ecx mov ebx, gword ptr [ebp+18H] G_M000_IG02: mov eax, dword ptr [edx+04H] mov bword ptr [ebp-74H], edx mov ecx, bword ptr [edx+0CH] mov dword ptr [ebp-14H], ecx test eax, eax jle G_M000_IG38 G_M000_IG03: mov gword ptr [ebp+18H], ebx test ebx, ebx je G_M000_IG30 xor edx, edx mov dword ptr [ebp-1CH], eax xor edi, edi mov ebx, gword ptr [ebp+18H] mov ebx, dword ptr [ebx+04H] mov dword ptr [ebp-6CH], ebx test ebx, ebx je G_M000_IG12 mov edi, gword ptr [ebp+18H] mov edi, dword ptr [edi+08H] mov dword ptr [ebp-68H], edi cmp dword ptr [ebp-1CH], edi jle G_M000_IG11 align [0 bytes for IG04] G_M000_IG04: cmp edx, ebx jae G_M000_IG62 mov ebx, gword ptr [ebp+18H] mov ebx, dword ptr [ebx+4*edx+08H] test ebx, ebx je SHORT G_M000_IG07 mov ebx, dword ptr [ebp+0CH] add ebx, dword ptr [ebp-1CH] mov dword ptr [ebp-1CH], ebx mov ebx, dword ptr [ebp-6CH] dec ebx cmp ebx, edx jle SHORT G_M000_IG06 G_M000_IG05: inc edx G_M000_IG06: cmp edx, dword ptr [ebp-6CH] jae G_M000_IG62 mov ebx, gword ptr [ebp+18H] add edi, dword ptr [ebx+4*edx+08H] mov ebx, edi or ebx, dword ptr [ebp-1CH] jl G_M000_IG61 cmp eax, edi jg G_M000_IG10 G_M000_IG07: xor ebx, ebx test edi, edi cmovne ebx, dword ptr [ebp-68H] mov dword ptr [ebp-20H], ebx mov edi, dword ptr [ebp-20H] G_M000_IG08: xor edx, edx mov dword ptr [ebp-18H], edx xor ebx, ebx mov dword ptr [ebp-24H], ebx mov ebx, bword ptr [ebp-74H] mov ebx, dword ptr [ebx] cmp eax, ebx mov dword ptr [ebp-10H], eax cmovl ebx, eax mov dword ptr [ebp-28H], ebx mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-48H], ebx lea ebx, bword ptr [esi+08H] mov bword ptr [ebp-94H], ebx mov ebx, bword ptr [ebx] mov bword ptr [ebp-78H], ebx mov ebx, bword ptr [ebp-94H] mov ebx, dword ptr [ebx+04H] mov dword ptr [ebp-5CH], ebx xor ebx, ebx mov dword ptr [ebp-98H], ebx mov ebx, dword ptr [ebp-1CH] add ebx, dword ptr [ebp-48H] mov dword ptr [ebp-9CH], ebx mov ebx, dword ptr [ebp-98H] adc ebx, 0 mov dword ptr [ebp-98H], ebx xor ebx, ebx mov dword ptr [ebp-A0H], ebx mov ebx, dword ptr [ebp-9CH] cmp dword ptr [ebp-5CH], ebx mov ebx, dword ptr [ebp-A0H] sbb ebx, dword ptr [ebp-98H] jb SHORT G_M000_IG13 mov dword ptr [ebp-20H], edi mov edi, dword ptr [ebp-1CH] mov ebx, edi add ebx, dword ptr [ebp-48H] mov dword ptr [esi+04H], ebx mov ebx, dword ptr [ebp-48H] cmp ebx, dword ptr [ebp-5CH] ja G_M000_IG61 mov ebx, dword ptr [ebp-5CH] sub ebx, dword ptr [ebp-48H] mov dword ptr [ebp-1CH], edi cmp ebx, edi jb G_M000_IG61 mov ebx, bword ptr [ebp-78H] mov edi, dword ptr [ebp-48H] lea edi, bword ptr [ebx+2*edi] mov bword ptr [ebp-7CH], edi mov ebx, dword ptr [ebp-1CH] mov dword ptr [ebp-60H], ebx mov edi, bword ptr [ebp-7CH] mov bword ptr [ebp-44H], edi mov edi, dword ptr [ebp-60H] mov dword ptr [ebp-40H], edi mov dword ptr [ebp-1CH], ebx G_M000_IG09: jmp SHORT G_M000_IG14 G_M000_IG10: mov ebx, dword ptr [ebp-6CH] jmp G_M000_IG04 G_M000_IG11: jmp G_M000_IG07 align [0 bytes for IG20] G_M000_IG12: jmp G_M000_IG08 G_M000_IG13: push dword ptr [ebp-1CH] lea edx, [ebp-44H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendSpanWithGrow(int):System.Span`1[ushort]:this] mov dword ptr [ebp-20H], edi G_M000_IG14: mov ebx, bword ptr [ebp-44H] mov bword ptr [ebp-2CH], ebx mov edi, dword ptr [ebp-1CH] lea edi, [ebx+2*edi-02H] mov eax, dword ptr [ebp-10H] lea ebx, [eax-01H] test ebx, ebx jl G_M000_IG24 G_M000_IG15: lea ecx, [edi-02H] cmp ebx, dword ptr [ebp-28H] jl SHORT G_M000_IG17 G_M000_IG16: mov dword ptr [ebp-3CH], edi mov edi, 48 jmp SHORT G_M000_IG18 G_M000_IG17: mov dword ptr [ebp-3CH], edi mov edi, dword ptr [ebp-14H] movzx eax, byte ptr [edi+ebx] mov dword ptr [ebp-14H], edi mov edi, eax G_M000_IG18: mov eax, dword ptr [ebp-3CH] mov word ptr [eax], di mov edi, dword ptr [ebp-20H] test edi, edi jle SHORT G_M000_IG23 G_M000_IG19: mov eax, dword ptr [ebp-24H] inc eax mov dword ptr [ebp-20H], edi cmp eax, edi jne G_M000_IG29 mov dword ptr [ebp-30H], ebx test ebx, ebx mov dword ptr [ebp-24H], eax je G_M000_IG28 mov eax, dword ptr [ebp+0CH] lea edi, [eax-01H] test edi, edi jl SHORT G_M000_IG27 G_M000_IG20: lea ebx, [ecx-02H] mov dword ptr [ebp-70H], eax cmp edi, eax jae G_M000_IG62 mov eax, bword ptr [ebp+08H] movzx eax, word ptr [eax+2*edi] mov word ptr [ecx], ax dec edi mov eax, dword ptr [ebp-70H] jns SHORT G_M000_IG26 G_M000_IG21: mov edi, dword ptr [ebp-6CH] lea ecx, [edi-01H] mov edx, dword ptr [ebp-18H] cmp ecx, edx jle SHORT G_M000_IG22 inc edx cmp edx, edi jae G_M000_IG62 mov ecx, gword ptr [ebp+18H] mov eax, dword ptr [ecx+4*edx+08H] mov dword ptr [ebp-20H], eax G_M000_IG22: xor ecx, ecx mov dword ptr [ebp-18H], edx mov dword ptr [ebp-24H], ecx mov ecx, ebx mov ebx, dword ptr [ebp-30H] mov edi, dword ptr [ebp-20H] G_M000_IG23: dec ebx mov dword ptr [ebp-20H], edi jns SHORT G_M000_IG25 G_M000_IG24: mov edi, dword ptr [ebp-14H] add edi, dword ptr [ebp-28H] xor ecx, ecx mov bword ptr [ebp-2CH], ecx jmp G_M000_IG40 G_M000_IG25: mov edi, ecx jmp G_M000_IG15 G_M000_IG26: mov ecx, ebx jmp SHORT G_M000_IG20 G_M000_IG27: mov ebx, ecx jmp SHORT G_M000_IG21 G_M000_IG28: mov ebx, dword ptr [ebp-30H] mov edi, dword ptr [ebp-20H] jmp SHORT G_M000_IG23 G_M000_IG29: mov dword ptr [ebp-24H], eax mov edi, dword ptr [ebp-20H] jmp SHORT G_M000_IG23 G_M000_IG30: mov ecx, dword ptr [ebp-14H] cmp byte ptr [ecx], 0 jne SHORT G_M000_IG32 G_M000_IG31: mov edx, 48 jmp SHORT G_M000_IG33 G_M000_IG32: mov edx, ecx lea ecx, [edx+01H] mov dword ptr [ebp-14H], ecx movzx edx, byte ptr [edx] mov ecx, dword ptr [ebp-14H] G_M000_IG33: movzx edx, dx mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-4CH], ebx lea ebx, bword ptr [esi+08H] mov edi, bword ptr [ebx] mov bword ptr [ebp-80H], edi mov ebx, dword ptr [ebx+04H] mov edi, dword ptr [ebp-4CH] cmp edi, ebx jae SHORT G_M000_IG35 G_M000_IG34: mov ebx, bword ptr [ebp-80H] mov word ptr [ebx+2*edi], dx inc edi mov dword ptr [esi+04H], edi jmp SHORT G_M000_IG36 G_M000_IG35: mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], ecx mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov eax, dword ptr [ebp-10H] mov ecx, dword ptr [ebp-14H] G_M000_IG36: dec eax mov edi, eax mov dword ptr [ebp-10H], edi test edi, edi mov dword ptr [ebp-14H], ecx mov eax, dword ptr [ebp-10H] jg SHORT G_M000_IG30 G_M000_IG37: mov dword ptr [ebp-10H], eax mov edi, dword ptr [ebp-14H] jmp SHORT G_M000_IG40 G_M000_IG38: mov edx, dword ptr [esi+04H] mov dword ptr [ebp-50H], edx lea ebx, bword ptr [esi+08H] mov edx, bword ptr [ebx] mov bword ptr [ebp-84H], edx mov ebx, dword ptr [ebx+04H] mov edx, dword ptr [ebp-50H] cmp edx, ebx jae SHORT G_M000_IG39 mov ebx, bword ptr [ebp-84H] mov word ptr [ebx+2*edx], 48 inc edx mov dword ptr [esi+04H], edx mov dword ptr [ebp-10H], eax mov edi, dword ptr [ebp-14H] jmp SHORT G_M000_IG40 G_M000_IG39: mov dword ptr [ebp-10H], eax mov ecx, esi mov edx, 48 call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov edi, dword ptr [ebp-14H] G_M000_IG40: mov ebx, dword ptr [ebp+1CH] test ebx, ebx jle G_M000_IG60 G_M000_IG41: mov ecx, bword ptr [ebp+10H] mov bword ptr [ebp-88H], ecx mov eax, dword ptr [ebp+14H] mov dword ptr [ebp-64H], eax mov edx, dword ptr [esi+04H] lea ecx, bword ptr [esi+08H] mov eax, bword ptr [ecx] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-64H], 1 jne SHORT G_M000_IG42 cmp edx, ecx jae SHORT G_M000_IG42 mov ecx, bword ptr [ebp-88H] movzx ecx, word ptr [ecx] mov word ptr [eax+2*edx], cx inc edx mov dword ptr [esi+04H], edx jmp SHORT G_M000_IG43 G_M000_IG42: push dword ptr [ebp-64H] push bword ptr [ebp-88H] mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG43: mov ecx, dword ptr [ebp-10H] test ecx, ecx jge SHORT G_M000_IG51 G_M000_IG44: mov eax, ecx neg eax cmp eax, ebx cmovg eax, ebx mov dword ptr [ebp-34H], eax xor edx, edx mov dword ptr [ebp-38H], edx test eax, eax jle SHORT G_M000_IG47 G_M000_IG45: mov ecx, dword ptr [esi+04H] mov dword ptr [ebp-54H], ecx lea eax, bword ptr [esi+08H] mov ecx, bword ptr [eax] mov bword ptr [ebp-8CH], ecx mov eax, dword ptr [eax+04H] mov ecx, dword ptr [ebp-54H] cmp ecx, eax jae SHORT G_M000_IG48 G_M000_IG46: mov eax, bword ptr [ebp-8CH] mov word ptr [eax+2*ecx], 48 inc ecx mov dword ptr [esi+04H], ecx jmp SHORT G_M000_IG49 G_M000_IG47: mov ecx, dword ptr [ebp-34H] jmp SHORT G_M000_IG50 G_M000_IG48: mov ecx, esi mov edx, 48 call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG49: mov edx, dword ptr [ebp-38H] inc edx mov ecx, dword ptr [ebp-34H] cmp edx, ecx mov dword ptr [ebp-38H], edx jl SHORT G_M000_IG54 G_M000_IG50: sub ebx, ecx G_M000_IG51: test ebx, ebx jle SHORT G_M000_IG60 G_M000_IG52: cmp byte ptr [edi], 0 jne SHORT G_M000_IG55 G_M000_IG53: mov ecx, 48 jmp SHORT G_M000_IG56 G_M000_IG54: jmp SHORT G_M000_IG45 G_M000_IG55: mov ecx, edi lea edi, [ecx+01H] movzx ecx, byte ptr [ecx] G_M000_IG56: movzx edx, cx mov ecx, dword ptr [esi+04H] mov dword ptr [ebp-58H], ecx lea eax, bword ptr [esi+08H] mov ecx, bword ptr [eax] mov bword ptr [ebp-90H], ecx mov eax, dword ptr [eax+04H] mov ecx, dword ptr [ebp-58H] cmp ecx, eax jae SHORT G_M000_IG58 G_M000_IG57: mov eax, bword ptr [ebp-90H] mov word ptr [eax+2*ecx], dx inc ecx mov dword ptr [esi+04H], ecx jmp SHORT G_M000_IG59 G_M000_IG58: mov ecx, esi call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG59: dec ebx test ebx, ebx jg SHORT G_M000_IG52 G_M000_IG60: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG61: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG62: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1145 514: JIT compiled System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]) [Tier-0 switched to FullOpts, IL size=542, code size=1145] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] push dword ptr [eax] mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,int,int]:Invoke(System.__Canon,int):int:this mov edx, gword ptr [ebp-10H] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 190 515: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=190] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 516: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 517: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_FallbackValue() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_ResolvedId():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov edx, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Jobs.JobIdGenerator:GenerateRandomId(BenchmarkDotNet.Jobs.Job):System.String] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:get_Id():System.String:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 52 518: JIT compiled BenchmarkDotNet.Jobs.Job:get_ResolvedId() [Tier0, IL size=27, code size=52] ; Assembly listing for method BenchmarkDotNet.Jobs.JobIdGenerator:GenerateRandomId(BenchmarkDotNet.Jobs.Job):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov edx, ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] call [BenchmarkDotNet.Characteristics.CharacteristicSetPresenter+DisplayPresenter:ToPresentation(BenchmarkDotNet.Characteristics.CharacteristicObject):System.String:this] mov ebx, eax test ebx, ebx je SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [ebx+04H], 0 je G_M000_IG09 G_M000_IG04: cmp byte ptr [ebx], bl test byte ptr [D1FFAB1EH], 1 je G_M000_IG11 G_M000_IG05: mov ecx, 0xD1FFAB1E mov esi, dword ptr [ecx] mov edi, dword ptr [ecx+04H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov edx, dword ptr [ebx+04H] add edx, edx push esi push edi lea ecx, bword ptr [ebx+08H] call [System.Marvin:ComputeHash32(byref,uint,uint,uint):int] mov edx, eax mov ecx, gword ptr [ebp-14H] call [System.Random:.ctor(int):this] mov ebx, gword ptr [ebp-14H] mov esi, 0xD1FFAB1E xor edi, edi G_M000_IG06: mov ecx, gword ptr [ebx+04H] mov edx, 26 mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+18H]System.Random+ImplBase:Next(int):int:this add eax, 65 movzx eax, ax mov dword ptr [ebp-10H], eax mov ecx, 1 call System.String:FastAllocateString(int):System.String mov ecx, dword ptr [ebp-10H] mov word ptr [eax+08H], cx mov ecx, esi mov edx, eax call [System.String:Concat(System.String,System.String):System.String] mov esi, eax inc edi cmp edi, 6 jl SHORT G_M000_IG06 G_M000_IG07: mov edx, esi mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG09: mov eax, 0xD1FFAB1E G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG11: mov ecx, 0xD1FFAB1E mov edx, 367 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG05 ; Total bytes of code 228 519: JIT compiled BenchmarkDotNet.Jobs.JobIdGenerator:GenerateRandomId(BenchmarkDotNet.Jobs.Job) [Tier-0 switched to FullOpts, IL size=101, code size=228] ; Assembly listing for method BenchmarkDotNet.Validators.ValidationErrorReporter:ReportIfAny(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Validators.ValidationError],BenchmarkDotNet.Engines.IHost):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi push ebx sub esp, 24 xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov esi, edx G_M000_IG02: xor ebx, ebx call [System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this] mov ecx, eax mov gword ptr [ebp-20H], ecx G_M000_IG03: call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: mov ecx, gword ptr [ebp-20H] call [System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this] mov edx, gword ptr [eax+04H] mov ecx, esi call [BenchmarkDotNet.Engines.IHost:SendError(System.String):this] mov ebx, 1 mov ecx, gword ptr [ebp-20H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG05: mov ecx, gword ptr [ebp-20H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG08 G_M000_IG06: cmp gword ptr [ebp-20H], 0 je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-20H] call [System.IDisposable:Dispose():this] G_M000_IG07: pop eax jmp eax G_M000_IG08: mov eax, ebx G_M000_IG09: lea esp, [ebp-08H] pop ebx pop esi pop ebp ret ; Total bytes of code 123 520: JIT compiled BenchmarkDotNet.Validators.ValidationErrorReporter:ReportIfAny(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Validators.ValidationError],BenchmarkDotNet.Engines.IHost) [Tier-0 switched to FullOpts, IL size=54, code size=123] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Validators.ValidationError]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+10H], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+14H] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-04H] xor eax, eax mov dword ptr [ecx+10H], eax mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] xor edx, edx call [BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:.ctor(int):this] mov edx, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], edx G_M000_IG04: mov edx, gword ptr [ebp-04H] mov eax, gword ptr [edx+0CH] mov edx, gword ptr [ebp-08H] lea edx, bword ptr [edx+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 115 521: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=55, code size=115] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vxorps xmm4, xmm4 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 522: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:MoveNext() [Tier0, IL size=195, code size=399] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_Environment():BenchmarkDotNet.Jobs.EnvironmentMode:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 523: JIT compiled BenchmarkDotNet.Jobs.Job:get_Environment() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+0CH], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-10H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: push dword ptr [ebp-0CH] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]):System.__Canon:this] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 87 524: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=87] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx] call [CORINFO_HELP_CHKCASTANY] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 61 525: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]) [Tier0, IL size=13, code size=61] ; Assembly listing for method BenchmarkDotNet.Jobs.EnvironmentMode:get_Jit():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 526: JIT compiled BenchmarkDotNet.Jobs.EnvironmentMode:get_Jit() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 527: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 528: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=13, code size=52] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] push dword ptr [eax] mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,int,int]:Invoke(System.__Canon,int):int:this mov edx, gword ptr [ebp-10H] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 190 529: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=190] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 530: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentRuntime():BenchmarkDotNet.Environments.Runtime ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsAot():bool] test eax, eax je SHORT G_M000_IG03 call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsMono():bool] test eax, eax je SHORT G_M000_IG03 mov ecx, 0xD1FFAB1E mov edx, 394 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], eax jmp G_M000_IG10 G_M000_IG03: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool] test eax, eax je SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E mov edx, 398 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], eax jmp G_M000_IG10 G_M000_IG04: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNewMono():bool] test eax, eax je SHORT G_M000_IG05 call [BenchmarkDotNet.Environments.MonoRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.Runtime] mov gword ptr [ebp-08H], eax jmp G_M000_IG10 G_M000_IG05: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool] test eax, eax je SHORT G_M000_IG06 mov ecx, 0xD1FFAB1E mov edx, 395 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG06: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool] test eax, eax je SHORT G_M000_IG07 call [BenchmarkDotNet.Environments.ClrRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.ClrRuntime] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG07: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNetCore():bool] test eax, eax je SHORT G_M000_IG08 call [BenchmarkDotNet.Environments.CoreRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.CoreRuntime] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG08: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsNativeAOT():bool] test eax, eax je SHORT G_M000_IG09 call [BenchmarkDotNet.Environments.NativeAotRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.NativeAotRuntime] mov gword ptr [ebp-08H], eax jmp SHORT G_M000_IG10 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, 0x9148 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] call [System.NotSupportedException:.ctor(System.String):this] mov ecx, gword ptr [ebp-04H] call CORINFO_HELP_THROW G_M000_IG10: mov eax, gword ptr [ebp-08H] G_M000_IG11: mov esp, ebp pop ebp ret ; Total bytes of code 283 531: JIT compiled BenchmarkDotNet.Portability.RuntimeInformation:GetCurrentRuntime() [Tier0, IL size=109, code size=283] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:GetCurrentVersion():BenchmarkDotNet.Environments.CoreRuntime ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vxorps xmm4, xmm4 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 532: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:GetCurrentVersion() [Tier0, IL size=45, code size=158] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:FromVersion(System.Version):BenchmarkDotNet.Environments.CoreRuntime ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 88 vxorps xmm4, xmm4 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 533: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:FromVersion(System.Version) [Tier0, IL size=374, code size=840] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:CreateForNewVersion(System.String,System.String):BenchmarkDotNet.Environments.CoreRuntime ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4 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 534: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:CreateForNewVersion(System.String,System.String) [Tier0, IL size=47, code size=194] ; Assembly listing for method BenchmarkDotNet.Environments.CoreRuntime:.ctor(int,System.String,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp+0CH] push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [BenchmarkDotNet.Environments.Runtime:.ctor(int,System.String,System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 36 535: JIT compiled BenchmarkDotNet.Environments.CoreRuntime:.ctor(int,System.String,System.String) [Tier0, IL size=10, code size=36] ; Assembly listing for method BenchmarkDotNet.Environments.Runtime:.ctor(int,System.String,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov ecx, gword ptr [ebp+08H] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x9228 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp+0CH] call [System.String:IsNullOrEmpty(System.String):bool] test eax, eax je SHORT G_M000_IG06 G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0xF2D9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-0CH] call [System.ArgumentNullException:.ctor(System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG06: mov edx, gword ptr [ebp-04H] mov ecx, dword ptr [ebp-08H] mov dword ptr [edx+0CH], ecx mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov ecx, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG07: mov esp, ebp pop ebp ret 8 ; Total bytes of code 206 536: JIT compiled BenchmarkDotNet.Environments.Runtime:.ctor(int,System.String,System.String) [Tier0, IL size=66, code size=206] ; Assembly listing for method BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 537: JIT compiled BenchmarkDotNet.Environments.BenchmarkEnvironmentInfo+d__55:System.IDisposable.Dispose() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], ecx G_M000_IG02: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp-08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx+04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-0CH], eax G_M000_IG05: mov ecx, dword ptr [ebp-08H] call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov bword ptr [ebp-10H], eax mov ecx, dword ptr [ebp-0CH] call [System.Activator:CreateInstance[System.__Canon]():System.__Canon] mov ecx, eax cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject`1[System.__Canon]:Freeze():System.__Canon:this] mov edx, bword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 107 538: JIT compiled BenchmarkDotNet.Jobs.JobMode`1[System.__Canon]:.cctor() [Tier0, IL size=21, code size=107] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Jobs.Job:.ctor(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 539: JIT compiled BenchmarkDotNet.Jobs.Job:.ctor() [Tier0, IL size=8, code size=22] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:CreateReadyToRun(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.IEngine:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 216 vzeroupper vxorps xmm4, xmm4 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 540: JIT compiled BenchmarkDotNet.Engines.EngineFactory:CreateReadyToRun(BenchmarkDotNet.Engines.EngineParameters) [Tier0, IL size=453, code size=1486] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionNoUnroll():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 541: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionNoUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionUnroll():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 542: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_Dummy1Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 543: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_Dummy1Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_Dummy2Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 544: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_Dummy2Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_Dummy3Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+20H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 545: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_Dummy3Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionNoUnroll():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+24H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 546: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionNoUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionUnroll():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+28H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 547: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionUnroll() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+2CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 548: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_TargetJob() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_GlobalSetupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+30H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 549: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_GlobalSetupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_0():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 550: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_0() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_NeedsJitting():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-0CH], ecx mov ecx, 0xD1FFAB1E mov edx, 407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this] mov ecx, eax call [BenchmarkDotNet.Engines.RunStrategyExtensions:NeedsJitting(int):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 85 551: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_NeedsJitting() [Tier0, IL size=27, code size=85] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 2 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E mov edx, 202 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] xor edx, edx call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E mov edx, 409 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] mov edx, 1 call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]):this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 139 552: JIT compiled BenchmarkDotNet.Engines.EngineParameters:.cctor() [Tier0, IL size=33, code size=139] ; Assembly listing for method BenchmarkDotNet.Running.BenchmarkRunnerClean:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 2 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E mov edx, 382 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] xor edx, edx call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E mov edx, 385 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] mov edx, 1 call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]):this] mov eax, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 139 553: JIT compiled BenchmarkDotNet.Running.BenchmarkRunnerClean:.cctor() [Tier0, IL size=33, code size=139] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 2 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Environments.EnvironmentResolver:.ctor():this] push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] xor edx, edx call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E mov edx, 383 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE push gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-04H] mov edx, 1 call CORINFO_HELP_ARRADDR_ST mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]):this] mov eax, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 146 554: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver:.cctor() [Tier0, IL size=33, code size=146] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 128 vxorps xmm4, xmm4 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 555: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver:.ctor() [Tier0, IL size=248, code size=850] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 63 556: JIT compiled BenchmarkDotNet.Characteristics.Resolver:.ctor() [Tier0, IL size=18, code size=63] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 557: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 558: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.Func`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-18H], eax G_M000_IG05: mov ecx, dword ptr [ebp-18H] call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.__Canon]:.ctor():this] mov edx, gword ptr [ebp-14H] mov gword ptr [ebp-10H], edx mov edx, gword ptr [ebp-10H] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp-08H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-20H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-1CH] mov edx, gword ptr [ebp-10H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-1CH] mov ecx, gword ptr [ebp-20H] mov edx, gword ptr [ebp-0CH] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 176 559: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],System.Func`1[System.__Canon]) [Tier0, IL size=38, code size=176] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 560: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 561: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 562: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 563: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 564: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 565: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 566: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[System.Nullable`1[System.Guid]](BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]],System.Func`1[System.Nullable`1[System.Guid]]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.Nullable`1[System.Guid]]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 567: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[System.Nullable`1[System.Guid]](BenchmarkDotNet.Characteristics.Characteristic`1[System.Nullable`1[System.Guid]],System.Func`1[System.Nullable`1[System.Guid]]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.Nullable`1[System.Guid]]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 568: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.Nullable`1[System.Guid]]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[bool]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 569: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],System.Func`1[bool]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[bool]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 570: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[bool]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`2[BenchmarkDotNet.Characteristics.CharacteristicObject,int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 571: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`2[BenchmarkDotNet.Characteristics.CharacteristicObject,int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 572: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.GcResolver:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 573: JIT compiled BenchmarkDotNet.Environments.GcResolver:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 200 vxorps xmm4, xmm4 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 574: JIT compiled BenchmarkDotNet.Environments.GcResolver:.ctor() [Tier0, IL size=301, code size=1333] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.GcResolver+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 575: JIT compiled BenchmarkDotNet.Environments.GcResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 576: JIT compiled BenchmarkDotNet.Environments.GcResolver+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 39 577: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:.ctor(BenchmarkDotNet.Characteristics.IResolver[]) [Tier0, IL size=14, code size=39] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.InfrastructureResolver:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 578: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 104 vxorps xmm4, xmm4 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 579: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver:.ctor() [Tier0, IL size=179, code size=678] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 580: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 581: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineResolver:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 582: JIT compiled BenchmarkDotNet.Engines.EngineResolver:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 320 vxorps xmm4, xmm4 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 583: JIT compiled BenchmarkDotNet.Engines.EngineResolver:.ctor() [Tier0, IL size=492, code size=2271] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineResolver+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 584: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 585: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 586: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 587: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],System.Func`1[Perfolizer.Horology.TimeInterval]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[Perfolizer.Horology.TimeInterval]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 588: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],System.Func`1[Perfolizer.Horology.TimeInterval]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[Perfolizer.Horology.TimeInterval]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 589: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[Perfolizer.Horology.TimeInterval]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 590: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`1[int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 591: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],System.Func`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[double]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 592: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],System.Func`1[double]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[double]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 593: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[double]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`2[BenchmarkDotNet.Characteristics.CharacteristicObject,int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push gword ptr [ebp-14H] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 130 594: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Register[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],System.Func`2[BenchmarkDotNet.Characteristics.CharacteristicObject,int]) [Tier0, IL size=38, code size=130] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 595: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 53 596: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=53] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4 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 597: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=108, code size=313] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 598: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-14H], eax G_M000_IG05: lea ecx, [ebp-10H] push ecx push dword ptr [ebp-14H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool],byref):System.__Canon] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 85 599: JIT compiled System.Linq.Enumerable:FirstOrDefault[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]) [Tier0, IL size=10, code size=85] ; Assembly listing for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool],byref):System.__Canon ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 36 xor eax, eax mov dword ptr [ebp-28H], eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: test edi, edi je G_M000_IG20 test esi, esi je G_M000_IG21 mov ecx, dword ptr [ebx+0CH] mov ecx, dword ptr [ecx+08H] test ecx, ecx je SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-24H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-24H], eax G_M000_IG05: mov ecx, edi mov eax, dword ptr [ebp-24H] nop call [eax] mov edi, eax mov gword ptr [ebp-28H], edi G_M000_IG06: mov ecx, edi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG12 mov ecx, dword ptr [ebx+0CH] mov eax, dword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG08 G_M000_IG07: mov ebx, eax jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ebx, eax G_M000_IG09: mov eax, ebx mov ecx, edi nop call [eax] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [esi+04H] mov edx, eax call [esi+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax jne SHORT G_M000_IG11 mov ecx, edi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG09 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: mov esi, bword ptr [ebp+0CH] mov byte ptr [esi], 1 mov esi, gword ptr [ebp-2CH] mov gword ptr [ebp-30H], esi mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG13 jmp SHORT G_M000_IG14 G_M000_IG12: mov ecx, edi call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG16 G_M000_IG13: mov dword ptr [ebp-18H], 0 jmp SHORT G_M000_IG18 G_M000_IG14: mov edi, gword ptr [ebp-28H] test edi, edi je SHORT G_M000_IG15 mov ecx, edi call [System.IDisposable:Dispose():this] G_M000_IG15: pop eax jmp eax G_M000_IG16: mov esi, bword ptr [ebp+0CH] mov byte ptr [esi], 0 xor eax, eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG18: mov eax, gword ptr [ebp-30H] G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG20: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG21: mov ecx, 12 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 297 600: JIT compiled System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool],byref) [Tier-0 switched to FullOpts, IL size=87, code size=297] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 601: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass2_0:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] push 0xD1FFAB1E mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):bool] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 128 602: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=37, code size=128] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass2_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 603: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass2_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 28 xor eax, eax mov dword ptr [ebp-28H], eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: test edi, edi je G_M000_IG20 test esi, esi je G_M000_IG21 mov ecx, dword ptr [ebx+0CH] mov eax, dword ptr [ecx+08H] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD G_M000_IG05: mov ecx, edi nop call [eax] mov gword ptr [ebp-28H], eax G_M000_IG06: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG12 mov ecx, dword ptr [ebx+0CH] mov edi, dword ptr [ecx+0CH] test edi, edi je SHORT G_M000_IG08 G_M000_IG07: jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edi, eax G_M000_IG09: mov eax, edi mov ecx, gword ptr [ebp-28H] nop call [eax] mov edx, eax mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax jne SHORT G_M000_IG11 mov ecx, gword ptr [ebp-28H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG09 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: mov dword ptr [ebp-24H], 1 mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG13 jmp SHORT G_M000_IG14 G_M000_IG12: mov ecx, gword ptr [ebp-28H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG16 G_M000_IG13: mov dword ptr [ebp-18H], 0 jmp SHORT G_M000_IG18 G_M000_IG14: mov ecx, gword ptr [ebp-28H] test ecx, ecx je SHORT G_M000_IG15 call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-28H] G_M000_IG15: pop eax jmp eax G_M000_IG16: xor eax, eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG18: mov eax, dword ptr [ebp-24H] G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG20: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG21: mov ecx, 12 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 271 604: JIT compiled System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,bool]) [Tier-0 switched to FullOpts, IL size=73, code size=271] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass2_0:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 605: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass2_0:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:ContainsKey(System.__Canon):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 33 606: JIT compiled BenchmarkDotNet.Characteristics.Resolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic) [Tier0, IL size=13, code size=33] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4 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 607: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=68, code size=222] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`1[int]:Invoke():int:this mov edx, gword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 67 608: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=67] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_0():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 13 609: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_0() [Tier0, IL size=2, code size=13] ; Assembly listing for method BenchmarkDotNet.Engines.RunStrategyExtensions:NeedsJitting(int):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: xor eax, eax cmp dword ptr [ebp-04H], 0 sete al G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 610: JIT compiled BenchmarkDotNet.Engines.RunStrategyExtensions:NeedsJitting(int) [Tier0, IL size=5, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_HasInvocationCount():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 47 611: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_HasInvocationCount() [Tier0, IL size=17, code size=47] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_HasUnrollFactor():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 47 612: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_HasUnrollFactor() [Tier0, IL size=17, code size=47] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:CreateSingleActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vxorps xmm4, xmm4 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 613: JIT compiled BenchmarkDotNet.Engines.EngineFactory:CreateSingleActionEngine(BenchmarkDotNet.Engines.EngineParameters) [Tier0, IL size=44, code size=129] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions:WithInvocationCount(BenchmarkDotNet.Jobs.Job,long):BenchmarkDotNet.Jobs.Job ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-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 614: JIT compiled BenchmarkDotNet.Jobs.JobExtensions:WithInvocationCount(BenchmarkDotNet.Jobs.Job,long) [Tier0, IL size=32, code size=125] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass28_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 615: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass28_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions:WithCore(BenchmarkDotNet.Jobs.Job,System.Action`1[BenchmarkDotNet.Jobs.Job]):BenchmarkDotNet.Jobs.Job ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4 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 616: JIT compiled BenchmarkDotNet.Jobs.JobExtensions:WithCore(BenchmarkDotNet.Jobs.Job,System.Action`1[BenchmarkDotNet.Jobs.Job]) [Tier0, IL size=43, code size=156] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:.ctor(BenchmarkDotNet.Characteristics.CharacteristicObject):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] 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 617: JIT compiled BenchmarkDotNet.Jobs.Job:.ctor(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=9, code size=30] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass28_0:b__0(BenchmarkDotNet.Jobs.Job):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] 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 618: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass28_0:b__0(BenchmarkDotNet.Jobs.Job) [Tier0, IL size=18, code size=70] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_Run():BenchmarkDotNet.Jobs.RunMode:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 619: JIT compiled BenchmarkDotNet.Jobs.Job:get_Run() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Jobs.RunMode:set_InvocationCount(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [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 620: JIT compiled BenchmarkDotNet.Jobs.RunMode:set_InvocationCount(long) [Tier0, IL size=13, code size=36] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[long]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+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 621: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[long]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,long) [Tier0, IL size=9, code size=38] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long],long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-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 622: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long],long) [Tier0, IL size=14, code size=80] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions:WithUnrollFactor(BenchmarkDotNet.Jobs.Job,int):BenchmarkDotNet.Jobs.Job ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-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 623: JIT compiled BenchmarkDotNet.Jobs.JobExtensions:WithUnrollFactor(BenchmarkDotNet.Jobs.Job,int) [Tier0, IL size=32, code size=106] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass29_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 624: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass29_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass29_0:b__0(BenchmarkDotNet.Jobs.Job):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-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 625: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass29_0:b__0(BenchmarkDotNet.Jobs.Job) [Tier0, IL size=18, code size=52] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions:WithEvaluateOverhead(BenchmarkDotNet.Jobs.Job,bool):BenchmarkDotNet.Jobs.Job ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-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 626: JIT compiled BenchmarkDotNet.Jobs.JobExtensions:WithEvaluateOverhead(BenchmarkDotNet.Jobs.Job,bool) [Tier0, IL size=32, code size=106] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass58_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 627: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass58_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass58_0:b__0(BenchmarkDotNet.Jobs.Job):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-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 628: JIT compiled BenchmarkDotNet.Jobs.JobExtensions+<>c__DisplayClass58_0:b__0(BenchmarkDotNet.Jobs.Job) [Tier0, IL size=18, code size=53] ; Assembly listing for method BenchmarkDotNet.Jobs.Job:get_Accuracy():BenchmarkDotNet.Jobs.AccuracyMode:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):System.__Canon:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 629: JIT compiled BenchmarkDotNet.Jobs.Job:get_Accuracy() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Jobs.AccuracyMode:set_EvaluateOverhead(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 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 630: JIT compiled BenchmarkDotNet.Jobs.AccuracyMode:set_EvaluateOverhead(bool) [Tier0, IL size=13, code size=40] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[bool]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 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 631: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[bool]:set_Item(BenchmarkDotNet.Characteristics.CharacteristicObject,bool) [Tier0, IL size=9, code size=39] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov 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 632: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:SetValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],bool) [Tier0, IL size=14, code size=60] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:CreateEngine(BenchmarkDotNet.Engines.EngineParameters,BenchmarkDotNet.Jobs.Job,System.Action`1[long],System.Action`1[long]):BenchmarkDotNet.Engines.Engine ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vxorps xmm4, xmm4 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 633: JIT compiled BenchmarkDotNet.Engines.EngineFactory:CreateEngine(BenchmarkDotNet.Engines.EngineParameters,BenchmarkDotNet.Jobs.Job,System.Action`1[long],System.Action`1[long]) [Tier0, IL size=80, code size=276] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_Host():BenchmarkDotNet.Engines.IHost:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 634: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_Host() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_GlobalCleanupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+34H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 635: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_GlobalCleanupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_IterationSetupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+38H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 636: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_IterationSetupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_IterationCleanupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+3CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 637: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_IterationCleanupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_OperationsPerInvoke():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 638: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_OperationsPerInvoke() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_MeasureExtraStats():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+44H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 639: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_MeasureExtraStats() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_BenchmarkName():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+40H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 640: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_BenchmarkName() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:.ctor(BenchmarkDotNet.Engines.IHost,BenchmarkDotNet.Characteristics.IResolver,System.Action,System.Action,System.Action,System.Action`1[long],System.Action`1[long],BenchmarkDotNet.Jobs.Job,System.Action,System.Action,System.Action,System.Action,long,bool,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vxorps xmm4, xmm4 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 641: JIT compiled BenchmarkDotNet.Engines.Engine:.ctor(BenchmarkDotNet.Engines.IHost,BenchmarkDotNet.Characteristics.IResolver,System.Action,System.Action,System.Action,System.Action`1[long],System.Action`1[long],BenchmarkDotNet.Jobs.Job,System.Action,System.Action,System.Action,System.Action,long,bool,System.String) [Tier0, IL size=333, code size=706] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] cmp dword ptr [ebp-08H], 0 jge SHORT G_M000_IG03 mov ecx, 22 mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] G_M000_IG03: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E mov edx, 47 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 642: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor(int) [Tier0, IL size=47, code size=113] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+38H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 643: JIT compiled BenchmarkDotNet.Engines.Engine:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],BenchmarkDotNet.Characteristics.IResolver):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: push dword ptr [ebp-10H] mov ecx, gword ptr [ebp+0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-14H], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp+0CH] mov edx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-14H] call eax G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 99 644: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[System.__Canon](BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=99] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[System.__Canon](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vxorps xmm4, xmm4 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 645: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[System.__Canon](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]) [Tier0, IL size=108, code size=396] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 646: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[System.__Canon]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[System.__Canon]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 647: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[System.__Canon]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[System.__Canon](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vxorps xmm4, xmm4 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 648: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[System.__Canon](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[System.__Canon]) [Tier0, IL size=68, code size=229] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.__Canon]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`1[System.__Canon]:Invoke():System.__Canon:this G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 42 649: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[System.__Canon]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=42] ; Assembly listing for method BenchmarkDotNet.Environments.InfrastructureResolver+<>c:<.ctor>b__1_0():Perfolizer.Horology.IClock:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 70 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov eax, gword ptr [D1FFAB1EH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 650: JIT compiled BenchmarkDotNet.Environments.InfrastructureResolver+<>c:<.ctor>b__1_0() [Tier0, IL size=6, code size=31] ; Assembly listing for method Perfolizer.Horology.Chronometer:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [Perfolizer.Horology.StopwatchClock:.ctor():this] mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] call [Perfolizer.Horology.DateTimeClock:.ctor():this] mov ecx, gword ptr [ebp-08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] call [Perfolizer.Horology.WindowsClock:.ctor():this] mov eax, gword ptr [ebp-0CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX call [System.Runtime.InteropServices.OSPlatform:get_Windows():System.Runtime.InteropServices.OSPlatform] mov gword ptr [ebp-10H], eax push gword ptr [ebp-10H] call [System.Runtime.InteropServices.RuntimeInformation:IsOSPlatform(System.Runtime.InteropServices.OSPlatform):bool] test eax, eax je SHORT G_M000_IG04 mov ecx, gword ptr [D1FFAB1EH] call [Perfolizer.Horology.IClock:get_IsAvailable():bool:this] test eax, eax je SHORT G_M000_IG04 mov eax, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 201 651: JIT compiled Perfolizer.Horology.Chronometer:.cctor() [Tier0, IL size=76, code size=201] ; Assembly listing for method Perfolizer.Horology.StopwatchClock:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 652: JIT compiled Perfolizer.Horology.StopwatchClock:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Horology.DateTimeClock:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 653: JIT compiled Perfolizer.Horology.DateTimeClock:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Horology.WindowsClock:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 83 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 654: JIT compiled Perfolizer.Horology.WindowsClock:.ctor() [Tier0, IL size=7, code size=35] ; Assembly listing for method Perfolizer.Horology.WindowsClock:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E call [Perfolizer.Horology.WindowsClock:Initialize(byref):bool] mov byte ptr [D1FFAB1EH], al G_M000_IG03: pop ebp ret ; Total bytes of code 21 655: JIT compiled Perfolizer.Horology.WindowsClock:.cctor() [Tier0, IL size=16, code size=21] ; Assembly listing for method Perfolizer.Horology.WindowsClock:Initialize(byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vxorps xmm4, xmm4 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 656: JIT compiled Perfolizer.Horology.WindowsClock:Initialize(byref) [Tier0, IL size=51, code size=179] ; Assembly listing for method (dynamicClass):IL_STUB_PInvoke(byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 mov dword ptr [ebp-14H], eax xor edx, edx mov dword ptr [ebp-10H], edx G_M000_IG02: lea edi, [ebp-30H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-1CH], eax mov bword ptr [ebp-10H], ecx mov eax, dword ptr [ebp-14H] mov eax, dword ptr [eax+10H] mov eax, dword ptr [eax] push ecx mov dword ptr [ebp-28H], 4 mov edx, esp mov dword ptr [ebp-24H], edx lea edx, G_M000_IG04 mov dword ptr [ebp-20H], edx mov byte ptr [esi+08H], 0 G_M000_IG03: call eax G_M000_IG04: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG05 call CORINFO_HELP_STOP_FOR_GC G_M000_IG05: xor eax, eax mov dword ptr [ebp-20H], eax xor eax, eax test edi, edi setne al movzx eax, al mov edx, bword ptr [ebp-2CH] mov dword ptr [esi+0CH], edx G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 118 657: JIT compiled (dynamicClass):IL_STUB_PInvoke(byref) [FullOpts, IL size=55, code size=118] ; Assembly listing for method Perfolizer.Horology.WindowsClock:get_IsAvailable():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: movzx eax, byte ptr [D1FFAB1EH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 658: JIT compiled Perfolizer.Horology.WindowsClock:get_IsAvailable() [Tier0, IL size=6, code size=18] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 53 659: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=53] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[bool](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[bool]):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4 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 660: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[bool](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[bool]) [Tier0, IL size=108, code size=313] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[bool]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 661: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[bool]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[bool]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 662: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[bool]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[bool](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[bool]):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4 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 663: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[bool](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[bool]) [Tier0, IL size=68, code size=223] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[bool]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`1[bool]:Invoke():bool:this mov edx, gword ptr [ebp-0CH] mov byte ptr [edx+04H], al mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 67 664: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[bool]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=67] ; Assembly listing for method BenchmarkDotNet.Environments.GcResolver+<>c:<.ctor>b__1_3():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, 1 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 665: JIT compiled BenchmarkDotNet.Environments.GcResolver+<>c:<.ctor>b__1_3() [Tier0, IL size=2, code size=16] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 53 666: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=53] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4 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 667: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=108, code size=313] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 668: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 669: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 670: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=13, code size=52] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[bool]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool]):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 671: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[bool]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=30] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool]):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] movzx eax, byte ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 53 672: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[bool](BenchmarkDotNet.Characteristics.Characteristic`1[bool]) [Tier0, IL size=13, code size=53] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[bool]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[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 673: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[bool]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=193] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[bool]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,bool,bool]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 674: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[bool]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_10():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 13 675: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_10() [Tier0, IL size=2, code size=13] ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:.ctor(BenchmarkDotNet.Engines.IEngine):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.EngineStage:.ctor(BenchmarkDotNet.Engines.IEngine):this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 42 676: JIT compiled BenchmarkDotNet.Engines.EngineWarmupStage:.ctor(BenchmarkDotNet.Engines.IEngine) [Tier0, IL size=15, code size=42] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:.ctor(BenchmarkDotNet.Engines.IEngine):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 39 677: JIT compiled BenchmarkDotNet.Engines.EngineStage:.ctor(BenchmarkDotNet.Engines.IEngine) [Tier0, IL size=14, code size=39] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage:.ctor(BenchmarkDotNet.Engines.IEngine):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 88 vzeroupper vxorps xmm4, xmm4 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 678: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage:.ctor(BenchmarkDotNet.Engines.IEngine) [Tier0, IL size=219, code size=497] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+24H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 679: JIT compiled BenchmarkDotNet.Engines.Engine:get_TargetJob() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],BenchmarkDotNet.Characteristics.IResolver):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-04H] push gword ptr [ebp+0CH] mov ecx, gword ptr [ebp+08H] mov edx, bword ptr [ebp-08H] mov eax, dword ptr [ebp-0CH] call eax G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 56 680: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=56] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vxorps xmm4, xmm4 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 681: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]) [Tier0, IL size=108, code size=328] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[Perfolizer.Horology.TimeInterval]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 682: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[Perfolizer.Horology.TimeInterval]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[Perfolizer.Horology.TimeInterval]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 683: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[Perfolizer.Horology.TimeInterval]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4 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 684: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]) [Tier0, IL size=68, code size=236] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[Perfolizer.Horology.TimeInterval]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-0CH] add edx, 4 mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`1[Perfolizer.Horology.TimeInterval]:Invoke():Perfolizer.Horology.TimeInterval:this mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 67 685: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[Perfolizer.Horology.TimeInterval]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=67] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_7():Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 80 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, 0xD1FFAB1E push dword ptr [ecx+04H] push dword ptr [ecx] mov ecx, bword ptr [ebp-08H] mov edx, 500 call [Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,int):Perfolizer.Horology.TimeInterval] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 55 686: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_7() [Tier0, IL size=16, code size=55] ; Assembly listing for method Perfolizer.Horology.TimeInterval:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] push 0 push 1 mov ecx, gword ptr [D1FFAB1EH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this] G_M000_IG03: pop ebp ret ; Total bytes of code 166 687: JIT compiled Perfolizer.Horology.TimeInterval:.cctor() [Tier0, IL size=120, code size=166] ; Assembly listing for method Perfolizer.Horology.TimeUnit:ToInterval(long):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax push dword ptr [ebp+0CH] push dword ptr [ebp+08H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-18H] vmovsd xmm0, qword ptr [ebp-18H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-10H] mov edx, gword ptr [ebp-04H] call [Perfolizer.Horology.TimeInterval:.ctor(double,Perfolizer.Horology.TimeUnit):this] mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] mov dword ptr [eax], edx mov edx, dword ptr [ebp-0CH] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 82 688: JIT compiled Perfolizer.Horology.TimeUnit:ToInterval(long) [Tier0, IL size=9, code size=82] ; Assembly listing for method Perfolizer.Horology.TimeInterval:.ctor(double,Perfolizer.Horology.TimeUnit):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this] mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], edx push dword ptr [ebp-0CH] push dword ptr [ebp-10H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-18H] vmovsd xmm0, qword ptr [ebp-18H] vmulsd xmm0, xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.TimeInterval:.ctor(double):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 79 689: JIT compiled Perfolizer.Horology.TimeInterval:.ctor(double,Perfolizer.Horology.TimeUnit) [Tier0, IL size=16, code size=79] ; Assembly listing for method Perfolizer.Horology.TimeInterval:.ctor(double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 28 690: JIT compiled Perfolizer.Horology.TimeInterval:.ctor(double) [Tier0, IL size=8, code size=28] ; Assembly listing for method Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,int):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-0CH], ecx lea ecx, [ebp+08H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-18H] vxorps xmm1, xmm1 vcvtsi2sd 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 691: JIT compiled Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,int) [Tier0, IL size=16, code size=90] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 692: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4 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 693: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=68, code size=222] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`1[int]:Invoke():int:this mov edx, gword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 67 694: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=67] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_8():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, 4 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 695: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_8() [Tier0, IL size=2, code size=16] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],BenchmarkDotNet.Characteristics.IResolver):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 72 696: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[double](BenchmarkDotNet.Characteristics.Characteristic`1[double],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=72] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[double](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[double]):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vzeroupper vxorps xmm4, xmm4 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 697: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[double](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[double]) [Tier0, IL size=108, code size=348] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[double]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 698: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[double]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[double]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 699: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[double]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[double](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[double]):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vzeroupper vxorps xmm4, xmm4 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 700: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[double](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[double]) [Tier0, IL size=68, code size=251] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[double]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`1[double]:Invoke():double:this fstp qword ptr [ebp-18H] mov eax, gword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-18H] vmovsd qword ptr [eax+04H], xmm0 mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 80 701: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass1_0`1[double]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=17, code size=80] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_6():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [@RWD00] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret RWD00 dq 3F947AE147AE147Bh ; 0.02 ; Total bytes of code 32 702: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_6() [Tier0, IL size=10, code size=32] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):System.Nullable`1[Perfolizer.Horology.TimeInterval]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG04 vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-18H], xmm0 mov edx, bword ptr [ebp-08H] vmovdqu xmm0, xmmword ptr [ebp-18H] vmovdqu xmmword ptr [edx], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-28H], xmm0 push gword ptr [ebp+08H] lea edx, [ebp-30H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):Perfolizer.Horology.TimeInterval:this] push dword ptr [ebp-2CH] push dword ptr [ebp-30H] lea ecx, [ebp-28H] call [System.Nullable`1[Perfolizer.Horology.TimeInterval]:.ctor(Perfolizer.Horology.TimeInterval):this] mov eax, bword ptr [ebp-08H] vmovdqu xmm0, xmmword ptr [ebp-28H] vmovdqu xmmword ptr [eax], xmm0 G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 129 703: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]) [Tier0, IL size=32, code size=129] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp-04H] mov ecx, gword ptr [ebp+08H] mov edx, bword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):Perfolizer.Horology.TimeInterval:this] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 704: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]:get_Item(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=8, code size=35] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]):Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue(BenchmarkDotNet.Characteristics.Characteristic):System.Object:this] mov gword ptr [ebp-0CH], eax mov edx, gword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov edx, bword ptr [ebp-08H] mov ecx, dword ptr [eax] mov dword ptr [edx], ecx mov ecx, dword ptr [eax+04H] mov dword ptr [edx+04H], ecx G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 65 705: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[Perfolizer.Horology.TimeInterval](BenchmarkDotNet.Characteristics.Characteristic`1[Perfolizer.Horology.TimeInterval]) [Tier0, IL size=13, code size=65] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToNanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] push dword ptr [eax+04H] push dword ptr [eax] mov eax, 0xD1FFAB1E push dword ptr [eax+04H] push dword ptr [eax] call [Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval):double] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 56 706: JIT compiled Perfolizer.Horology.TimeInterval:ToNanoseconds() [Tier0, IL size=17, code size=56] ; Assembly listing for method Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper G_M000_IG02: lea ecx, [ebp+10H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmulsd xmm0, xmm0, qword ptr [@RWD00] vmovsd qword ptr [ebp-08H], xmm0 lea ecx, [ebp+08H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-10H] vmovsd xmm1, qword ptr [ebp-08H] vmovsd xmm0, qword ptr [ebp-10H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 16 RWD00 dq 3FF0000000000000h ; 1 ; Total bytes of code 79 707: JIT compiled Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,Perfolizer.Horology.TimeInterval) [Tier0, IL size=26, code size=79] ; Assembly listing for method Perfolizer.Horology.ClockExtensions:GetResolution(Perfolizer.Horology.IClock):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: lea edx, [ebp-10H] mov ecx, gword ptr [ebp-08H] call [Perfolizer.Horology.IClock:get_Frequency():Perfolizer.Horology.Frequency:this] lea ecx, [ebp-10H] mov edx, bword ptr [ebp-04H] call [Perfolizer.Horology.Frequency:ToResolution():Perfolizer.Horology.TimeInterval:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 708: JIT compiled Perfolizer.Horology.ClockExtensions:GetResolution(Perfolizer.Horology.IClock) [Tier0, IL size=15, code size=48] ; Assembly listing for method Perfolizer.Horology.WindowsClock:get_Frequency():Perfolizer.Horology.Frequency:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vzeroupper mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-14H], 0xD1FFAB1E mov eax, dword ptr [ebp-14H] mov edx, dword ptr [ebp-14H] push dword ptr [edx+04H] push dword ptr [eax] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-10H] call [Perfolizer.Horology.Frequency:.ctor(double):this] mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] mov dword ptr [eax], edx mov edx, dword ptr [ebp-0CH] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 89 709: JIT compiled Perfolizer.Horology.WindowsClock:get_Frequency() [Tier0, IL size=12, code size=89] ; Assembly listing for method Perfolizer.Horology.Frequency:.ctor(double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 28 710: JIT compiled Perfolizer.Horology.Frequency:.ctor(double) [Tier0, IL size=8, code size=28] ; Assembly listing for method Perfolizer.Horology.Frequency:ToResolution():Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov eax, dword ptr [ecx] mov dword ptr [ebp-10H], eax mov eax, dword ptr [ecx+04H] mov dword ptr [ebp-0CH], eax push dword ptr [ebp-0CH] push dword ptr [ebp-10H] mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.Frequency:get_Hertz():double:this] fstp qword ptr [ebp-18H] vmovsd xmm0, qword ptr [ebp-18H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, bword ptr [ebp-08H] call [Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,double):Perfolizer.Horology.TimeInterval] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 75 711: JIT compiled Perfolizer.Horology.Frequency:ToResolution() [Tier0, IL size=17, code size=75] ; Assembly listing for method Perfolizer.Horology.Frequency:get_Hertz():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 712: JIT compiled Perfolizer.Horology.Frequency:get_Hertz() [Tier0, IL size=7, code size=31] ; Assembly listing for method Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,double):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-0CH], ecx mov dword ptr [ebp-08H], ecx lea ecx, [ebp+10H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vdivsd xmm0, xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-0CH] call [Perfolizer.Horology.TimeInterval:.ctor(double):this] mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-0CH] mov dword ptr [eax], edx mov edx, dword ptr [ebp-08H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 16 ; Total bytes of code 79 713: JIT compiled Perfolizer.Horology.TimeInterval:op_Division(Perfolizer.Horology.TimeInterval,double) [Tier0, IL size=15, code size=79] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:.ctor(BenchmarkDotNet.Engines.IEngine):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 64 vzeroupper vxorps xmm4, xmm4 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 714: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:.ctor(BenchmarkDotNet.Engines.IEngine) [Tier0, IL size=164, code size=356] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):System.Nullable`1[int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:HasValue(BenchmarkDotNet.Characteristics.Characteristic):bool:this] test eax, eax jne SHORT G_M000_IG04 xor ecx, ecx mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-0CH], ecx mov ecx, bword ptr [ebp-08H] mov edx, dword ptr [ebp-10H] mov dword ptr [ecx], edx mov edx, dword ptr [ebp-0CH] mov dword ptr [ecx+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: xor ecx, ecx mov dword ptr [ebp-18H], ecx mov dword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp+08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject:GetValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this] mov dword ptr [ebp-1CH], eax mov edx, dword ptr [ebp-1CH] lea ecx, [ebp-18H] call [System.Nullable`1[int]:.ctor(int):this] mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp-18H] mov dword ptr [eax], edx mov edx, dword ptr [ebp-14H] mov dword ptr [eax+04H], edx G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 119 715: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValueAsNullable[int](BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=32, code size=119] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 53 716: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=9, code size=53] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4 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 717: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=108, code size=313] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 718: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 719: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass4_0`1[int]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4 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 720: JIT compiled BenchmarkDotNet.Characteristics.Resolver:Resolve[int](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[int]) [Tier0, IL size=68, code size=222] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`2[System.__Canon,int]:Invoke(System.__Canon):int:this mov edx, gword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 70 721: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=18, code size=70] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver:<.ctor>b__7_11(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4 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 722: JIT compiled BenchmarkDotNet.Engines.EngineResolver:<.ctor>b__7_11(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=87, code size=223] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 164 vzeroupper vxorps xmm4, xmm4 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 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 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 723: JIT compiled BenchmarkDotNet.Engines.EngineFactory:Jit(BenchmarkDotNet.Engines.Engine,int,int,int) [Tier0, IL size=92, code size=439] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Dummy1Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 724: JIT compiled BenchmarkDotNet.Engines.Engine:get_Dummy1Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:Dummy1():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+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 725: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:Dummy1() [Tier0, IL size=897, code size=395] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+18H] mov dword ptr [eax+04H], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+14H] mov dword ptr [eax+08H], edx mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+0CH] mov dword ptr [eax], edx mov eax, dword ptr [ebp+10H] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax+18H], edx G_M000_IG03: mov esp, ebp pop ebp ret 20 ; Total bytes of code 84 726: JIT compiled BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int) [Tier0, IL size=38, code size=84] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 236 vzeroupper vxorps xmm4, xmm4 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 727: JIT compiled BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData) [Tier0, IL size=361, code size=1116] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_InvokeCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 728: JIT compiled BenchmarkDotNet.Engines.IterationData:get_InvokeCount() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_UnrollFactor():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 729: JIT compiled BenchmarkDotNet.Engines.IterationData:get_UnrollFactor() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 730: JIT compiled BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationMode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 731: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationMode() [Tier0, IL size=7, code size=16] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_OverheadAction():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+20H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 732: JIT compiled BenchmarkDotNet.Engines.Engine:get_OverheadAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:GcCollect():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: call [BenchmarkDotNet.Engines.Engine:ForceGcCollect()] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 34 733: JIT compiled BenchmarkDotNet.Engines.Engine:GcCollect() [Tier0, IL size=15, code size=34] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+64H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 734: JIT compiled BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:ForceGcCollect() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [System.GC:Collect()] call [System.GC:WaitForPendingFinalizers()] call [System.GC:Collect()] G_M000_IG03: pop ebp ret ; Total bytes of code 23 735: JIT compiled BenchmarkDotNet.Engines.Engine:ForceGcCollect() [Tier0, IL size=16, code size=23] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 736: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Diagnostics.Tracing.EventSource:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 737: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Text.Ascii:ChangeCase[ushort,ushort,System.Text.Ascii+ToUpperConversion](uint,uint,uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 18 single block inlinees; 30 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 28 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: xor esi, esi cmp eax, 8 jb G_M000_IG07 G_M000_IG03: vmovups xmm0, xmmword ptr [ecx] vmovups xmm1, xmmword ptr [@RWD00] vptest xmm0, xmm1 jne G_M000_IG07 mov esi, 0x8061 vmovd xmm2, esi vpbroadcastw xmm2, xmm2 vmovups xmm3, xmmword ptr [@RWD16] vmovups xmm4, xmmword ptr [@RWD32] vpsubw xmm5, xmm0, xmm2 vpcmpgtw xmm5, xmm3, xmm5 vpand xmm5, xmm5, xmm4 vpxor xmm0, xmm0, xmm5 vmovups xmmword ptr [edx], xmm0 mov esi, edx and esi, 15 shr esi, 1 mov edi, 8 sub edi, esi mov esi, edi align [0 bytes for IG04] G_M000_IG04: mov edi, eax sub edi, esi cmp edi, 8 jae SHORT G_M000_IG06 G_M000_IG05: cmp esi, eax je G_M000_IG12 mov esi, eax sub esi, 8 G_M000_IG06: vmovups xmm0, xmmword ptr [ecx+2*esi] vptest xmm0, xmm1 jne SHORT G_M000_IG07 vpsubw xmm5, xmm0, xmm2 vpcmpgtw xmm5, xmm3, xmm5 vpand xmm5, xmm5, xmm4 vpxor xmm0, xmm0, xmm5 vmovups xmmword ptr [edx+2*esi], xmm0 add esi, 8 jmp SHORT G_M000_IG04 G_M000_IG07: mov edi, eax sub edi, esi cmp edi, 2 jb SHORT G_M000_IG11 mov edi, esi mov dword ptr [ebp-24H], edi mov dword ptr [ebp-10H], ecx mov ebx, dword ptr [ecx+2*edi] test ebx, 0xD1FFAB1E jne SHORT G_M000_IG08 lea edi, [ebx+D1FFAB1EH] lea ecx, [ebx+00050005H] xor ecx, edi and ecx, 0xD1FFAB1E shr ecx, 2 xor ebx, ecx mov edi, dword ptr [ebp-24H] mov dword ptr [edx+2*edi], ebx add esi, 2 mov ecx, dword ptr [ebp-10H] jmp SHORT G_M000_IG07 G_M000_IG08: mov ecx, dword ptr [ebp-10H] jmp SHORT G_M000_IG11 G_M000_IG09: mov edi, esi mov dword ptr [ebp-28H], edi movzx ebx, word ptr [ecx+2*edi] cmp ebx, 127 ja SHORT G_M000_IG12 lea edi, [ebx-61H] cmp edi, 25 ja SHORT G_M000_IG10 add ebx, -32 G_M000_IG10: movzx edi, bx mov ebx, dword ptr [ebp-28H] mov word ptr [edx+2*ebx], di inc esi G_M000_IG11: cmp esi, eax jb SHORT G_M000_IG09 G_M000_IG12: mov eax, esi G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 RWD00 dq FF80FF80FF80FF80h, FF80FF80FF80FF80h RWD16 dq 801A801A801A801Ah, 801A801A801A801Ah RWD32 dq 0020002000200020h, 0020002000200020h ; Total bytes of code 299 738: JIT compiled System.Text.Ascii:ChangeCase[ushort,ushort,System.Text.Ascii+ToUpperConversion](uint,uint,uint) [Tier-0 switched to FullOpts, IL size=900, code size=299] ; Assembly listing for method (dynamicClass):InvokeStub_EventSourceAttribute.set_Name(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, gword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventSourceAttribute:set_Name(System.String):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 739: JIT compiled (dynamicClass):InvokeStub_EventSourceAttribute.set_Name(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 34 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, 8 jge G_M000_IG11 G_M000_IG03: xor esi, esi cmp eax, 4 jl SHORT G_M000_IG04 add eax, -4 movsx edi, word ptr [ecx+2*esi] movsx ebx, dx cmp edi, ebx je SHORT G_M000_IG10 movsx edi, word ptr [ecx+2*esi+02H] cmp edi, ebx je SHORT G_M000_IG09 movsx edi, word ptr [ecx+2*esi+04H] cmp edi, ebx je SHORT G_M000_IG08 movsx edi, word ptr [ecx+2*esi+06H] cmp edi, ebx je SHORT G_M000_IG07 add esi, 4 G_M000_IG04: test eax, eax jle G_M000_IG22 movsx ebx, dx align [13 bytes for IG05] G_M000_IG05: dec eax movsx edx, word ptr [ecx+2*esi] cmp edx, ebx je SHORT G_M000_IG10 inc esi test eax, eax jg SHORT G_M000_IG05 G_M000_IG06: jmp G_M000_IG22 align [13 bytes for IG12] G_M000_IG07: lea eax, [esi+03H] jmp G_M000_IG21 G_M000_IG08: lea eax, [esi+02H] jmp G_M000_IG21 G_M000_IG09: lea eax, [esi+01H] jmp G_M000_IG21 G_M000_IG10: mov eax, esi jmp G_M000_IG21 G_M000_IG11: cmp eax, 16 jl G_M000_IG16 movsx ebx, dx vmovd xmm0, ebx vpbroadcastw ymm0, ymm0 mov edx, ecx lea ebx, [2*eax-20H] lea esi, bword ptr [edx+ebx] G_M000_IG12: vpcmpeqw ymm1, ymm0, ymmword ptr [edx] vptest ymm1, ymm1 jne SHORT G_M000_IG15 add edx, 32 cmp edx, esi jbe SHORT G_M000_IG12 G_M000_IG13: xor edx, edx mov ecx, 16 cmp edx, ecx jb SHORT G_M000_IG14 mov edi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, edi G_M000_IG14: div edx:eax, ecx or edx, 0 je G_M000_IG22 vpcmpeqw ymm1, ymm0, ymmword ptr [esi] vptest ymm1, ymm1 je G_M000_IG22 shr ebx, 1 vpshufb ymm1, ymm1, ymmword ptr [@RWD00] vpermq ymm0, ymm1, -40 vpmovmskb eax, xmm0 tzcnt eax, eax add eax, ebx jmp G_M000_IG21 align [1 bytes for IG17] G_M000_IG15: mov eax, edx sub eax, ecx shr eax, 1 vpshufb ymm0, ymm1, ymmword ptr [@RWD00] vpermq ymm0, ymm0, -40 vpmovmskb ecx, xmm0 xor edx, edx tzcnt edx, ecx add eax, edx jmp G_M000_IG21 G_M000_IG16: movsx ebx, dx vmovd xmm0, ebx vpbroadcastw xmm0, xmm0 mov edx, ecx lea esi, [2*eax-10H] lea edi, bword ptr [edx+esi] G_M000_IG17: vpcmpeqw xmm1, xmm0, xmmword ptr [edx] vptest xmm1, xmm1 jne SHORT G_M000_IG20 add edx, 16 cmp edx, edi jbe SHORT G_M000_IG17 G_M000_IG18: xor edx, edx mov ecx, 8 cmp edx, ecx jb SHORT G_M000_IG19 mov ebx, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, ebx G_M000_IG19: div edx:eax, ecx or edx, 0 je SHORT G_M000_IG22 vpcmpeqw xmm1, xmm0, xmmword ptr [edi] vptest xmm1, xmm1 je SHORT G_M000_IG22 shr esi, 1 vpshufb xmm1, xmm1, xmmword ptr [@RWD00] vpmovmskb eax, xmm1 tzcnt eax, eax add eax, esi jmp SHORT G_M000_IG21 G_M000_IG20: mov eax, edx sub eax, ecx shr eax, 1 vpshufb xmm0, xmm1, xmmword ptr [@RWD00] vpmovmskb edx, xmm0 tzcnt edx, edx add eax, edx G_M000_IG21: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG22: mov eax, -1 G_M000_IG23: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 RWD00 dq 0F0D0B0907050301h, 8080808080808080h, 0F0D0B0907050301h, 8080808080808080h ; Total bytes of code 482 740: JIT compiled System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int) [Tier1, IL size=1017, code size=482] ; Assembly listing for method System.Number:TryParseBinaryIntegerStyle[ushort](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 9 inlinees with PGO data; 52 single block inlinees; 11 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 108 mov gword ptr [ebp-48H], edx mov esi, ecx G_M000_IG02: mov ebx, dword ptr [ebp+10H] test ebx, ebx je G_M000_IG42 G_M000_IG03: xor ecx, ecx mov eax, bword ptr [ebp+0CH] movzx edi, word ptr [eax] mov dword ptr [ebp-10H], esi test esi, 1 je SHORT G_M000_IG05 cmp edi, 32 je SHORT G_M000_IG04 lea esi, [edi-09H] cmp esi, 4 ja SHORT G_M000_IG05 G_M000_IG04: inc ecx cmp ecx, ebx jae G_M000_IG42 movzx edi, word ptr [eax+2*ecx] cmp edi, 32 je SHORT G_M000_IG04 lea esi, [edi-09H] cmp esi, 4 jbe SHORT G_M000_IG04 G_M000_IG05: xor esi, esi xor edx, edx test byte ptr [ebp-10H], 4 je G_M000_IG16 mov esi, gword ptr [ebp-48H] cmp byte ptr [esi+A9H], 0 je SHORT G_M000_IG07 cmp edi, 45 jne SHORT G_M000_IG06 mov edx, 1 inc ecx cmp ecx, ebx jae G_M000_IG42 jmp G_M000_IG15 G_M000_IG06: cmp edi, 43 jne G_M000_IG16 inc ecx cmp ecx, ebx jae G_M000_IG42 jmp G_M000_IG15 G_M000_IG07: cmp byte ptr [esi+AAH], 0 je SHORT G_M000_IG08 cmp edi, 45 jne SHORT G_M000_IG08 mov dword ptr [ebp-18H], 1 inc ecx cmp ecx, ebx jae G_M000_IG42 mov edx, dword ptr [ebp-18H] jmp G_M000_IG15 G_M000_IG08: cmp ecx, ebx ja G_M000_IG54 lea eax, bword ptr [eax+2*ecx] mov bword ptr [ebp-74H], eax sub ebx, ecx mov ecx, ebx mov bword ptr [ebp+0CH], eax mov dword ptr [ebp+10H], ecx xor ecx, ecx mov dword ptr [ebp-14H], ecx mov ecx, gword ptr [esi+10H] mov gword ptr [ebp-4CH], ecx mov esi, gword ptr [esi+14H] test ecx, ecx je G_M000_IG12 G_M000_IG09: cmp dword ptr [ecx+04H], 0 je G_M000_IG12 G_M000_IG10: mov dword ptr [ebp-18H], edx mov edx, bword ptr [ebp-74H] mov bword ptr [ebp-58H], edx mov dword ptr [ebp-38H], ebx lea edx, bword ptr [ecx+08H] mov bword ptr [ebp-50H], edx mov edx, dword ptr [ecx+04H] mov dword ptr [ebp-2CH], edx mov edx, bword ptr [ebp-50H] mov bword ptr [ebp-60H], edx mov edx, dword ptr [ebp-2CH] mov dword ptr [ebp-40H], edx mov edx, bword ptr [ebp-60H] mov bword ptr [ebp-5CH], edx mov edx, dword ptr [ebp-40H] mov dword ptr [ebp-3CH], edx mov edx, bword ptr [ebp-58H] mov bword ptr [ebp-68H], edx mov edx, bword ptr [ebp-5CH] mov bword ptr [ebp-64H], edx mov edx, dword ptr [ebp-3CH] mov ecx, dword ptr [ebp-38H] cmp edx, ecx mov dword ptr [ebp-30H], edx jg SHORT G_M000_IG11 mov ecx, dword ptr [ebp-30H] add ecx, ecx push ecx mov ecx, bword ptr [ebp-68H] mov edx, bword ptr [ebp-64H] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov edx, dword ptr [ebp-18H] je SHORT G_M000_IG12 mov ecx, gword ptr [ebp-4CH] mov eax, dword ptr [ecx+04H] mov edi, eax mov dword ptr [ebp-14H], edi cmp edi, ebx jae G_M000_IG42 mov ecx, dword ptr [ebp-14H] jmp G_M000_IG15 G_M000_IG11: mov edx, dword ptr [ebp-18H] jmp SHORT G_M000_IG12 align [15 bytes for IG17] G_M000_IG12: test esi, esi je G_M000_IG21 G_M000_IG13: cmp dword ptr [esi+04H], 0 je G_M000_IG20 G_M000_IG14: mov dword ptr [ebp-18H], edx mov ecx, bword ptr [ebp-74H] mov bword ptr [ebp-54H], ecx mov dword ptr [ebp-34H], ebx lea ecx, bword ptr [esi+08H] mov edx, dword ptr [esi+04H] mov dword ptr [ebp-44H], edx mov edx, bword ptr [ebp-54H] mov bword ptr [ebp-70H], edx mov bword ptr [ebp-6CH], ecx mov ecx, dword ptr [ebp-44H] mov edx, dword ptr [ebp-34H] cmp ecx, edx jg G_M000_IG19 add ecx, ecx push ecx mov ecx, bword ptr [ebp-70H] mov edx, bword ptr [ebp-6CH] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax mov ecx, dword ptr [ebp-14H] mov edx, dword ptr [ebp-18H] je SHORT G_M000_IG16 mov eax, 1 mov ecx, dword ptr [esi+04H] mov edi, ecx cmp edi, ebx mov ecx, edi mov edx, eax jae G_M000_IG42 G_M000_IG15: cmp ecx, dword ptr [ebp+10H] jae G_M000_IG55 mov eax, bword ptr [ebp+0CH] movzx edi, word ptr [eax+2*ecx] G_M000_IG16: mov ebx, edx and ebx, 1 xor eax, eax lea edx, [edi-30H] cmp edx, 9 ja G_M000_IG42 cmp edi, 48 jne SHORT G_M000_IG22 G_M000_IG17: inc ecx mov edx, dword ptr [ebp+10H] cmp ecx, edx jae G_M000_IG40 mov edi, bword ptr [ebp+0CH] movzx esi, word ptr [edi+2*ecx] cmp esi, 48 mov bword ptr [ebp-78H], edi je SHORT G_M000_IG17 G_M000_IG18: mov edi, esi lea esi, [edi-30H] cmp esi, 9 jbe SHORT G_M000_IG22 xor ebx, ebx mov dword ptr [ebp-1CH], ebx jmp G_M000_IG44 G_M000_IG19: mov ecx, dword ptr [ebp-14H] mov edx, dword ptr [ebp-18H] jmp SHORT G_M000_IG16 G_M000_IG20: mov ecx, dword ptr [ebp-14H] jmp SHORT G_M000_IG16 align [2 bytes for IG35] G_M000_IG21: mov ecx, dword ptr [ebp-14H] jmp SHORT G_M000_IG16 G_M000_IG22: add edi, -48 movzx eax, di mov edi, eax inc ecx mov edx, dword ptr [ebp+10H] cmp ecx, edx jae G_M000_IG39 G_M000_IG23: mov dword ptr [ebp-1CH], ebx mov eax, bword ptr [ebp+0CH] movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 ja G_M000_IG31 inc ecx lea edi, [edi+4*edi] add edi, edi movzx edi, di lea ebx, [esi-30H] movzx ebx, bx add edi, ebx movzx edi, di cmp ecx, edx jae G_M000_IG30 movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 ja G_M000_IG29 inc ecx lea edi, [edi+4*edi] add edi, edi movzx edi, di lea ebx, [esi-30H] movzx ebx, bx add edi, ebx movzx edi, di cmp ecx, edx jae SHORT G_M000_IG28 movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 ja SHORT G_M000_IG27 inc ecx lea edi, [edi+4*edi] add edi, edi movzx edi, di lea ebx, [esi-30H] movzx ebx, bx add edi, ebx movzx edi, di cmp ecx, edx jae SHORT G_M000_IG26 movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 ja SHORT G_M000_IG25 inc ecx mov ebx, dword ptr [ebp-1CH] cmp edi, 0x1999 jg SHORT G_M000_IG33 cmp edi, 0x1999 jne SHORT G_M000_IG32 mov dword ptr [ebp-24H], ebx xor ebx, ebx cmp esi, 53 setg bl G_M000_IG24: mov dword ptr [ebp-28H], ebx jmp SHORT G_M000_IG34 G_M000_IG25: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp G_M000_IG44 G_M000_IG26: mov ebx, dword ptr [ebp-1CH] jmp G_M000_IG39 G_M000_IG27: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp G_M000_IG44 G_M000_IG28: mov ebx, dword ptr [ebp-1CH] jmp G_M000_IG39 G_M000_IG29: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp G_M000_IG44 G_M000_IG30: mov ebx, dword ptr [ebp-1CH] jmp G_M000_IG39 G_M000_IG31: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp G_M000_IG44 G_M000_IG32: mov dword ptr [ebp-24H], ebx xor ebx, ebx mov dword ptr [ebp-28H], ebx jmp SHORT G_M000_IG34 G_M000_IG33: mov dword ptr [ebp-24H], ebx mov dword ptr [ebp-28H], 1 G_M000_IG34: mov ebx, dword ptr [ebp-24H] or ebx, dword ptr [ebp-28H] movzx ebx, bl mov dword ptr [ebp-1CH], ebx lea edi, [edi+4*edi] add edi, edi movzx edi, di add esi, -48 movzx esi, si add esi, edi movzx edi, si cmp ecx, edx jae SHORT G_M000_IG38 movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 ja SHORT G_M000_IG37 G_M000_IG35: mov dword ptr [ebp-1CH], 1 inc ecx cmp ecx, edx jae SHORT G_M000_IG43 movzx esi, word ptr [eax+2*ecx] lea ebx, [esi-30H] cmp ebx, 9 jbe SHORT G_M000_IG35 G_M000_IG36: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp SHORT G_M000_IG44 G_M000_IG37: mov bword ptr [ebp-78H], eax mov eax, edi mov edi, esi jmp SHORT G_M000_IG44 align [12 bytes for IG46] G_M000_IG38: mov ebx, dword ptr [ebp-1CH] G_M000_IG39: test ebx, ebx mov eax, edi jne SHORT G_M000_IG43 G_M000_IG40: mov edi, bword ptr [ebp+08H] mov word ptr [edi], ax xor eax, eax G_M000_IG41: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG42: mov edi, bword ptr [ebp+08H] mov word ptr [edi], 0 mov eax, 1 jmp SHORT G_M000_IG41 G_M000_IG43: mov edi, bword ptr [ebp+08H] mov word ptr [edi], 0 mov eax, 2 jmp SHORT G_M000_IG41 G_M000_IG44: cmp edi, 32 je SHORT G_M000_IG45 lea esi, [edi-09H] cmp esi, 4 ja SHORT G_M000_IG53 G_M000_IG45: test byte ptr [ebp-10H], 2 mov dword ptr [ebp-20H], eax je SHORT G_M000_IG42 mov ebx, dword ptr [ebp-1CH] mov esi, bword ptr [ebp-78H] inc ecx cmp ecx, edx jge SHORT G_M000_IG49 G_M000_IG46: cmp ecx, edx jae SHORT G_M000_IG55 movzx edi, word ptr [esi+2*ecx] cmp edi, 32 je SHORT G_M000_IG48 G_M000_IG47: add edi, -9 cmp edi, 4 ja SHORT G_M000_IG49 G_M000_IG48: inc ecx cmp ecx, edx jl SHORT G_M000_IG46 G_M000_IG49: cmp ecx, edx jae SHORT G_M000_IG52 G_M000_IG50: mov dword ptr [ebp-1CH], ebx G_M000_IG51: push dword ptr [ebp+10H] push bword ptr [ebp+0CH] call [System.Number:TrailingZeros(System.ReadOnlySpan`1[ushort],int):bool] test eax, eax mov ebx, dword ptr [ebp-1CH] mov edi, dword ptr [ebp-20H] jne G_M000_IG39 jmp SHORT G_M000_IG42 G_M000_IG52: mov edi, dword ptr [ebp-20H] jmp G_M000_IG39 G_M000_IG53: mov dword ptr [ebp-20H], eax jmp SHORT G_M000_IG51 G_M000_IG54: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG55: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1175 741: JIT compiled System.Number:TryParseBinaryIntegerStyle[ushort](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref) [Tier-0 switched to FullOpts, IL size=1142, code size=1175] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Level(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Level(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 742: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Level(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Task(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Task(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 743: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Task(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method (dynamicClass):InvokeStub_EventAttribute.set_Opcode(System.Object,System.Object,uint):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov ecx, edx G_M000_IG02: mov edx, dword ptr [esp+04H] mov edx, bword ptr [edx] mov edx, dword ptr [edx] cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.EventAttribute:set_Opcode(int):this] xor eax, eax G_M000_IG03: ret 4 ; Total bytes of code 23 744: JIT compiled (dynamicClass):InvokeStub_EventAttribute.set_Opcode(System.Object,System.Object,uint) [FullOpts, IL size=25, code size=23] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationStage():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 745: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationStage() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp+10H] mov dword ptr [ebp-0CH], ecx cmp dword ptr [ebp-0CH], 3 ja SHORT G_M000_IG03 mov ecx, dword ptr [ebp-0CH] lea eax, [@RWD00] mov eax, dword ptr [eax+4*ecx] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG03: jmp G_M000_IG11 G_M000_IG04: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStart(long):this] jmp G_M000_IG12 G_M000_IG05: cmp dword ptr [ebp-08H], 1 jne G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStart(long):this] jmp G_M000_IG12 G_M000_IG06: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStart(long):this] jmp G_M000_IG12 G_M000_IG07: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG08 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStart(long):this] jmp G_M000_IG12 G_M000_IG08: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStart(long):this] jmp SHORT G_M000_IG12 G_M000_IG09: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG10 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStart(long):this] jmp SHORT G_M000_IG12 G_M000_IG10: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStart(long):this] jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ebp+10H] mov dword ptr [ecx+04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 0xF932 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax push gword ptr [ebp-10H] push 0 mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_THROW G_M000_IG12: mov esp, ebp pop ebp ret 12 RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 ; Total bytes of code 326 746: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long) [Tier0, IL size=125, code size=326] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStart(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 3 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 747: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStart(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Clock():Perfolizer.Horology.IClock:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+44H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 748: JIT compiled BenchmarkDotNet.Engines.Engine:get_Clock() [Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock):Perfolizer.Horology.StartedClock ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 28 xor eax, eax mov dword ptr [ebp-14H], eax mov bword ptr [ebp-0CH], ecx mov gword ptr [ebp-10H], edx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-1CH], ecx mov dword ptr [ebp-18H], ecx mov dword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-10H] call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-24H], eax mov dword ptr [ebp-20H], edx push dword ptr [ebp-20H] push dword ptr [ebp-24H] lea ecx, [ebp-1CH] mov edx, gword ptr [ebp-10H] call [Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long):this] mov edi, bword ptr [ebp-0CH] lea esi, bword ptr [ebp-1CH] movsd movsd call CORINFO_HELP_ASSIGN_BYREF G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 83 749: JIT compiled Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock) [Tier0, IL size=13, code size=83] ; Assembly listing for method Perfolizer.Horology.WindowsClock:GetTimestamp():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp-0CH] call Perfolizer.Horology.WindowsClock:QueryPerformanceCounter(byref):bool mov eax, dword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 750: JIT compiled Perfolizer.Horology.WindowsClock:GetTimestamp() [Tier0, IL size=10, code size=35] ; Assembly listing for method Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+08H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 60 751: JIT compiled Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long) [Tier0, IL size=15, code size=60] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:OverheadActionNoUnroll(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: xor 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 752: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 13 753: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead() [Tier0, IL size=2, code size=13] ; Assembly listing for method BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[int](int) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 754: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vzeroupper xor eax, eax mov dword ptr [ebp-3CH], eax mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, bword ptr [ebp-04H] mov bword ptr [ebp-3CH], ecx mov ecx, bword ptr [ebp-3CH] mov ecx, dword ptr [ecx] mov eax, bword ptr [ebp-3CH] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-0CH], eax mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], edx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-30H], xmm0 vmovq qword ptr [ebp-20H], 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 755: JIT compiled Perfolizer.Horology.StartedClock:GetElapsed() [Tier0, IL size=34, code size=143] ; Assembly listing for method Perfolizer.Horology.ClockSpan:.ctor(long,long,Perfolizer.Horology.Frequency):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp+18H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+1CH] mov edx, bword ptr [ebp-08H] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] add eax, 8 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+14H] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax+10H], edx mov edx, dword ptr [ebp+0CH] mov dword ptr [eax+14H], edx G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 87 756: JIT compiled Perfolizer.Horology.ClockSpan:.ctor(long,long,Perfolizer.Horology.Frequency) [Tier0, IL size=22, code size=87] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp+10H] mov dword ptr [ebp-0CH], ecx cmp dword ptr [ebp-0CH], 3 ja SHORT G_M000_IG03 mov ecx, dword ptr [ebp-0CH] lea eax, [@RWD00] mov eax, dword ptr [eax+4*ecx] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG03: jmp G_M000_IG11 G_M000_IG04: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStop(long):this] jmp G_M000_IG12 G_M000_IG05: cmp dword ptr [ebp-08H], 1 jne G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStop(long):this] jmp G_M000_IG12 G_M000_IG06: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStop(long):this] jmp G_M000_IG12 G_M000_IG07: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG08 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStop(long):this] jmp G_M000_IG12 G_M000_IG08: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStop(long):this] jmp SHORT G_M000_IG12 G_M000_IG09: cmp dword ptr [ebp-08H], 0 jne SHORT G_M000_IG10 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStop(long):this] jmp SHORT G_M000_IG12 G_M000_IG10: cmp dword ptr [ebp-08H], 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineEventSource:WorkloadActualStop(long):this] jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ebp+10H] mov dword ptr [ecx+04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, 0xF932 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-18H], eax push gword ptr [ebp-10H] push 0 mov edx, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-14H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, gword ptr [ebp-14H] call CORINFO_HELP_THROW G_M000_IG12: mov esp, ebp pop ebp ret 12 RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 ; Total bytes of code 326 757: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long) [Tier0, IL size=125, code size=326] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStop(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 758: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadJittingStop(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_Index():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 759: JIT compiled BenchmarkDotNet.Engines.IterationData:get_Index() [Tier0, IL size=7, code size=17] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetNanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.ClockSpan:GetSeconds():double:this] fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] vmovsd qword ptr [ebp-0CH], xmm0 mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this] mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], edx push dword ptr [ebp-10H] push dword ptr [ebp-14H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] vmulsd xmm0, xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-1CH], xmm0 fld qword ptr [ebp-1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 90 760: JIT compiled Perfolizer.Horology.ClockSpan:GetNanoseconds() [Tier0, IL size=19, code size=90] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetSeconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 36 vzeroupper xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov bword ptr [ebp-08H], ecx G_M000_IG02: push 0 push 0 mov eax, bword ptr [ebp-08H] add eax, 8 mov bword ptr [ebp-14H], eax mov eax, bword ptr [ebp-14H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-14H] mov edx, dword ptr [edx+04H] mov ecx, bword ptr [ebp-08H] mov bword ptr [ebp-18H], ecx mov ecx, bword ptr [ebp-18H] mov ecx, dword ptr [ecx] mov esi, bword ptr [ebp-18H] mov esi, dword ptr [esi+04H] sub eax, ecx sbb edx, esi push edx push eax call [System.Math:Max(long,long):long] mov dword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], edx push dword ptr [ebp-1CH] push dword ptr [ebp-20H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-28H] vmovsd xmm0, qword ptr [ebp-28H] vmulsd xmm0, xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-10H] call [Perfolizer.Horology.Frequency:op_Implicit(double):Perfolizer.Horology.Frequency] push dword ptr [ebp-0CH] push dword ptr [ebp-10H] mov eax, bword ptr [ebp-08H] add eax, 16 push dword ptr [eax+04H] push dword ptr [eax] call [Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency):double] fstp qword ptr [ebp-28H] vmovsd xmm0, qword ptr [ebp-28H] vmovsd qword ptr [ebp-28H], xmm0 fld qword ptr [ebp-28H] G_M000_IG03: lea esp, [ebp-04H] pop esi pop ebp ret RWD00 dq 3FF0000000000000h ; 1 ; Total bytes of code 169 761: JIT compiled Perfolizer.Horology.ClockSpan:GetSeconds() [Tier0, IL size=48, code size=169] ; Assembly listing for method Perfolizer.Horology.Frequency:op_Implicit(double):Perfolizer.Horology.Frequency ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-0CH], ecx mov dword ptr [ebp-08H], ecx vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-0CH] call [Perfolizer.Horology.Frequency:.ctor(double):this] mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-0CH] mov dword ptr [eax], edx mov edx, dword ptr [ebp-08H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 62 762: JIT compiled Perfolizer.Horology.Frequency:op_Implicit(double) [Tier0, IL size=7, code size=62] ; Assembly listing for method Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper G_M000_IG02: lea ecx, [ebp+10H] call [Perfolizer.Horology.Frequency:get_Hertz():double:this] fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmulsd xmm0, xmm0, qword ptr [@RWD00] vmovsd qword ptr [ebp-08H], xmm0 lea ecx, [ebp+08H] call [Perfolizer.Horology.Frequency:get_Hertz():double:this] fstp qword ptr [ebp-10H] vmovsd xmm1, qword ptr [ebp-08H] vmovsd xmm0, qword ptr [ebp-10H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 16 RWD00 dq 3FF0000000000000h ; 1 ; Total bytes of code 79 763: JIT compiled Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency) [Tier0, IL size=26, code size=79] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:.ctor(int,int,int,int,long,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+14H] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax+18H], xmm0 mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+08H], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+20H] mov dword ptr [eax], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+1CH] mov dword ptr [eax+04H], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+18H] mov dword ptr [eax+0CH], edx G_M000_IG03: mov esp, ebp pop ebp ret 28 ; Total bytes of code 100 764: JIT compiled BenchmarkDotNet.Reports.Measurement:.ctor(int,int,int,int,long,double) [Tier0, IL size=46, code size=100] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 120 vzeroupper vxorps xmm4, xmm4 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 765: JIT compiled BenchmarkDotNet.Reports.Measurement:ToString() [Tier0, IL size=304, code size=730] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationMode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 766: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationMode() [Tier0, IL size=7, code size=16] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationStage():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 767: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationStage() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4 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 768: JIT compiled BenchmarkDotNet.Reports.Measurement:.cctor() [Tier0, IL size=89, code size=227] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 769: JIT compiled BenchmarkDotNet.Reports.Measurement+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 770: JIT compiled BenchmarkDotNet.Reports.Measurement+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Max[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov gword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+0CH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-10H], ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov dword ptr [ebp-10H], eax G_M000_IG05: push dword ptr [ebp-10H] mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Linq.Enumerable:MaxInteger[System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]):int] G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 81 771: JIT compiled System.Linq.Enumerable:Max[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]) [Tier0, IL size=8, code size=81] ; Assembly listing for method System.Linq.Enumerable:MaxInteger[System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 24 xor eax, eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: test edi, edi je G_M000_IG19 test esi, esi je G_M000_IG20 mov ecx, dword ptr [ebx+0CH] mov eax, dword ptr [ecx+0CH] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD G_M000_IG05: mov ecx, edi nop call [eax] mov gword ptr [ebp-24H], eax G_M000_IG06: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG12 mov ecx, dword ptr [ebx+0CH] mov edi, dword ptr [ecx+10H] test edi, edi je SHORT G_M000_IG13 G_M000_IG07: mov eax, edi mov ecx, gword ptr [ebp-24H] nop call [eax] mov edx, eax mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[System.__Canon,int]:Invoke(System.__Canon):int:this mov ebx, eax mov ecx, gword ptr [ebp-24H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG14 G_M000_IG08: mov eax, edi mov ecx, gword ptr [ebp-24H] nop call [eax] mov edx, eax mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[System.__Canon,int]:Invoke(System.__Canon):int:this cmp eax, ebx jle SHORT G_M000_IG10 G_M000_IG09: mov ebx, eax G_M000_IG10: mov ecx, gword ptr [ebp-24H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG08 G_M000_IG11: jmp SHORT G_M000_IG14 G_M000_IG12: call [System.Linq.ThrowHelper:ThrowNoElementsException()] int3 G_M000_IG13: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edi, eax jmp SHORT G_M000_IG07 G_M000_IG14: mov ecx, gword ptr [ebp-24H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG17 G_M000_IG15: cmp gword ptr [ebp-24H], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-24H] call [System.IDisposable:Dispose():this] G_M000_IG16: pop eax jmp eax G_M000_IG17: mov eax, ebx G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG19: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG20: mov ecx, 15 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 259 772: JIT compiled System.Linq.Enumerable:MaxInteger[System.__Canon,int](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,int]) [Tier-0 switched to FullOpts, IL size=107, code size=259] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement+<>c:<.cctor>b__31_0(System.String):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 773: JIT compiled BenchmarkDotNet.Reports.Measurement+<>c:<.cctor>b__31_0(System.String) [Tier0, IL size=7, code size=22] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement+<>c:<.cctor>b__31_1(System.String):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 22 774: JIT compiled BenchmarkDotNet.Reports.Measurement+<>c:<.cctor>b__31_1(System.String) [Tier0, IL size=7, code size=22] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationIndex():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 775: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationIndex() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.SpanHelpers:Fill[ushort](byref,uint,ushort) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 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 vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp edx, 16 jb SHORT G_M000_IG08 G_M000_IG03: movzx eax, ax vmovd xmm0, eax vpbroadcastw ymm0, ymm0 lea eax, [edx+edx] mov esi, eax and esi, -64 xor edi, edi cmp edx, 32 jb SHORT G_M000_IG05 align [0 bytes for IG04] G_M000_IG04: vmovups ymmword ptr [ecx+edi], ymm0 vmovups ymmword ptr [ecx+edi+20H], ymm0 add edi, 64 cmp edi, esi jb SHORT G_M000_IG04 G_M000_IG05: test al, 32 je SHORT G_M000_IG06 vmovups ymmword ptr [ecx+edi], ymm0 G_M000_IG06: vmovups ymmword ptr [ecx+eax-20H], ymm0 G_M000_IG07: vzeroupper pop esi pop edi pop ebp ret 4 G_M000_IG08: xor esi, esi cmp edx, 8 jb SHORT G_M000_IG10 mov edi, edx and edi, -8 align [0 bytes for IG09] G_M000_IG09: mov word ptr [ecx+2*esi], ax mov word ptr [ecx+2*esi+02H], ax mov word ptr [ecx+2*esi+04H], ax mov word ptr [ecx+2*esi+06H], ax mov word ptr [ecx+2*esi+08H], ax mov word ptr [ecx+2*esi+0AH], ax mov word ptr [ecx+2*esi+0CH], ax mov word ptr [ecx+2*esi+0EH], ax add esi, 8 cmp esi, edi jb SHORT G_M000_IG09 G_M000_IG10: test dl, 4 je SHORT G_M000_IG11 mov word ptr [ecx+2*esi], ax mov word ptr [ecx+2*esi+02H], ax mov word ptr [ecx+2*esi+04H], ax mov word ptr [ecx+2*esi+06H], ax add esi, 4 G_M000_IG11: test dl, 2 je SHORT G_M000_IG12 mov word ptr [ecx+2*esi], ax mov word ptr [ecx+2*esi+02H], ax add esi, 2 G_M000_IG12: test dl, 1 je SHORT G_M000_IG13 mov word ptr [ecx+2*esi], ax G_M000_IG13: vzeroupper pop esi pop edi pop ebp ret 4 ; Total bytes of code 205 776: JIT compiled System.SpanHelpers:Fill[ushort](byref,uint,ushort) [Tier-0 switched to FullOpts, IL size=865, code size=205] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Operations():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 777: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Operations() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+18H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 778: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Nanoseconds() [Tier0, IL size=7, code size=32] ; Assembly listing for method System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 12 inlinees with PGO data; 61 single block inlinees; 35 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 760 xor eax, eax mov dword ptr [ebp-6CH], eax mov dword ptr [ebp-8CH], eax mov dword ptr [ebp-1CCH], eax mov dword ptr [ebp-10H], 0xD1FFAB1E mov bword ptr [ebp-1E8H], edx mov ebx, ecx G_M000_IG02: mov eax, gword ptr [ebp+08H] mov gword ptr [ebp-300H], eax lea edi, bword ptr [ebp-1CCH] lea esi, bword ptr [ebp+0CH] movsd movsd xor esi, esi mov dword ptr [ebp-40H], esi mov edi, bword ptr [ebp-1E8H] mov eax, bword ptr [edi+0CH] mov dword ptr [ebp-58H], eax mov ecx, bword ptr [ebp-1CCH] mov bword ptr [ebp-228H], ecx mov edx, dword ptr [ebp-1C8H] mov dword ptr [ebp-1DCH], edx mov dword ptr [ebp-144H], edx cmp byte ptr [eax], 0 je SHORT G_M000_IG05 G_M000_IG03: mov ecx, bword ptr [ebp-228H] mov bword ptr [ebp-230H], ecx mov ecx, dword ptr [ebp-144H] mov dword ptr [ebp-14CH], ecx mov bword ptr [ebp-1E8H], edi cmp byte ptr [edi+08H], 0 jne SHORT G_M000_IG04 mov ecx, bword ptr [ebp-230H] mov bword ptr [ebp-22CH], ecx mov ecx, dword ptr [ebp-14CH] mov dword ptr [ebp-148H], ecx xor ecx, ecx jmp SHORT G_M000_IG06 align [0 bytes for IG09] G_M000_IG04: mov ecx, bword ptr [ebp-230H] mov bword ptr [ebp-22CH], ecx mov ecx, dword ptr [ebp-14CH] mov dword ptr [ebp-148H], ecx mov ecx, 1 jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, bword ptr [ebp-228H] mov bword ptr [ebp-22CH], ecx mov ecx, dword ptr [ebp-144H] mov dword ptr [ebp-148H], ecx mov ecx, 2 mov bword ptr [ebp-1E8H], edi G_M000_IG06: push dword ptr [ebp-148H] push bword ptr [ebp-22CH] call [System.Number:FindSection(System.ReadOnlySpan`1[ushort],int):int] mov dword ptr [ebp-50H], eax G_M000_IG07: xor edx, edx mov dword ptr [ebp-24H], edx mov dword ptr [ebp-28H], -1 mov dword ptr [ebp-2CH], 0xD1FFAB1E xor eax, eax mov dword ptr [ebp-30H], eax xor eax, eax mov dword ptr [ebp-38H], eax mov dword ptr [ebp-3CH], -1 xor esi, esi mov dword ptr [ebp-44H], esi G_M000_IG08: mov dword ptr [ebp-48H], esi mov eax, dword ptr [ebp-50H] mov edi, bword ptr [ebp-1CCH] mov bword ptr [ebp-6CH], edi mov dword ptr [ebp-68H], edi jmp G_M000_IG32 G_M000_IG09: cmp eax, 69 ja SHORT G_M000_IG14 lea edx, [eax-22H] mov dword ptr [ebp-1E0H], edx cmp edx, 5 ja SHORT G_M000_IG11 lea edx, [@RWD00] mov edi, dword ptr [ebp-1E0H] mov edx, dword ptr [edx+4*edi] lea esi, G_M000_IG02 add edx, esi jmp edx G_M000_IG10: mov eax, ecx mov edi, dword ptr [ebp-68H] jmp G_M000_IG32 G_M000_IG11: lea edx, [eax-2CH] cmp edx, 4 ja SHORT G_M000_IG13 lea eax, [@RWD24] mov eax, dword ptr [eax+4*edx] lea edi, G_M000_IG02 add eax, edi jmp eax G_M000_IG12: mov eax, ecx mov edi, dword ptr [ebp-68H] jmp G_M000_IG32 G_M000_IG13: cmp eax, 69 je G_M000_IG26 mov eax, ecx jmp G_M000_IG32 G_M000_IG14: cmp eax, 92 je G_M000_IG25 cmp eax, 101 je G_M000_IG26 cmp eax, 0x2030 mov eax, ecx jne G_M000_IG32 mov esi, dword ptr [ebp-48H] add esi, 3 mov dword ptr [ebp-48H], esi jmp G_M000_IG32 G_M000_IG15: mov esi, dword ptr [ebp-24H] inc esi mov dword ptr [ebp-24H], esi mov eax, ecx mov edi, dword ptr [ebp-68H] jmp G_M000_IG32 G_M000_IG16: mov edi, dword ptr [ebp-2CH] cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG17 mov edi, dword ptr [ebp-24H] mov eax, edi mov dword ptr [ebp-24H], edi mov edi, eax G_M000_IG17: mov eax, dword ptr [ebp-24H] inc eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-2CH], edi mov eax, ecx mov edi, dword ptr [ebp-68H] jmp G_M000_IG32 G_M000_IG18: mov edx, dword ptr [ebp-28H] test edx, edx mov dword ptr [ebp-28H], edx mov eax, ecx mov edi, dword ptr [ebp-68H] jge G_M000_IG32 mov edx, dword ptr [ebp-24H] mov ecx, edx mov dword ptr [ebp-24H], edx mov dword ptr [ebp-28H], ecx jmp G_M000_IG32 G_M000_IG19: mov edx, dword ptr [ebp-24H] test edx, edx mov dword ptr [ebp-24H], edx mov eax, ecx mov edi, dword ptr [ebp-68H] jle G_M000_IG32 cmp dword ptr [ebp-28H], 0 jge G_M000_IG32 cmp dword ptr [ebp-3CH], 0 jl SHORT G_M000_IG21 mov edx, dword ptr [ebp-24H] cmp dword ptr [ebp-3CH], edx jne SHORT G_M000_IG20 mov esi, dword ptr [ebp-40H] inc esi mov dword ptr [ebp-24H], edx mov dword ptr [ebp-40H], esi jmp G_M000_IG32 G_M000_IG20: mov ecx, 1 mov dword ptr [ebp-24H], edx mov dword ptr [ebp-44H], ecx G_M000_IG21: mov edx, dword ptr [ebp-24H] mov dword ptr [ebp-3CH], edx mov esi, 1 mov dword ptr [ebp-40H], esi jmp G_M000_IG32 G_M000_IG22: mov eax, dword ptr [ebp-48H] add eax, 2 mov dword ptr [ebp-48H], eax mov eax, ecx mov edi, dword ptr [ebp-68H] jmp G_M000_IG32 G_M000_IG23: mov edi, dword ptr [ebp-1DCH] cmp ecx, edi mov dword ptr [ebp-5CH], eax mov eax, ecx mov edi, dword ptr [ebp-68H] jge G_M000_IG32 movzx esi, word ptr [edi+2*eax] test esi, esi mov dword ptr [ebp-1D0H], esi mov edi, dword ptr [ebp-68H] je SHORT G_M000_IG32 inc eax mov dword ptr [ebp-54H], eax mov esi, dword ptr [ebp-5CH] cmp dword ptr [ebp-1D0H], esi mov eax, esi mov ecx, dword ptr [ebp-54H] jne SHORT G_M000_IG23 G_M000_IG24: mov eax, ecx mov edi, dword ptr [ebp-68H] jmp SHORT G_M000_IG32 G_M000_IG25: cmp ecx, esi mov eax, ecx jge SHORT G_M000_IG32 cmp word ptr [edi+2*eax], 0 je SHORT G_M000_IG32 inc eax jmp SHORT G_M000_IG32 G_M000_IG26: cmp ecx, esi jge SHORT G_M000_IG27 cmp word ptr [edi+2*ecx], 48 je SHORT G_M000_IG30 G_M000_IG27: lea eax, [ecx+01H] cmp eax, esi mov eax, ecx jge SHORT G_M000_IG32 cmp word ptr [edi+2*eax], 43 je SHORT G_M000_IG28 cmp word ptr [edi+2*eax], 45 jne SHORT G_M000_IG32 G_M000_IG28: cmp word ptr [edi+2*eax+02H], 48 jne SHORT G_M000_IG32 G_M000_IG29: mov ecx, eax mov esi, dword ptr [ebp-1DCH] G_M000_IG30: inc ecx mov eax, ecx cmp eax, esi jge SHORT G_M000_IG31 cmp word ptr [edi+2*eax], 48 je SHORT G_M000_IG38 G_M000_IG31: mov ecx, 1 mov dword ptr [ebp-38H], ecx G_M000_IG32: mov esi, dword ptr [ebp-1DCH] cmp eax, esi jge SHORT G_M000_IG34 G_M000_IG33: lea ecx, [eax+01H] movzx eax, word ptr [edi+2*eax] test eax, eax je SHORT G_M000_IG34 cmp eax, 59 jne G_M000_IG09 G_M000_IG34: xor eax, eax mov bword ptr [ebp-6CH], eax mov ecx, dword ptr [ebp-28H] test ecx, ecx jge SHORT G_M000_IG36 G_M000_IG35: mov edx, dword ptr [ebp-24H] mov ecx, edx mov dword ptr [ebp-24H], edx G_M000_IG36: mov eax, dword ptr [ebp-3CH] test eax, eax jl SHORT G_M000_IG40 G_M000_IG37: cmp eax, ecx jne SHORT G_M000_IG39 mov edi, dword ptr [ebp-40H] lea eax, [edi+2*edi] mov dword ptr [ebp-304H], eax mov eax, dword ptr [ebp-48H] sub eax, dword ptr [ebp-304H] mov dword ptr [ebp-48H], eax jmp SHORT G_M000_IG40 G_M000_IG38: mov ecx, eax jmp SHORT G_M000_IG30 G_M000_IG39: mov dword ptr [ebp-44H], 1 G_M000_IG40: mov edi, dword ptr [ebp-58H] cmp byte ptr [edi], 0 je G_M000_IG45 G_M000_IG41: mov edi, bword ptr [ebp-1E8H] add edi, 4 mov eax, dword ptr [ebp-48H] add dword ptr [edi], eax cmp dword ptr [ebp-38H], 0 jne SHORT G_M000_IG43 G_M000_IG42: mov eax, bword ptr [ebp-1E8H] mov edx, dword ptr [ebp-24H] mov edi, edx add edi, dword ptr [eax+04H] mov dword ptr [ebp-28H], ecx sub edi, ecx mov dword ptr [ebp-24H], edx mov eax, bword ptr [ebp-1E8H] jmp SHORT G_M000_IG44 G_M000_IG43: mov edx, dword ptr [ebp-24H] mov eax, edx mov dword ptr [ebp-28H], ecx mov edi, eax mov eax, bword ptr [ebp-1E8H] G_M000_IG44: push 0 mov bword ptr [ebp-1E8H], eax mov ecx, eax mov edx, edi call [System.Number:RoundNumber(byref,int,bool)] mov edi, dword ptr [ebp-58H] cmp byte ptr [edi], 0 jne SHORT G_M000_IG47 push dword ptr [ebp-1C8H] push bword ptr [ebp-1CCH] mov ecx, 2 call [System.Number:FindSection(System.ReadOnlySpan`1[ushort],int):int] mov ecx, dword ptr [ebp-50H] cmp eax, ecx mov dword ptr [ebp-50H], ecx je SHORT G_M000_IG47 mov ecx, eax mov dword ptr [ebp-50H], ecx jmp G_M000_IG07 G_M000_IG45: mov edi, bword ptr [ebp-1E8H] cmp byte ptr [edi+0AH], 3 je SHORT G_M000_IG49 mov bword ptr [ebp-1E8H], edi mov byte ptr [edi+08H], 0 G_M000_IG46: xor edi, edi mov eax, bword ptr [ebp-1E8H] mov dword ptr [eax+04H], edi mov dword ptr [ebp-28H], ecx G_M000_IG47: mov ecx, dword ptr [ebp-28H] mov edi, dword ptr [ebp-2CH] mov eax, ecx sub eax, edi mov dword ptr [ebp-304H], eax xor eax, eax cmp edi, ecx mov edi, eax cmovl edi, dword ptr [ebp-304H] mov dword ptr [ebp-2CH], edi mov eax, dword ptr [ebp-30H] mov edi, ecx sub edi, eax mov dword ptr [ebp-304H], edi xor edi, edi cmp eax, ecx mov eax, edi cmovg eax, dword ptr [ebp-304H] mov dword ptr [ebp-30H], eax cmp dword ptr [ebp-38H], 0 je SHORT G_M000_IG50 G_M000_IG48: mov edi, ecx xor eax, eax mov dword ptr [ebp-34H], edi mov dword ptr [ebp-4CH], eax jmp SHORT G_M000_IG51 G_M000_IG49: mov bword ptr [ebp-1E8H], edi jmp SHORT G_M000_IG46 G_M000_IG50: mov edi, bword ptr [ebp-1E8H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-1D8H], edi cmp edi, ecx cmovle edi, ecx mov dword ptr [ebp-34H], edi mov eax, dword ptr [ebp-1D8H] mov dword ptr [ebp-28H], ecx sub eax, ecx mov dword ptr [ebp-4CH], eax mov ecx, dword ptr [ebp-28H] G_M000_IG51: mov eax, dword ptr [ebp-50H] mov dword ptr [ebp-54H], eax lea edi, [ebp-20H] mov bword ptr [ebp-224H], edi mov dword ptr [ebp-140H], 4 mov dword ptr [ebp-60H], -1 cmp dword ptr [ebp-44H], 0 mov dword ptr [ebp-28H], ecx je G_M000_IG61 G_M000_IG52: mov ecx, gword ptr [ebp-300H] mov ecx, gword ptr [ecx+1CH] cmp dword ptr [ecx+04H], 0 jle G_M000_IG61 mov ecx, gword ptr [ebp-300H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-1ECH], ecx xor ecx, ecx mov dword ptr [ebp-70H], ecx xor ecx, ecx mov dword ptr [ebp-74H], ecx mov ecx, gword ptr [ebp-1ECH] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-78H], ecx test ecx, ecx je SHORT G_M000_IG53 mov ecx, gword ptr [ebp-1ECH] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-74H], ecx G_M000_IG53: mov ecx, dword ptr [ebp-74H] mov dword ptr [ebp-7CH], ecx mov ecx, dword ptr [ebp-34H] mov dword ptr [ebp-A4H], ecx cmp dword ptr [ebp-4CH], 0 jl SHORT G_M000_IG54 mov ecx, dword ptr [ebp-A4H] mov dword ptr [ebp-A8H], ecx xor ecx, ecx mov dword ptr [ebp-ACH], ecx jmp SHORT G_M000_IG55 G_M000_IG54: mov ecx, dword ptr [ebp-A4H] mov dword ptr [ebp-A8H], ecx mov ecx, dword ptr [ebp-4CH] mov dword ptr [ebp-ACH], ecx G_M000_IG55: mov ecx, dword ptr [ebp-A8H] add ecx, dword ptr [ebp-ACH] mov dword ptr [ebp-80H], ecx mov ecx, dword ptr [ebp-2CH] cmp ecx, dword ptr [ebp-80H] mov dword ptr [ebp-2CH], ecx cmovle ecx, dword ptr [ebp-80H] mov dword ptr [ebp-84H], ecx mov edi, dword ptr [ebp-7CH] cmp ecx, edi jle G_M000_IG61 G_M000_IG56: mov dword ptr [ebp-7CH], edi test edi, edi je G_M000_IG61 mov ecx, dword ptr [ebp-60H] inc ecx mov dword ptr [ebp-60H], ecx mov edi, dword ptr [ebp-140H] cmp ecx, edi jl SHORT G_M000_IG58 G_M000_IG57: lea edx, [edi+edi] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-1F0H], eax lea ecx, bword ptr [eax+08H] mov edx, dword ptr [eax+04H] cmp edi, edx ja G_M000_IG172 shl edi, 2 push edi mov edx, bword ptr [ebp-224H] call [System.Buffer:Memmove(byref,byref,uint)] mov edi, gword ptr [ebp-1F0H] lea edx, bword ptr [edi+08H] mov edi, dword ptr [edi+04H] mov eax, edx mov bword ptr [ebp-224H], eax G_M000_IG58: mov ecx, dword ptr [ebp-60H] mov dword ptr [ebp-140H], edi cmp ecx, edi jae G_M000_IG173 mov edi, bword ptr [ebp-224H] mov dword ptr [ebp-60H], ecx mov edx, dword ptr [ebp-74H] mov dword ptr [edi+4*ecx], edx mov edx, dword ptr [ebp-78H] dec edx cmp dword ptr [ebp-70H], edx jge SHORT G_M000_IG60 G_M000_IG59: mov edx, dword ptr [ebp-70H] inc edx mov edi, gword ptr [ebp-1ECH] cmp edx, dword ptr [edi+04H] jae G_M000_IG173 mov gword ptr [ebp-1ECH], edi mov dword ptr [ebp-70H], edx mov edi, dword ptr [edi+4*edx+08H] mov dword ptr [ebp-7CH], edi G_M000_IG60: mov edx, dword ptr [ebp-74H] add edx, dword ptr [ebp-7CH] cmp dword ptr [ebp-84H], edx mov dword ptr [ebp-74H], edx mov edi, dword ptr [ebp-7CH] jg G_M000_IG56 G_M000_IG61: mov edi, bword ptr [ebp-1E8H] cmp byte ptr [edi+08H], 0 je G_M000_IG66 G_M000_IG62: cmp dword ptr [ebp-54H], 0 jne G_M000_IG65 mov bword ptr [ebp-1E8H], edi cmp dword ptr [edi+04H], 0 je G_M000_IG69 mov edi, gword ptr [ebp-300H] mov edi, gword ptr [edi+14H] mov gword ptr [ebp-1F4H], edi test edi, edi je G_M000_IG67 G_M000_IG63: add edi, 8 mov bword ptr [ebp-1F8H], edi mov edi, gword ptr [ebp-1F4H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-B0H], edi mov edi, bword ptr [ebp-1F8H] mov bword ptr [ebp-238H], edi mov edi, dword ptr [ebp-B0H] mov dword ptr [ebp-154H], edi mov edi, bword ptr [ebp-238H] mov bword ptr [ebp-234H], edi mov edi, dword ptr [ebp-154H] mov dword ptr [ebp-150H], edi G_M000_IG64: mov edi, bword ptr [ebp-234H] mov bword ptr [ebp-23CH], edi mov edi, dword ptr [ebp-150H] mov dword ptr [ebp-B4H], edi mov edi, bword ptr [ebp-23CH] mov bword ptr [ebp-244H], edi mov edi, dword ptr [ebp-B4H] mov dword ptr [ebp-15CH], edi mov edi, dword ptr [ebx+04H] mov dword ptr [ebp-B8H], edi lea edi, bword ptr [ebx+08H] mov bword ptr [ebp-2D0H], edi mov edi, bword ptr [edi] mov bword ptr [ebp-240H], edi mov edi, bword ptr [ebp-2D0H] mov edi, dword ptr [edi+04H] mov dword ptr [ebp-158H], edi cmp dword ptr [ebp-15CH], 1 jne SHORT G_M000_IG68 mov edi, dword ptr [ebp-B8H] cmp edi, dword ptr [ebp-158H] jae SHORT G_M000_IG68 mov edi, bword ptr [ebp-244H] movzx edi, word ptr [edi] mov ecx, bword ptr [ebp-240H] mov edx, dword ptr [ebp-B8H] mov word ptr [ecx+2*edx], di inc edx mov dword ptr [ebx+04H], edx jmp SHORT G_M000_IG69 G_M000_IG65: mov bword ptr [ebp-1E8H], edi jmp SHORT G_M000_IG69 G_M000_IG66: mov bword ptr [ebp-1E8H], edi jmp SHORT G_M000_IG69 G_M000_IG67: xor edi, edi mov bword ptr [ebp-234H], edi xor edi, edi mov dword ptr [ebp-150H], edi jmp G_M000_IG64 G_M000_IG68: push dword ptr [ebp-15CH] push bword ptr [ebp-244H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG69: xor edi, edi mov dword ptr [ebp-64H], edi mov edi, bword ptr [ebp-1CCH] mov bword ptr [ebp-8CH], edi mov dword ptr [ebp-88H], edi mov ecx, dword ptr [ebp-58H] mov dword ptr [ebp-90H], ecx jmp G_M000_IG162 G_M000_IG70: cmp dword ptr [ebp-4CH], 0 jle G_M000_IG87 cmp ecx, 35 je G_M000_IG86 cmp ecx, 46 je G_M000_IG86 mov dword ptr [ebp-5CH], ecx cmp ecx, 48 je SHORT G_M000_IG71 mov ecx, dword ptr [ebp-5CH] jmp G_M000_IG87 G_M000_IG71: mov ecx, dword ptr [ebp-5CH] jmp G_M000_IG86 G_M000_IG72: mov edi, dword ptr [ebp-90H] movzx edx, byte ptr [edi] test edx, edx jne SHORT G_M000_IG73 mov edx, 48 mov dword ptr [ebp-90H], edi jmp SHORT G_M000_IG74 G_M000_IG73: inc edi mov dword ptr [ebp-90H], edi G_M000_IG74: movzx edx, dx mov dword ptr [ebp-C0H], edx mov edi, dword ptr [ebx+04H] mov dword ptr [ebp-BCH], edi lea edi, bword ptr [ebx+08H] mov edx, bword ptr [edi] mov bword ptr [ebp-248H], edx mov edi, dword ptr [edi+04H] mov edx, dword ptr [ebp-BCH] cmp edx, edi jae SHORT G_M000_IG75 cmp edx, edi jae G_M000_IG173 mov edi, bword ptr [ebp-248H] mov esi, dword ptr [ebp-C0H] mov word ptr [edi+2*edx], si inc edx mov dword ptr [ebx+04H], edx jmp SHORT G_M000_IG76 G_M000_IG75: mov dword ptr [ebp-5CH], ecx mov ecx, ebx mov edx, dword ptr [ebp-C0H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov ecx, dword ptr [ebp-5CH] G_M000_IG76: cmp dword ptr [ebp-44H], 0 je G_M000_IG85 cmp dword ptr [ebp-34H], 1 jle G_M000_IG85 mov edi, dword ptr [ebp-60H] test edi, edi jl G_M000_IG81 cmp edi, dword ptr [ebp-140H] jae G_M000_IG173 mov edx, bword ptr [ebp-224H] mov dword ptr [ebp-60H], edi mov edx, dword ptr [edx+4*edi] inc edx cmp edx, dword ptr [ebp-34H] jne G_M000_IG85 mov edx, gword ptr [ebp-300H] mov edx, gword ptr [edx+1CH] mov gword ptr [ebp-1FCH], edx test edx, edx je G_M000_IG82 G_M000_IG77: add edx, 8 mov bword ptr [ebp-200H], edx mov edx, gword ptr [ebp-1FCH] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-C4H], edx mov edx, bword ptr [ebp-200H] mov bword ptr [ebp-250H], edx mov edx, dword ptr [ebp-C4H] mov dword ptr [ebp-164H], edx mov edx, bword ptr [ebp-250H] mov bword ptr [ebp-24CH], edx mov edx, dword ptr [ebp-164H] mov dword ptr [ebp-160H], edx G_M000_IG78: mov edx, bword ptr [ebp-24CH] mov bword ptr [ebp-254H], edx mov edx, dword ptr [ebp-160H] mov dword ptr [ebp-C8H], edx mov edx, bword ptr [ebp-254H] mov bword ptr [ebp-25CH], edx mov edx, dword ptr [ebp-C8H] mov dword ptr [ebp-16CH], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-CCH], edx lea edx, bword ptr [ebx+08H] mov bword ptr [ebp-2D4H], edx mov edx, bword ptr [edx] mov bword ptr [ebp-258H], edx mov edx, bword ptr [ebp-2D4H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-168H], edx cmp dword ptr [ebp-16CH], 1 jne SHORT G_M000_IG80 mov edx, dword ptr [ebp-CCH] cmp edx, dword ptr [ebp-168H] jae SHORT G_M000_IG79 mov dword ptr [ebp-CCH], edx cmp edx, dword ptr [ebp-168H] jae G_M000_IG173 cmp dword ptr [ebp-16CH], 0 jbe G_M000_IG173 mov edx, bword ptr [ebp-25CH] movzx edx, word ptr [edx] mov edi, bword ptr [ebp-258H] mov esi, dword ptr [ebp-CCH] mov word ptr [edi+2*esi], dx inc esi mov dword ptr [ebx+04H], esi jmp SHORT G_M000_IG84 G_M000_IG79: mov dword ptr [ebp-5CH], ecx jmp SHORT G_M000_IG83 G_M000_IG80: mov dword ptr [ebp-5CH], ecx jmp SHORT G_M000_IG83 G_M000_IG81: mov dword ptr [ebp-60H], edi jmp SHORT G_M000_IG85 G_M000_IG82: xor edx, edx mov bword ptr [ebp-24CH], edx xor edx, edx mov dword ptr [ebp-160H], edx jmp G_M000_IG78 G_M000_IG83: push dword ptr [ebp-16CH] push bword ptr [ebp-25CH] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov ecx, dword ptr [ebp-5CH] G_M000_IG84: mov edi, dword ptr [ebp-60H] dec edi mov dword ptr [ebp-60H], edi G_M000_IG85: mov edx, dword ptr [ebp-34H] dec edx mov edi, dword ptr [ebp-4CH] dec edi mov dword ptr [ebp-34H], edx mov dword ptr [ebp-4CH], edi G_M000_IG86: cmp dword ptr [ebp-4CH], 0 jg G_M000_IG72 G_M000_IG87: cmp ecx, 69 ja SHORT G_M000_IG92 lea edi, [ecx-22H] mov dword ptr [ebp-1E4H], edi cmp edi, 5 ja SHORT G_M000_IG88 lea edi, [@RWD44] mov esi, dword ptr [ebp-1E4H] mov edi, dword ptr [edi+4*esi] lea edx, G_M000_IG02 add edi, edx jmp edi G_M000_IG88: lea edi, [ecx-2CH] cmp edi, 4 ja SHORT G_M000_IG91 mov dword ptr [ebp-5CH], ecx lea ecx, [@RWD68] mov ecx, dword ptr [ecx+4*edi] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG89: mov ecx, dword ptr [ebp-5CH] jmp G_M000_IG160 G_M000_IG90: mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG91: cmp ecx, 69 je G_M000_IG136 jmp G_M000_IG160 G_M000_IG92: cmp ecx, 92 je G_M000_IG134 cmp ecx, 101 je G_M000_IG136 cmp ecx, 0x2030 jne G_M000_IG160 mov ecx, gword ptr [ebp-300H] cmp byte ptr [ecx], cl jmp G_M000_IG118 G_M000_IG93: mov edi, dword ptr [ebp-4CH] test edi, edi jge SHORT G_M000_IG96 inc edi mov dword ptr [ebp-4CH], edi mov esi, dword ptr [ebp-34H] cmp esi, dword ptr [ebp-2CH] jle SHORT G_M000_IG94 xor ecx, ecx jmp SHORT G_M000_IG95 G_M000_IG94: mov ecx, 48 G_M000_IG95: movzx ecx, cx jmp SHORT G_M000_IG100 G_M000_IG96: mov ecx, dword ptr [ebp-90H] cmp byte ptr [ecx], 0 jne SHORT G_M000_IG98 mov esi, dword ptr [ebp-34H] cmp esi, dword ptr [ebp-30H] jg SHORT G_M000_IG97 xor edx, edx jmp SHORT G_M000_IG99 G_M000_IG97: mov edx, 48 jmp SHORT G_M000_IG99 G_M000_IG98: mov dword ptr [ebp-A0H], ecx inc ecx mov dword ptr [ebp-90H], ecx mov edx, dword ptr [ebp-A0H] movzx edx, byte ptr [edx] mov ecx, dword ptr [ebp-90H] mov esi, dword ptr [ebp-34H] G_M000_IG99: movzx edx, dx mov dword ptr [ebp-4CH], edi mov dword ptr [ebp-90H], ecx mov ecx, edx G_M000_IG100: test ecx, ecx je G_M000_IG110 mov dword ptr [ebp-D4H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-D0H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2D8H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-260H], ecx mov ecx, bword ptr [ebp-2D8H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-170H], ecx mov ecx, dword ptr [ebp-D0H] cmp ecx, dword ptr [ebp-170H] jae SHORT G_M000_IG101 cmp ecx, dword ptr [ebp-170H] jae G_M000_IG173 mov edx, bword ptr [ebp-260H] mov edi, dword ptr [ebp-D4H] mov word ptr [edx+2*ecx], di inc ecx mov dword ptr [ebx+04H], ecx jmp SHORT G_M000_IG102 G_M000_IG101: mov ecx, ebx mov edx, dword ptr [ebp-D4H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG102: cmp dword ptr [ebp-44H], 0 je G_M000_IG110 cmp esi, 1 jle G_M000_IG110 mov ecx, dword ptr [ebp-60H] test ecx, ecx jl G_M000_IG106 cmp ecx, dword ptr [ebp-140H] jae G_M000_IG173 mov edx, bword ptr [ebp-224H] mov dword ptr [ebp-60H], ecx mov edx, dword ptr [edx+4*ecx] inc edx mov dword ptr [ebp-34H], esi cmp edx, esi jne G_M000_IG105 mov edx, gword ptr [ebp-300H] mov edx, gword ptr [edx+1CH] mov gword ptr [ebp-204H], edx test edx, edx je G_M000_IG107 G_M000_IG103: add edx, 8 mov bword ptr [ebp-208H], edx mov edx, gword ptr [ebp-204H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-D8H], edx mov edx, bword ptr [ebp-208H] mov bword ptr [ebp-268H], edx mov edx, dword ptr [ebp-D8H] mov dword ptr [ebp-178H], edx mov edx, bword ptr [ebp-268H] mov bword ptr [ebp-264H], edx mov edx, dword ptr [ebp-178H] mov dword ptr [ebp-174H], edx G_M000_IG104: mov edx, bword ptr [ebp-264H] mov bword ptr [ebp-26CH], edx mov edx, dword ptr [ebp-174H] mov dword ptr [ebp-DCH], edx mov edx, bword ptr [ebp-26CH] mov bword ptr [ebp-274H], edx mov edx, dword ptr [ebp-DCH] mov dword ptr [ebp-180H], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-E0H], edx lea edx, bword ptr [ebx+08H] mov bword ptr [ebp-2DCH], edx mov edx, bword ptr [edx] mov bword ptr [ebp-270H], edx mov edx, bword ptr [ebp-2DCH] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-17CH], edx cmp dword ptr [ebp-180H], 1 jne SHORT G_M000_IG108 mov edx, dword ptr [ebp-E0H] cmp edx, dword ptr [ebp-17CH] jae SHORT G_M000_IG108 mov dword ptr [ebp-E0H], edx cmp edx, dword ptr [ebp-17CH] jae G_M000_IG173 cmp dword ptr [ebp-180H], 0 jbe G_M000_IG173 mov edx, bword ptr [ebp-274H] movzx edx, word ptr [edx] mov edi, bword ptr [ebp-270H] mov esi, dword ptr [ebp-E0H] mov word ptr [edi+2*esi], dx inc esi mov dword ptr [ebx+04H], esi jmp SHORT G_M000_IG109 G_M000_IG105: mov esi, dword ptr [ebp-34H] jmp SHORT G_M000_IG110 G_M000_IG106: mov dword ptr [ebp-60H], ecx jmp SHORT G_M000_IG110 G_M000_IG107: xor edx, edx mov bword ptr [ebp-264H], edx xor edx, edx mov dword ptr [ebp-174H], edx jmp G_M000_IG104 G_M000_IG108: push dword ptr [ebp-180H] push bword ptr [ebp-274H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG109: mov ecx, dword ptr [ebp-60H] dec ecx mov dword ptr [ebp-60H], ecx mov esi, dword ptr [ebp-34H] G_M000_IG110: dec esi mov dword ptr [ebp-34H], esi mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG111: mov edi, dword ptr [ebp-34H] xor ecx, ecx test edi, edi setne cl mov edx, dword ptr [ebp-64H] or ecx, edx mov dword ptr [ebp-34H], edi mov dword ptr [ebp-64H], edx mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jne G_M000_IG162 cmp dword ptr [ebp-30H], 0 jl SHORT G_M000_IG112 mov ecx, dword ptr [ebp-28H] mov edx, dword ptr [ebp-24H] cmp ecx, edx mov dword ptr [ebp-28H], ecx jge G_M000_IG162 mov ecx, dword ptr [ebp-90H] cmp byte ptr [ecx], 0 je G_M000_IG162 G_M000_IG112: mov ecx, gword ptr [ebp-300H] mov ecx, gword ptr [ecx+18H] mov gword ptr [ebp-20CH], ecx test ecx, ecx je G_M000_IG115 G_M000_IG113: add ecx, 8 mov bword ptr [ebp-210H], ecx mov ecx, gword ptr [ebp-20CH] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-E4H], ecx mov ecx, bword ptr [ebp-210H] mov bword ptr [ebp-27CH], ecx mov ecx, dword ptr [ebp-E4H] mov dword ptr [ebp-188H], ecx mov ecx, bword ptr [ebp-27CH] mov bword ptr [ebp-278H], ecx mov ecx, dword ptr [ebp-188H] mov dword ptr [ebp-184H], ecx G_M000_IG114: mov ecx, bword ptr [ebp-278H] mov bword ptr [ebp-280H], ecx mov ecx, dword ptr [ebp-184H] mov dword ptr [ebp-E8H], ecx mov ecx, bword ptr [ebp-280H] mov bword ptr [ebp-288H], ecx mov ecx, dword ptr [ebp-E8H] mov dword ptr [ebp-190H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-ECH], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2E0H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-284H], ecx mov ecx, bword ptr [ebp-2E0H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-18CH], ecx cmp dword ptr [ebp-190H], 1 jne SHORT G_M000_IG116 mov ecx, dword ptr [ebp-ECH] cmp ecx, dword ptr [ebp-18CH] jae SHORT G_M000_IG116 mov dword ptr [ebp-ECH], ecx cmp ecx, dword ptr [ebp-18CH] jae G_M000_IG173 cmp dword ptr [ebp-190H], 0 jbe G_M000_IG173 mov ecx, bword ptr [ebp-288H] movzx ecx, word ptr [ecx] mov edi, bword ptr [ebp-284H] mov edx, dword ptr [ebp-ECH] mov word ptr [edi+2*edx], cx inc edx mov dword ptr [ebx+04H], edx jmp SHORT G_M000_IG117 G_M000_IG115: xor ecx, ecx mov bword ptr [ebp-278H], ecx xor ecx, ecx mov dword ptr [ebp-184H], ecx jmp G_M000_IG114 G_M000_IG116: push dword ptr [ebp-190H] push bword ptr [ebp-288H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG117: mov edx, 1 mov dword ptr [ebp-64H], edx mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG118: mov gword ptr [ebp-300H], ecx mov ecx, gword ptr [ecx+44H] mov gword ptr [ebp-214H], ecx test ecx, ecx je G_M000_IG121 G_M000_IG119: add ecx, 8 mov bword ptr [ebp-218H], ecx mov ecx, gword ptr [ebp-214H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-F0H], ecx mov ecx, bword ptr [ebp-218H] mov bword ptr [ebp-290H], ecx mov ecx, dword ptr [ebp-F0H] mov dword ptr [ebp-198H], ecx mov ecx, bword ptr [ebp-290H] mov bword ptr [ebp-28CH], ecx mov ecx, dword ptr [ebp-198H] mov dword ptr [ebp-194H], ecx G_M000_IG120: mov ecx, bword ptr [ebp-28CH] mov bword ptr [ebp-294H], ecx mov ecx, dword ptr [ebp-194H] mov dword ptr [ebp-F4H], ecx mov ecx, bword ptr [ebp-294H] mov bword ptr [ebp-29CH], ecx mov ecx, dword ptr [ebp-F4H] mov dword ptr [ebp-1A0H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-F8H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2E4H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-298H], ecx mov ecx, bword ptr [ebp-2E4H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-19CH], ecx cmp dword ptr [ebp-1A0H], 1 jne SHORT G_M000_IG122 mov ecx, dword ptr [ebp-F8H] cmp ecx, dword ptr [ebp-19CH] jae SHORT G_M000_IG122 mov dword ptr [ebp-F8H], ecx cmp ecx, dword ptr [ebp-19CH] jae G_M000_IG173 cmp dword ptr [ebp-1A0H], 0 jbe G_M000_IG173 mov ecx, bword ptr [ebp-29CH] movzx ecx, word ptr [ecx] mov edi, bword ptr [ebp-298H] mov edx, dword ptr [ebp-F8H] mov word ptr [edi+2*edx], cx inc edx mov dword ptr [ebx+04H], edx mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG121: xor ecx, ecx mov bword ptr [ebp-28CH], ecx xor ecx, ecx mov dword ptr [ebp-194H], ecx jmp G_M000_IG120 G_M000_IG122: push dword ptr [ebp-1A0H] push bword ptr [ebp-29CH] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG123: mov edx, gword ptr [ebp-300H] mov edx, gword ptr [edx+40H] mov gword ptr [ebp-21CH], edx test edx, edx je G_M000_IG126 G_M000_IG124: add edx, 8 mov bword ptr [ebp-220H], edx mov edx, gword ptr [ebp-21CH] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-FCH], edx mov edx, bword ptr [ebp-220H] mov bword ptr [ebp-2A4H], edx mov edx, dword ptr [ebp-FCH] mov dword ptr [ebp-1A8H], edx mov edx, bword ptr [ebp-2A4H] mov bword ptr [ebp-2A0H], edx mov edx, dword ptr [ebp-1A8H] mov dword ptr [ebp-1A4H], edx G_M000_IG125: mov edx, bword ptr [ebp-2A0H] mov bword ptr [ebp-2A8H], edx mov edx, dword ptr [ebp-1A4H] mov dword ptr [ebp-100H], edx mov edx, bword ptr [ebp-2A8H] mov bword ptr [ebp-2B0H], edx mov edx, dword ptr [ebp-100H] mov dword ptr [ebp-1B0H], edx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-104H], edx lea edx, bword ptr [ebx+08H] mov bword ptr [ebp-2E8H], edx mov edx, bword ptr [edx] mov bword ptr [ebp-2ACH], edx mov edx, bword ptr [ebp-2E8H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-1ACH], edx cmp dword ptr [ebp-1B0H], 1 jne SHORT G_M000_IG127 mov edx, dword ptr [ebp-104H] cmp edx, dword ptr [ebp-1ACH] jae SHORT G_M000_IG127 mov dword ptr [ebp-104H], edx cmp edx, dword ptr [ebp-1ACH] jae G_M000_IG173 cmp dword ptr [ebp-1B0H], 0 jbe G_M000_IG173 mov edx, bword ptr [ebp-2B0H] movzx edx, word ptr [edx] mov edi, bword ptr [ebp-2ACH] mov esi, dword ptr [ebp-104H] mov word ptr [edi+2*esi], dx inc esi mov dword ptr [ebx+04H], esi mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG126: xor edx, edx mov bword ptr [ebp-2A0H], edx xor edx, edx mov dword ptr [ebp-1A4H], edx jmp G_M000_IG125 G_M000_IG127: push dword ptr [ebp-1B0H] push bword ptr [ebp-2B0H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG128: inc eax mov dword ptr [ebp-54H], eax mov dword ptr [ebp-10CH], edi mov esi, dword ptr [ebx+04H] mov dword ptr [ebp-108H], esi lea esi, bword ptr [ebx+08H] mov edi, bword ptr [esi] mov bword ptr [ebp-2B4H], edi mov esi, dword ptr [esi+04H] mov edi, dword ptr [ebp-108H] cmp edi, esi jae SHORT G_M000_IG129 cmp edi, esi jae G_M000_IG173 mov esi, bword ptr [ebp-2B4H] mov edx, dword ptr [ebp-10CH] mov word ptr [esi+2*edi], dx inc edi mov dword ptr [ebx+04H], edi mov ecx, dword ptr [ebp-5CH] jmp SHORT G_M000_IG130 G_M000_IG129: mov ecx, ebx mov edx, dword ptr [ebp-10CH] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov ecx, dword ptr [ebp-5CH] G_M000_IG130: mov eax, dword ptr [ebp-54H] mov edx, dword ptr [ebp-1DCH] cmp eax, edx jge SHORT G_M000_IG131 mov edi, dword ptr [ebp-88H] movzx edi, word ptr [edi+2*eax] test edi, edi je SHORT G_M000_IG132 mov dword ptr [ebp-5CH], ecx cmp edi, ecx jne SHORT G_M000_IG128 G_M000_IG131: mov edx, dword ptr [ebp-1DCH] cmp eax, edx jge SHORT G_M000_IG133 G_M000_IG132: mov ecx, dword ptr [ebp-88H] movzx ecx, word ptr [ecx+2*eax] test ecx, ecx mov dword ptr [ebp-54H], eax mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] je G_M000_IG162 mov eax, dword ptr [ebp-54H] inc eax mov dword ptr [ebp-54H], eax jmp G_M000_IG162 G_M000_IG133: mov dword ptr [ebp-54H], eax mov esi, edx mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG134: mov eax, dword ptr [ebp-54H] mov esi, dword ptr [ebp-1DCH] cmp eax, esi mov dword ptr [ebp-54H], eax mov edi, dword ptr [ebp-88H] jge G_M000_IG162 mov eax, dword ptr [ebp-54H] movzx ecx, word ptr [edi+2*eax] test ecx, ecx mov dword ptr [ebp-54H], eax mov dword ptr [ebp-1D4H], ecx mov edi, dword ptr [ebp-88H] je G_M000_IG162 mov eax, dword ptr [ebp-54H] inc eax mov dword ptr [ebp-54H], eax mov ecx, dword ptr [ebp-1D4H] mov dword ptr [ebp-114H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-110H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2ECH], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-2B8H], ecx mov ecx, bword ptr [ebp-2ECH] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-1B4H], ecx mov ecx, dword ptr [ebp-110H] cmp ecx, dword ptr [ebp-1B4H] jae SHORT G_M000_IG135 cmp ecx, dword ptr [ebp-1B4H] jae G_M000_IG173 mov edi, bword ptr [ebp-2B8H] mov edx, dword ptr [ebp-114H] mov word ptr [edi+2*ecx], dx inc ecx mov dword ptr [ebx+04H], ecx mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG135: mov ecx, ebx mov edx, dword ptr [ebp-114H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] jmp G_M000_IG162 G_M000_IG136: xor edi, edi mov dword ptr [ebp-94H], edi G_M000_IG137: mov dword ptr [ebp-98H], edi cmp dword ptr [ebp-38H], 0 je G_M000_IG151 mov eax, dword ptr [ebp-54H] mov esi, dword ptr [ebp-1DCH] cmp eax, esi jge SHORT G_M000_IG138 mov edi, dword ptr [ebp-88H] movzx edx, word ptr [edi+2*eax] cmp edx, 48 je G_M000_IG144 G_M000_IG138: lea edi, [eax+01H] cmp edi, esi jge SHORT G_M000_IG140 mov edi, dword ptr [ebp-88H] movzx edx, word ptr [edi+2*eax] cmp edx, 43 jne SHORT G_M000_IG139 cmp word ptr [edi+2*eax+02H], 48 jne SHORT G_M000_IG139 mov edx, 1 mov dword ptr [ebp-94H], edx mov edx, dword ptr [ebp-98H] jmp G_M000_IG145 G_M000_IG139: cmp edx, 45 jne G_M000_IG142 mov dword ptr [ebp-54H], eax cmp word ptr [edi+2*eax+02H], 48 mov eax, dword ptr [ebp-54H] mov edx, dword ptr [ebp-98H] je SHORT G_M000_IG141 G_M000_IG140: mov dword ptr [ebp-11CH], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-118H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2F0H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-2BCH], ecx mov ecx, bword ptr [ebp-2F0H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-1B8H], ecx mov ecx, dword ptr [ebp-118H] cmp ecx, dword ptr [ebp-1B8H] jae SHORT G_M000_IG143 cmp ecx, dword ptr [ebp-1B8H] jae G_M000_IG173 mov edx, bword ptr [ebp-2BCH] mov edi, dword ptr [ebp-11CH] mov word ptr [edx+2*ecx], di inc ecx mov dword ptr [ebx+04H], ecx mov dword ptr [ebp-54H], eax mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG141: mov edi, dword ptr [ebp-88H] jmp SHORT G_M000_IG145 G_M000_IG142: jmp SHORT G_M000_IG140 G_M000_IG143: mov dword ptr [ebp-54H], eax mov ecx, ebx mov edx, dword ptr [ebp-11CH] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG144: mov edx, dword ptr [ebp-98H] inc edx G_M000_IG145: inc eax cmp eax, esi jge SHORT G_M000_IG146 mov dword ptr [ebp-54H], eax cmp word ptr [edi+2*eax], 48 mov eax, dword ptr [ebp-54H] mov edi, dword ptr [ebp-88H] je SHORT G_M000_IG148 G_M000_IG146: cmp edx, 10 mov dword ptr [ebp-98H], edx jle SHORT G_M000_IG147 mov dword ptr [ebp-98H], 10 G_M000_IG147: mov edx, dword ptr [ebp-58H] cmp byte ptr [edx], 0 je SHORT G_M000_IG149 mov edx, bword ptr [ebp-1E8H] mov edx, dword ptr [edx+04H] sub edx, dword ptr [ebp-28H] mov dword ptr [ebp-54H], eax jmp SHORT G_M000_IG150 G_M000_IG148: mov dword ptr [ebp-98H], edx jmp SHORT G_M000_IG144 G_M000_IG149: xor edx, edx mov dword ptr [ebp-54H], eax G_M000_IG150: push edx push ecx push dword ptr [ebp-98H] push dword ptr [ebp-94H] mov ecx, ebx mov edx, gword ptr [ebp-300H] call [System.Number:FormatExponent[ushort](byref,System.Globalization.NumberFormatInfo,int,ushort,int,bool)] xor edx, edx mov dword ptr [ebp-38H], edx mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG151: mov dword ptr [ebp-124H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-120H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2F4H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-2C0H], ecx mov ecx, bword ptr [ebp-2F4H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-1BCH], ecx mov ecx, dword ptr [ebp-120H] cmp ecx, dword ptr [ebp-1BCH] jae SHORT G_M000_IG152 cmp ecx, dword ptr [ebp-1BCH] jae G_M000_IG173 mov edx, bword ptr [ebp-2C0H] mov edi, dword ptr [ebp-124H] mov word ptr [edx+2*ecx], di inc ecx mov dword ptr [ebx+04H], ecx jmp SHORT G_M000_IG153 G_M000_IG152: mov ecx, ebx mov edx, dword ptr [ebp-124H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] G_M000_IG153: mov eax, dword ptr [ebp-54H] mov esi, dword ptr [ebp-1DCH] cmp eax, esi mov dword ptr [ebp-54H], eax mov edi, dword ptr [ebp-88H] jge G_M000_IG162 mov eax, dword ptr [ebp-54H] movzx ecx, word ptr [edi+2*eax] cmp ecx, 43 je SHORT G_M000_IG154 cmp ecx, 45 jne G_M000_IG158 G_M000_IG154: inc eax mov dword ptr [ebp-54H], eax mov dword ptr [ebp-12CH], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-128H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2F8H], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-2C4H], ecx mov ecx, bword ptr [ebp-2F8H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-1C0H], ecx mov ecx, dword ptr [ebp-128H] cmp ecx, dword ptr [ebp-1C0H] jae SHORT G_M000_IG155 cmp ecx, dword ptr [ebp-1C0H] jae G_M000_IG173 mov edi, bword ptr [ebp-2C4H] mov edx, dword ptr [ebp-12CH] mov word ptr [edi+2*ecx], dx inc ecx mov dword ptr [ebx+04H], ecx mov eax, dword ptr [ebp-54H] jmp SHORT G_M000_IG158 G_M000_IG155: mov ecx, ebx mov edx, dword ptr [ebp-12CH] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov eax, dword ptr [ebp-54H] jmp SHORT G_M000_IG158 G_M000_IG156: inc eax mov dword ptr [ebp-54H], eax mov dword ptr [ebp-134H], ecx mov edi, dword ptr [ebx+04H] mov dword ptr [ebp-130H], edi lea edi, bword ptr [ebx+08H] mov ecx, bword ptr [edi] mov bword ptr [ebp-2C8H], ecx mov edi, dword ptr [edi+04H] mov ecx, dword ptr [ebp-130H] cmp ecx, edi jae SHORT G_M000_IG157 cmp ecx, edi jae G_M000_IG173 mov edi, bword ptr [ebp-2C8H] mov edx, dword ptr [ebp-134H] mov word ptr [edi+2*ecx], dx inc ecx mov dword ptr [ebx+04H], ecx mov eax, dword ptr [ebp-54H] jmp SHORT G_M000_IG158 G_M000_IG157: mov ecx, ebx mov edx, dword ptr [ebp-134H] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov eax, dword ptr [ebp-54H] G_M000_IG158: cmp eax, esi mov dword ptr [ebp-54H], eax mov edi, dword ptr [ebp-88H] jge G_M000_IG162 mov eax, dword ptr [ebp-54H] movzx ecx, word ptr [edi+2*eax] cmp ecx, 48 je SHORT G_M000_IG156 G_M000_IG159: mov dword ptr [ebp-54H], eax mov edi, dword ptr [ebp-88H] jmp G_M000_IG162 G_M000_IG160: mov dword ptr [ebp-13CH], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-138H], ecx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-2FCH], ecx mov ecx, bword ptr [ecx] mov bword ptr [ebp-2CCH], ecx mov ecx, bword ptr [ebp-2FCH] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-1C4H], ecx mov ecx, dword ptr [ebp-138H] cmp ecx, dword ptr [ebp-1C4H] jae SHORT G_M000_IG161 cmp ecx, dword ptr [ebp-1C4H] jae G_M000_IG173 mov edi, bword ptr [ebp-2CCH] mov edx, dword ptr [ebp-13CH] mov word ptr [edi+2*ecx], dx inc ecx mov dword ptr [ebx+04H], ecx mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] jmp SHORT G_M000_IG162 G_M000_IG161: mov ecx, ebx mov edx, dword ptr [ebp-13CH] call [System.Collections.Generic.ValueListBuilder`1[ushort]:AddWithResize(ushort):this] mov esi, dword ptr [ebp-1DCH] mov edi, dword ptr [ebp-88H] G_M000_IG162: mov eax, dword ptr [ebp-54H] cmp eax, esi jge SHORT G_M000_IG164 G_M000_IG163: mov dword ptr [ebp-9CH], eax inc eax mov dword ptr [ebp-54H], eax mov ecx, dword ptr [ebp-9CH] movzx ecx, word ptr [edi+2*ecx] test ecx, ecx je SHORT G_M000_IG164 cmp ecx, 59 jne G_M000_IG70 G_M000_IG164: xor ecx, ecx mov bword ptr [ebp-8CH], ecx mov edi, bword ptr [ebp-1E8H] cmp byte ptr [edi+08H], 0 je SHORT G_M000_IG168 G_M000_IG165: cmp dword ptr [ebp-50H], 0 jne SHORT G_M000_IG168 cmp dword ptr [edi+04H], 0 jne SHORT G_M000_IG168 cmp dword ptr [ebx+04H], 0 jle SHORT G_M000_IG168 mov edi, gword ptr [ebp-300H] mov ecx, gword ptr [edi+14H] test ecx, ecx je SHORT G_M000_IG170 G_M000_IG166: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] G_M000_IG167: push eax push edx mov ecx, ebx xor edx, edx call [System.Collections.Generic.ValueListBuilder`1[ushort]:Insert(int,System.ReadOnlySpan`1[ushort]):this] G_M000_IG168: cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG169 call CORINFO_HELP_FAIL_FAST G_M000_IG169: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG170: xor edx, edx xor eax, eax jmp SHORT G_M000_IG167 G_M000_IG171: call CORINFO_HELP_OVERFLOW G_M000_IG172: call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()] int3 G_M000_IG173: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dd G_M000_IG23 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 dd G_M000_IG22 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 dd G_M000_IG23 - G_M000_IG02 RWD24 dd G_M000_IG19 - G_M000_IG02 dd G_M000_IG12 - G_M000_IG02 dd G_M000_IG18 - G_M000_IG02 dd G_M000_IG12 - G_M000_IG02 dd G_M000_IG16 - G_M000_IG02 RWD44 dd G_M000_IG130 - G_M000_IG02 dd G_M000_IG93 - G_M000_IG02 dd G_M000_IG160 - G_M000_IG02 dd G_M000_IG123 - G_M000_IG02 dd G_M000_IG160 - G_M000_IG02 dd G_M000_IG130 - G_M000_IG02 RWD68 dd G_M000_IG90 - G_M000_IG02 dd G_M000_IG89 - G_M000_IG02 dd G_M000_IG111 - G_M000_IG02 dd G_M000_IG89 - G_M000_IG02 dd G_M000_IG93 - G_M000_IG02 ; Total bytes of code 6043 779: JIT compiled System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) [Tier-0 switched to FullOpts, IL size=2089, code size=6043] ; Assembly listing for method System.Number:FindSection(System.ReadOnlySpan`1[ushort],int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax xor eax, eax mov dword ptr [ebp-10H], eax G_M000_IG02: test ecx, ecx jne SHORT G_M000_IG05 G_M000_IG03: xor eax, eax G_M000_IG04: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-10H], eax xor edx, edx align [0 bytes for IG06] G_M000_IG06: mov esi, dword ptr [ebp+0CH] cmp edx, esi jge G_M000_IG20 lea edi, [edx+01H] movzx edx, word ptr [eax+2*edx] mov ebx, edx cmp edx, 34 ja SHORT G_M000_IG07 test edx, edx je G_M000_IG22 cmp edx, 34 je SHORT G_M000_IG10 mov edx, edi jmp SHORT G_M000_IG06 G_M000_IG07: cmp edx, 39 je SHORT G_M000_IG10 cmp ebx, 59 je SHORT G_M000_IG17 cmp ebx, 92 mov edx, edi jne SHORT G_M000_IG06 G_M000_IG08: cmp edx, esi jge SHORT G_M000_IG06 G_M000_IG09: jmp SHORT G_M000_IG15 G_M000_IG10: cmp edi, esi jge SHORT G_M000_IG14 mov ebx, edx mov edx, edi mov edi, ebx movzx ebx, word ptr [eax+2*edx] test ebx, ebx je SHORT G_M000_IG06 G_M000_IG11: inc edx cmp ebx, edi jne SHORT G_M000_IG13 G_M000_IG12: mov edi, edx jmp SHORT G_M000_IG06 G_M000_IG13: mov ebx, edx mov edx, edi mov edi, ebx jmp SHORT G_M000_IG10 G_M000_IG14: mov edx, edi jmp SHORT G_M000_IG06 G_M000_IG15: movzx edi, word ptr [eax+2*edx] test edi, edi je SHORT G_M000_IG06 G_M000_IG16: inc edx jmp SHORT G_M000_IG06 G_M000_IG17: dec ecx mov edx, edi jne SHORT G_M000_IG06 G_M000_IG18: cmp edx, esi jge SHORT G_M000_IG22 movzx edi, word ptr [eax+2*edx] test edi, edi je SHORT G_M000_IG22 cmp edi, 59 je SHORT G_M000_IG22 mov eax, edx G_M000_IG19: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG20: xor eax, eax G_M000_IG21: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG22: xor eax, eax G_M000_IG23: pop ecx pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 201 780: JIT compiled System.Number:FindSection(System.ReadOnlySpan`1[ushort],int) [Tier-0 switched to FullOpts, IL size=190, code size=201] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:GetAverageTime():Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vzeroupper mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] vmovsd qword ptr [ebp-10H], xmm0 mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Reports.Measurement:get_Operations():long:this] mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], edx push dword ptr [ebp-14H] push dword ptr [ebp-18H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-20H] vmovsd xmm1, qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-20H] vdivsd xmm0, xmm1, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, bword ptr [ebp-08H] call [Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 101 781: JIT compiled BenchmarkDotNet.Reports.Measurement:GetAverageTime() [Tier0, IL size=20, code size=101] ; Assembly listing for method Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E push dword ptr [ecx+04H] push dword ptr [ecx] vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double):Perfolizer.Horology.TimeInterval] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 48 782: JIT compiled Perfolizer.Horology.TimeInterval:FromNanoseconds(double) [Tier0, IL size=12, code size=48] ; Assembly listing for method Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-0CH], ecx mov dword ptr [ebp-08H], ecx lea ecx, [ebp+10H] call [Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this] fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmulsd xmm0, xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-0CH] call [Perfolizer.Horology.TimeInterval:.ctor(double):this] mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp-0CH] mov dword ptr [eax], edx mov edx, dword ptr [ebp-08H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 16 ; Total bytes of code 79 783: JIT compiled Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double) [Tier0, IL size=15, code size=79] ; Assembly listing for method BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: push 0xD1FFAB1E mov ecx, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call [System.String:Replace(System.String,System.String):System.String:this] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 42 784: JIT compiled BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String) [Tier0, IL size=22, code size=42] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:WriteLine(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 785: JIT compiled BenchmarkDotNet.Engines.Engine:WriteLine(System.String) [Tier0, IL size=13, code size=45] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 786: JIT compiled BenchmarkDotNet.Engines.Engine:get_Host() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Add(BenchmarkDotNet.Reports.Measurement):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] inc dword ptr [ecx+0CH] mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-0CH] mov eax, gword ptr [ebp-08H] cmp ecx, dword ptr [eax+04H] jae SHORT G_M000_IG04 mov ecx, dword ptr [ebp-0CH] inc ecx mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], ecx mov ecx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-0CH] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG06 imul edx, eax, 32 lea ecx, bword ptr [ecx+edx+08H] vmovdqu ymm0, ymmword ptr [ebp+08H] vmovdqu ymmword ptr [ecx], ymm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret 32 G_M000_IG04: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp+08H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp+18H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] G_M000_IG05: vzeroupper mov esp, ebp pop ebp ret 32 G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 146 787: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Add(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=60, code size=146] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:Consume(byref):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 16 788: JIT compiled BenchmarkDotNet.Engines.Engine:Consume(byref) [Tier0, IL size=1, code size=16] ; Assembly listing for method BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: pop ebp ret 32 ; Total bytes of code 7 789: JIT compiled BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=1, code size=7] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Dummy2Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 790: JIT compiled BenchmarkDotNet.Engines.Engine:get_Dummy2Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:Dummy2():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+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 791: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:Dummy2() [Tier0, IL size=897, code size=395] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_MemoryRandomization():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+66H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 792: JIT compiled BenchmarkDotNet.Engines.Engine:get_MemoryRandomization() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_WorkloadAction():System.Action`1[long]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 793: JIT compiled BenchmarkDotNet.Engines.Engine:get_WorkloadAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_IterationSetupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+30H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 794: JIT compiled BenchmarkDotNet.Engines.Engine:get_IterationSetupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_2():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 795: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_2() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStart(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 5 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 796: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStart(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:WorkloadActionNoUnroll(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 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 797: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: push 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 798: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret 16 ; Total bytes of code 13 799: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 6 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 800: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadJittingStop(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_IterationCleanupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+34H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 801: JIT compiled BenchmarkDotNet.Engines.Engine:get_IterationCleanupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_3():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 802: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_3() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Dummy3Action():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 803: JIT compiled BenchmarkDotNet.Engines.Engine:get_Dummy3Action() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:Dummy3():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+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 804: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:Dummy3() [Tier0, IL size=897, code size=395] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:WriteLine():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this] mov ecx, eax call [BenchmarkDotNet.Engines.IHost:WriteLine():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 805: JIT compiled BenchmarkDotNet.Engines.Engine:WriteLine() [Tier0, IL size=12, code size=28] ; Assembly listing for method BenchmarkDotNet.Engines.EngineParameters:get_IterationTime():Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] 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 806: JIT compiled BenchmarkDotNet.Engines.EngineParameters:get_IterationTime() [Tier0, IL size=22, code size=59] ; Assembly listing for method BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-10H] mov ecx, gword ptr [ecx+04H] mov edx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-10H] call [eax+0CH]System.Func`2[System.__Canon,int]:Invoke(System.__Canon):int:this mov edx, gword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 70 807: JIT compiled BenchmarkDotNet.Characteristics.Resolver+<>c__DisplayClass2_0`1[int]:b__0(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=18, code size=70] ; Assembly listing for method BenchmarkDotNet.Environments.EnvironmentResolver+<>c:<.ctor>b__2_2(BenchmarkDotNet.Characteristics.CharacteristicObject):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4 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 808: JIT compiled BenchmarkDotNet.Environments.EnvironmentResolver+<>c:<.ctor>b__2_2(BenchmarkDotNet.Characteristics.CharacteristicObject) [Tier0, IL size=72, code size=195] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.CharacteristicObject: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 809: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[int](BenchmarkDotNet.Characteristics.Characteristic`1[int],int) [Tier0, IL size=36, code size=121] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] test eax, eax jne SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] mov eax, dword ptr [eax] mov ecx, gword ptr [ebp-10H] mov dword ptr [ecx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this] mov gword ptr [ebp-0CH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.Characteristic:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object):System.Object:this] mov gword ptr [ebp-18H], eax mov edx, gword ptr [ebp-18H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_UNBOX] push dword ptr [eax] mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-0CH] call [eax+0CH]System.Func`3[System.__Canon,int,int]:Invoke(System.__Canon,int):int:this mov edx, gword ptr [ebp-10H] mov dword ptr [edx+04H], eax mov eax, gword ptr [ebp-10H] G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 190 810: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:ResolveValueCore(BenchmarkDotNet.Characteristics.CharacteristicObject,System.Object) [Tier0, IL size=58, code size=190] ; Assembly listing for method BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver():System.Func`3[BenchmarkDotNet.Characteristics.CharacteristicObject,int,int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+18H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 811: JIT compiled BenchmarkDotNet.Characteristics.Characteristic`1[int]:get_Resolver() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters):BenchmarkDotNet.Engines.Engine ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_OverheadActionUnroll():System.Action`1[long]:this] mov gword ptr [ebp-0CH], eax push gword ptr [ebp-0CH] mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineParameters:get_WorkloadActionUnroll():System.Action`1[long]:this] push eax mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.EngineFactory:CreateEngine(BenchmarkDotNet.Engines.EngineParameters,BenchmarkDotNet.Jobs.Job,System.Action`1[long],System.Action`1[long]):BenchmarkDotNet.Engines.Engine] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 76 812: JIT compiled BenchmarkDotNet.Engines.EngineFactory:CreateMultiActionEngine(BenchmarkDotNet.Engines.EngineParameters) [Tier0, IL size=25, code size=76] ; Assembly listing for method BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_9():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, 1 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 813: JIT compiled BenchmarkDotNet.Engines.EngineResolver+<>c:<.ctor>b__7_9() [Tier0, IL size=2, code size=16] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:OverheadActionUnroll(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: xor 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 814: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 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 815: 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) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: pop ebp ret 8 ; Total bytes of code 7 816: JIT compiled BenchmarkDotNet.Engines.DeadCodeEliminationHelper:KeepAliveWithoutBoxing[Perfolizer.Horology.TimeInterval](Perfolizer.Horology.TimeInterval) [Tier0, IL size=1, code size=7] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:Run():BenchmarkDotNet.Engines.RunResults:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 412 vzeroupper vxorps xmm4, xmm4 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 vmovsd qword ptr [ebp-5CH], xmm0 jmp G_M000_IG08 G_M000_IG07: vxorps 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 817: JIT compiled BenchmarkDotNet.Engines.Engine:Run() [Tier0, IL size=419, code size=1205] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov ecx, 0xD1FFAB1E mov edx, 47 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 818: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor() [Tier0, IL size=18, code size=51] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E xor edx, edx call CORINFO_HELP_NEWARR_1_VC mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 27 819: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.cctor() [Tier0, IL size=12, code size=27] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddRange(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 56 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov esi, ecx mov edi, edx G_M000_IG02: test edi, edi je G_M000_IG19 mov edx, edi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov ebx, eax test ebx, ebx je SHORT G_M000_IG08 G_M000_IG03: mov ecx, ebx call [System.Collections.Generic.ICollection`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] mov edi, eax test edi, edi jle G_M000_IG17 mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] mov eax, dword ptr [esi+08H] sub edx, eax cmp edx, edi jge SHORT G_M000_IG06 add eax, edi jo G_M000_IG18 cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG04 mov edx, dword ptr [ecx+04H] add edx, edx jmp SHORT G_M000_IG05 G_M000_IG04: mov edx, 4 G_M000_IG05: mov ecx, 0xD1FFAB1E cmp edx, 0xD1FFAB1E cmova edx, ecx cmp edx, eax cmovl edx, eax mov ecx, esi call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:set_Capacity(int):this] G_M000_IG06: mov edx, gword ptr [esi+04H] push dword ptr [esi+08H] mov ecx, ebx call [System.Collections.Generic.ICollection`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int):this] add dword ptr [esi+08H], edi inc dword ptr [esi+0CH] G_M000_IG07: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG08: mov ecx, edi call [System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:GetEnumerator():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:this] mov gword ptr [ebp-44H], eax G_M000_IG09: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG14 G_M000_IG10: lea edx, [ebp-40H] mov ecx, gword ptr [ebp-44H] call [System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:get_Current():BenchmarkDotNet.Reports.Measurement:this] inc dword ptr [esi+0CH] mov ecx, gword ptr [esi+04H] mov eax, dword ptr [esi+08H] mov edx, dword ptr [ecx+04H] cmp edx, eax jbe SHORT G_M000_IG12 G_M000_IG11: lea edx, [eax+01H] mov dword ptr [esi+08H], edx shl eax, 5 vmovdqu ymm0, ymmword ptr [ebp-40H] vmovdqu ymmword ptr [ecx+eax+08H], ymm0 jmp SHORT G_M000_IG13 G_M000_IG12: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-40H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-30H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, esi call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] G_M000_IG13: mov ecx, gword ptr [ebp-44H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG10 G_M000_IG14: mov ecx, gword ptr [ebp-44H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG17 G_M000_IG15: cmp gword ptr [ebp-44H], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-44H] call [System.IDisposable:Dispose():this] G_M000_IG16: pop eax jmp eax G_M000_IG17: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG18: call CORINFO_HELP_OVERFLOW G_M000_IG19: mov ecx, 23 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 340 820: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddRange(System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]) [Tier-0 switched to FullOpts, IL size=152, code size=340] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 821: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:set_Capacity(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] cmp ecx, dword ptr [edx+08H] jge SHORT G_M000_IG03 mov ecx, 7 mov edx, 15 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] G_M000_IG03: mov edx, dword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] cmp edx, dword ptr [ecx+04H] je SHORT G_M000_IG07 cmp dword ptr [ebp-08H], 0 jle SHORT G_M000_IG06 mov edx, dword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx+08H], 0 jle SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] push dword ptr [ecx+08H] mov ecx, gword ptr [ebp-10H] mov edx, gword ptr [ebp-0CH] call [System.Array:Copy(System.Array,System.Array,int)] G_M000_IG04: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-0CH] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov eax, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG07: mov esp, ebp pop ebp ret ; Total bytes of code 157 822: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:set_Capacity(int) [Tier0, IL size=86, code size=157] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx push gword ptr [ebp-08H] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] push dword ptr [ecx+08H] mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Array:Copy(System.Array,int,System.Array,int,int)] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 823: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int) [Tier0, IL size=21, code size=55] ; Assembly listing for method BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long],BenchmarkDotNet.Characteristics.IResolver,long):long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push 0xD1FFAB1E mov ecx, gword ptr [ebp+10H] mov edx, 0xD1FFAB1E call CORINFO_HELP_VIRTUAL_FUNC_PTR mov dword ptr [ebp-0CH], eax push gword ptr [ebp-08H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp+10H] mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp-0CH] call eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], edx mov eax, dword ptr [ebp-14H] mov edx, dword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 71 824: JIT compiled BenchmarkDotNet.Characteristics.CharacteristicObject:ResolveValue[long](BenchmarkDotNet.Characteristics.Characteristic`1[long],BenchmarkDotNet.Characteristics.IResolver,long) [Tier0, IL size=10, code size=71] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[long](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[long],long):long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4 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 825: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver:Resolve[long](BenchmarkDotNet.Characteristics.CharacteristicObject,BenchmarkDotNet.Characteristics.Characteristic`1[long],long) [Tier0, IL size=84, code size=263] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass6_0`1[long]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 826: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass6_0`1[long]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass6_0`1[long]:b__0(BenchmarkDotNet.Characteristics.IResolver):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] mov ecx, gword ptr [ebp-08H] call [BenchmarkDotNet.Characteristics.IResolver:CanResolve(BenchmarkDotNet.Characteristics.Characteristic):bool:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 827: JIT compiled BenchmarkDotNet.Characteristics.CompositeResolver+<>c__DisplayClass6_0`1[long]:b__0(BenchmarkDotNet.Characteristics.IResolver) [Tier0, IL size=13, code size=31] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_BenchmarkName():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+40H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 828: JIT compiled BenchmarkDotNet.Engines.Engine:get_BenchmarkName() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:BenchmarkStart(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] mov edx, 1 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 33 829: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:BenchmarkStart(System.String) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Strategy():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+60H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 830: JIT compiled BenchmarkDotNet.Engines.Engine:get_Strategy() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage:Run():BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 36 vxorps xmm4, xmm4 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 831: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage:Run() [Tier0, IL size=72, code size=202] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:get_TargetJob():BenchmarkDotNet.Jobs.Job:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 23 832: JIT compiled BenchmarkDotNet.Engines.EngineStage:get_TargetJob() [Tier0, IL size=12, code size=23] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage:RunSpecific():BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 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, 160 vzeroupper vxorps 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 ecx, gword ptr [D1FFAB1EH] lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_ECX 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 mov gword ptr [ebp-A0H], eax 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 gword ptr [ebp-A0H], eax 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, 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 sbb edx, 0 jl SHORT G_M000_IG14 G_M000_IG13: mov edx, dword ptr [ebp-1CH] cmp edx, 3 jge SHORT G_M000_IG14 mov ebx, eax mov edi, dword ptr [ebp-84H] mov dword ptr [ebp-80H], edi mov dword ptr [ebp-1CH], edx 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 535 833: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage:RunSpecific() [Tier-0 switched to FullOpts, IL size=141, code size=535] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 100 vzeroupper vxorps xmm4, xmm4 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 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 834: JIT compiled BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int) [Tier0, IL size=109, code size=354] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStart(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 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 835: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStart(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStop(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 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 836: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadPilotStop(long) [Tier0, IL size=9, code size=33] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper mov gword ptr [ebp-04H], ecx 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 837: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=39, code size=89] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Grow(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, 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 838: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Grow(int) [Tier0, IL size=53, code size=99] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage:Autocorrect(long):long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 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 839: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage:Autocorrect(long) [Tier0, IL size=29, code size=119] ; Assembly listing for method System.Reflection.TypeNameParser:get_Peek():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jl SHORT G_M000_IG04 G_M000_IG03: xor eax, eax jmp SHORT G_M000_IG05 G_M000_IG04: add esi, 32 cmp ecx, dword ptr [esi+04H] jae SHORT G_M000_IG07 mov eax, bword ptr [esi] movzx eax, word ptr [eax+2*ecx] G_M000_IG05: movzx ecx, ax call [System.Reflection.TypeNameParser:CharToToken(ushort):int] G_M000_IG06: pop esi pop ebp ret G_M000_IG07: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 58 840: JIT compiled System.Reflection.TypeNameParser:get_Peek() [Tier1, IL size=54, code size=58] ; Assembly listing for method System.ModuleHandle:ResolveTypeHandle(int,System.RuntimeTypeHandle[],System.RuntimeTypeHandle[]):System.RuntimeTypeHandle:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 242660 ; 5 inlinees with PGO data; 10 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 200 vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-9CH], xmm4 vmovdqu xmmword ptr [ebp-8CH], xmm4 vmovdqu xmmword ptr [ebp-7CH], xmm4 xor ebx, ebx mov dword ptr [ebp-6CH], ebx mov dword ptr [ebp-18H], ebx mov dword ptr [ebp-24H], 0xD1FFAB1E mov dword ptr [ebp-68H], edx G_M000_IG02: lea edi, [ebp-D0H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-BCH], eax mov edi, gword ptr [ebp+08H] mov ebx, gword ptr [ebp+0CH] mov eax, gword ptr [ecx] mov gword ptr [ebp-6CH], eax mov eax, gword ptr [ebp-6CH] test eax, eax je G_M000_IG19 xor eax, eax mov dword ptr [ebp-74H], eax mov dword ptr [ebp-70H], eax G_M000_IG03: mov dword ptr [ebp-7CH], eax mov dword ptr [ebp-78H], eax mov gword ptr [ebp-B0H], ebx test ebx, ebx jne G_M000_IG20 G_M000_IG04: mov gword ptr [ebp-B4H], edi test edi, edi jne G_M000_IG21 G_M000_IG05: xor eax, eax cmp dword ptr [ebp-70H], 0 jne G_M000_IG18 G_M000_IG06: mov bword ptr [ebp-88H], eax mov dword ptr [ebp-80H], eax xor ecx, ecx cmp dword ptr [ebp-78H], 0 jne G_M000_IG17 G_M000_IG07: mov bword ptr [ebp-8CH], ecx mov dword ptr [ebp-84H], ecx G_M000_IG08: xor edx, edx mov gword ptr [ebp-90H], edx lea edx, [ebp-6CH] mov dword ptr [ebp-A0H], edx mov edx, gword ptr [ebp-6CH] mov edx, dword ptr [edx+10H] mov dword ptr [ebp-A4H], edx mov edx, dword ptr [ebp-70H] mov eax, dword ptr [ebp-78H] lea ecx, [ebp-90H] push ecx push eax push dword ptr [ebp-84H] push edx push dword ptr [ebp-80H] push dword ptr [ebp-68H] push dword ptr [ebp-A4H] push dword ptr [ebp-A0H] mov dword ptr [ebp-C8H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-C4H], eax lea eax, G_M000_IG11 mov dword ptr [ebp-C0H], eax mov byte ptr [esi+08H], 0 G_M000_IG09: mov eax, 0xD1FFAB1E G_M000_IG10: call eax ; System.ModuleHandle:ResolveType(System.Runtime.CompilerServices.QCallModule,int,uint,int,uint,int,System.Runtime.CompilerServices.ObjectHandleOnStack) G_M000_IG11: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG12 call CORINFO_HELP_STOP_FOR_GC G_M000_IG12: xor eax, eax mov dword ptr [ebp-C0H], eax mov eax, gword ptr [ebp-90H] jmp G_M000_IG15 G_M000_IG13: lea ecx, [ebp-98H] mov edx, gword ptr [ebp-6CH] call [System.ModuleHandle:GetMetadataImport(System.Reflection.RuntimeModule):System.Reflection.MetadataImport] lea ecx, [ebp-98H] mov edx, dword ptr [ebp-68H] call [System.Reflection.MetadataImport:IsValidToken(int):bool:this] test eax, eax jne G_M000_IG14 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Argument_InvalidToken():System.String] mov edi, eax mov edx, dword ptr [ebp-68H] mov dword ptr [esi+04H], edx lea ecx, [ebp-9CH] mov edx, gword ptr [ebp-6CH] call [System.ModuleHandle:.ctor(System.Reflection.RuntimeModule):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax lea edx, bword ptr [ebx+04H] mov ecx, gword ptr [ebp-9CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-A8H], eax mov ecx, 0x1507 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-ACH], 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-ACH] mov ecx, gword ptr [ebp-A8H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, gword ptr [ebp-A8H] call CORINFO_HELP_THROW G_M000_IG14: call CORINFO_HELP_RETHROW int3 G_M000_IG15: mov edx, bword ptr [ebp-CCH] mov dword ptr [esi+0CH], edx cmp dword ptr [ebp-24H], 0xD1FFAB1E je SHORT G_M000_IG16 call CORINFO_HELP_FAIL_FAST G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG17: mov ecx, bword ptr [ebp-7CH] jmp G_M000_IG07 G_M000_IG18: mov eax, bword ptr [ebp-74H] jmp G_M000_IG06 G_M000_IG19: call [System.ModuleHandle:g__ThrowInvalidOperationException|11_0()] int3 G_M000_IG20: mov ebx, gword ptr [ebp-B0H] cmp dword ptr [ebx+04H], 0 je SHORT G_M000_IG23 mov ecx, ebx call [System.Object:MemberwiseClone():System.Object:this] mov ebx, eax lea ecx, [ebp-64H] push 8 push ecx lea ecx, [ebp-74H] mov edx, ebx call [System.RuntimeTypeHandle:CopyRuntimeTypeHandles(System.RuntimeTypeHandle[],System.Span`1[int]):System.ReadOnlySpan`1[int]] test edi, edi mov gword ptr [ebp-B4H], edi mov gword ptr [ebp-B0H], ebx je G_M000_IG05 G_M000_IG21: mov edi, gword ptr [ebp-B4H] cmp dword ptr [edi+04H], 0 je SHORT G_M000_IG22 mov ecx, edi call [System.Object:MemberwiseClone():System.Object:this] mov edi, eax lea ecx, [ebp-44H] push 8 push ecx lea ecx, [ebp-7CH] mov edx, edi call [System.RuntimeTypeHandle:CopyRuntimeTypeHandles(System.RuntimeTypeHandle[],System.Span`1[int]):System.ReadOnlySpan`1[int]] mov gword ptr [ebp-B4H], edi jmp G_M000_IG05 G_M000_IG22: mov gword ptr [ebp-B4H], edi jmp G_M000_IG05 G_M000_IG23: mov gword ptr [ebp-B0H], ebx jmp G_M000_IG04 ; Total bytes of code 705 841: JIT compiled System.ModuleHandle:ResolveTypeHandle(int,System.RuntimeTypeHandle[],System.RuntimeTypeHandle[]) [Tier1 with Static PGO, IL size=283, code size=705] ; Assembly listing for method System.Reflection.CustomAttribute:FilterCustomAttributeRecord(System.Reflection.MetadataToken,byref,System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.RuntimeType,bool,byref,byref,byref,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 213232 ; 9 inlinees with PGO data; 68 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 116 xor ebx, ebx mov dword ptr [ebp-10H], ebx mov dword ptr [ebp-14H], ebx mov dword ptr [ebp-18H], ebx mov dword ptr [ebp-48H], ecx mov ebx, edx mov ecx, bword ptr [ebp+0CH] G_M000_IG02: lea edi, [ebp-7CH] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-68H], eax xor eax, eax mov bword ptr [ebp+0CH], ecx mov gword ptr [ecx], eax mov edi, bword ptr [ebp+08H] mov byte ptr [edi], 0 mov eax, gword ptr [ebp+24H] mov gword ptr [ebp-58H], eax mov edi, dword ptr [ebx+04H] lea ecx, [ebp-20H] push ecx mov ecx, edi mov edx, dword ptr [ebp-48H] call System.Reflection.MetadataImport:_GetParentToken(int,int,byref) push 0 push 0 mov ecx, gword ptr [ebp-58H] mov edx, dword ptr [ebp-20H] cmp dword ptr [ecx], ecx call [System.Reflection.RuntimeModule:ResolveType(int,System.Type[],System.Type[]):System.Type:this] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: xor edx, edx cmp dword ptr [eax], 0xD1FFAB1E cmovne eax, edx G_M000_IG04: mov edx, bword ptr [ebp+10H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov edi, bword ptr [ebp+10H] mov edx, gword ptr [edi] mov eax, edx mov edx, gword ptr [ebp+1CH] mov ecx, dword ptr [edx+0CH] test cl, 2 jne SHORT G_M000_IG05 mov ecx, dword ptr [ecx] and ecx, 0xD1FFAB1E cmp ecx, 48 sete cl movzx ecx, cl jmp SHORT G_M000_IG06 G_M000_IG05: xor ecx, ecx G_M000_IG06: movzx ecx, cl test ecx, ecx jne G_M000_IG51 test eax, eax je G_M000_IG56 mov ecx, edx mov edx, eax call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this] G_M000_IG07: test eax, eax jne SHORT G_M000_IG11 G_M000_IG08: xor eax, eax G_M000_IG09: movzx eax, al mov ecx, bword ptr [ebp-78H] mov dword ptr [esi+0CH], ecx G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG11: mov ecx, gword ptr [edi] push bword ptr [ebp+14H] movzx edx, byte ptr [ebp+18H] call [System.Reflection.CustomAttribute:AttributeUsageCheck(System.RuntimeType,bool,byref):bool] test eax, eax je SHORT G_M000_IG08 G_M000_IG12: mov ecx, gword ptr [edi] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG57 call System.RuntimeTypeHandle:GetAttributes(System.RuntimeType):int G_M000_IG13: test eax, 0x4000 jne SHORT G_M000_IG08 mov edx, dword ptr [ebp-48H] mov ecx, edx and ecx, 0xD1FFAB1E cmp ecx, 0xD1FFAB1E jne G_M000_IG33 G_M000_IG14: mov ecx, dword ptr [ebx+04H] lea eax, [ebp-30H] push eax mov dword ptr [ebp-48H], edx call System.Reflection.MetadataImport:_GetMemberRefProps(int,int,byref) mov edx, dword ptr [ebp-30H] mov dword ptr [ebp-28H], edx mov edx, dword ptr [ebp-2CH] mov dword ptr [ebp-24H], edx G_M000_IG15: mov ecx, dword ptr [ebp-28H] mov eax, dword ptr [ebp-24H] mov dword ptr [ebp-4CH], eax test ecx, ecx jle G_M000_IG58 test byte ptr [eax], 5 setne dl mov eax, bword ptr [ebp+08H] mov byte ptr [eax], dl cmp ecx, 1 jle G_M000_IG59 mov eax, dword ptr [ebp-4CH] cmp byte ptr [eax+01H], 0 je SHORT G_M000_IG19 G_M000_IG16: mov ecx, gword ptr [edi] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG60 call [System.RuntimeType:get_IsGenericType():bool:this] G_M000_IG17: test eax, eax jne G_M000_IG61 mov ecx, gword ptr [ebp+24H] mov gword ptr [ebp-18H], ecx push 0 push 0 lea ecx, [ebp-18H] mov edx, dword ptr [ebp-48H] call [System.ModuleHandle:ResolveMethodHandle(int,System.RuntimeTypeHandle[],System.RuntimeTypeHandle[]):System.RuntimeMethodHandle:this] G_M000_IG18: mov edx, bword ptr [ebp+0CH] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG19: xor edx, edx mov ecx, dword ptr [ebp+20H] mov eax, ecx and eax, 0xD1FFAB1E cmp eax, 0xD1FFAB1E je SHORT G_M000_IG24 G_M000_IG20: cmp eax, 0xD1FFAB1E je SHORT G_M000_IG23 G_M000_IG21: cmp eax, 0xD1FFAB1E je SHORT G_M000_IG23 G_M000_IG22: cmp eax, 0xD1FFAB1E je SHORT G_M000_IG23 cmp eax, 0xD1FFAB1E jne G_M000_IG43 G_M000_IG23: mov edx, dword ptr [ebx+04H] lea eax, [ebp-3CH] push eax mov ecx, edx mov edx, dword ptr [ebp+20H] call System.Reflection.MetadataImport:_GetParentToken(int,int,byref) mov edx, dword ptr [ebp-3CH] jmp SHORT G_M000_IG25 G_M000_IG24: mov edx, dword ptr [ebx+04H] lea eax, [ebp-34H] push eax mov ecx, edx mov edx, dword ptr [ebp+20H] call System.Reflection.MetadataImport:_GetParentToken(int,int,byref) mov edx, dword ptr [ebp-34H] mov ecx, dword ptr [ebx+04H] lea eax, [ebp-38H] push eax call System.Reflection.MetadataImport:_GetParentToken(int,int,byref) mov edx, dword ptr [ebp-38H] G_M000_IG25: mov ecx, edx and ecx, 0xD1FFAB1E cmp ecx, 0xD1FFAB1E je G_M000_IG48 G_M000_IG26: xor ebx, ebx G_M000_IG27: mov gword ptr [ebp-10H], ebx mov ecx, gword ptr [edi] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG63 G_M000_IG28: mov gword ptr [ebp-14H], ecx lea edi, [ebp-14H] mov eax, gword ptr [ebp-14H] test eax, eax je SHORT G_M000_IG32 G_M000_IG29: mov ebx, dword ptr [eax+0CH] G_M000_IG30: mov eax, bword ptr [ebp+0CH] mov ecx, gword ptr [eax] test ecx, ecx jne G_M000_IG42 G_M000_IG31: jmp G_M000_IG49 G_M000_IG32: xor ebx, ebx jmp SHORT G_M000_IG30 G_M000_IG33: mov dword ptr [ebp-48H], edx push edx lea edx, [ebp-28H] mov ecx, ebx call [System.Reflection.MetadataImport:GetSigOfMethodDef(int):System.Reflection.ConstArray:this] jmp G_M000_IG15 G_M000_IG34: mov dword ptr [ebp-50H], edi mov dword ptr [ebp-54H], ebx mov dword ptr [ebp-1CH], edx G_M000_IG35: lea ecx, [ebp-10H] mov ebx, gword ptr [ebp-10H] test ebx, ebx je G_M000_IG45 G_M000_IG36: mov ebx, dword ptr [ebx+0CH] G_M000_IG37: lea edi, [ebp+24H] mov edx, gword ptr [ebp+24H] mov edx, dword ptr [edx+10H] push edx push edi push ebx push ecx push dword ptr [ebp-1CH] push dword ptr [ebp-54H] push dword ptr [ebp-50H] mov dword ptr [ebp-74H], 0xD1FFAB1E mov edx, esp mov dword ptr [ebp-70H], edx lea edx, G_M000_IG40 mov dword ptr [ebp-6CH], edx mov byte ptr [esi+08H], 0 G_M000_IG38: mov eax, 0xD1FFAB1E G_M000_IG39: call eax ; System.RuntimeMethodHandle:IsCAVisibleFromDecoratedType(System.Runtime.CompilerServices.QCallTypeHandle,int,System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.QCallModule):int G_M000_IG40: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG41 call CORINFO_HELP_STOP_FOR_GC G_M000_IG41: xor eax, eax mov dword ptr [ebp-6CH], eax xor eax, eax test edi, edi setne al mov edi, bword ptr [ebp+0CH] mov ecx, gword ptr [edi] jmp G_M000_IG09 G_M000_IG42: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG50 mov edx, dword ptr [ecx+28H] jmp G_M000_IG34 G_M000_IG43: cmp eax, 0xD1FFAB1E jne SHORT G_M000_IG46 G_M000_IG44: jmp SHORT G_M000_IG47 G_M000_IG45: xor ebx, ebx jmp SHORT G_M000_IG37 G_M000_IG46: cmp eax, 0xD1FFAB1E je G_M000_IG62 jmp G_M000_IG25 G_M000_IG47: mov ecx, dword ptr [ebp+20H] mov edx, ecx jmp G_M000_IG25 G_M000_IG48: mov ecx, gword ptr [ebp+24H] cmp byte ptr [ecx], cl mov gword ptr [ebp-18H], ecx push 0 push 0 lea ecx, [ebp-18H] call [System.ModuleHandle:ResolveTypeHandle(int,System.RuntimeTypeHandle[],System.RuntimeTypeHandle[]):System.RuntimeTypeHandle:this] mov ebx, eax jmp G_M000_IG27 G_M000_IG49: xor edx, edx mov dword ptr [ebp-1CH], edx mov dword ptr [ebp-50H], edi mov dword ptr [ebp-54H], ebx jmp G_M000_IG35 G_M000_IG50: call [System.IRuntimeMethodInfo:get_Value():int:this] mov edx, eax jmp G_M000_IG34 G_M000_IG51: test eax, eax mov gword ptr [ebp+1CH], edx je SHORT G_M000_IG55 G_M000_IG52: mov gword ptr [ebp-60H], eax mov ecx, eax cmp dword ptr [ecx], ecx call [System.RuntimeType:get_IsConstructedGenericType():bool:this] test eax, eax je SHORT G_M000_IG53 mov ecx, gword ptr [ebp-60H] call [System.RuntimeType:GetGenericTypeDefinition():System.Type:this] cmp eax, gword ptr [ebp+1CH] jne SHORT G_M000_IG53 mov eax, 1 jmp G_M000_IG07 G_M000_IG53: mov ecx, gword ptr [ebp-60H] call [System.RuntimeType:GetBaseType():System.RuntimeType:this] mov ecx, eax test ecx, ecx je SHORT G_M000_IG54 mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx je SHORT G_M000_IG54 mov ecx, edx mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG54: test ecx, ecx mov eax, ecx jne SHORT G_M000_IG52 G_M000_IG55: xor eax, eax jmp G_M000_IG07 G_M000_IG56: xor eax, eax jmp G_M000_IG07 G_M000_IG57: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+40H] call [eax+0CH]System.Type:GetAttributeFlagsImpl():int:this jmp G_M000_IG13 G_M000_IG58: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov ecx, edi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, edi call CORINFO_HELP_THROW G_M000_IG59: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax mov ecx, ebx call [System.IndexOutOfRangeException:.ctor():this] mov ecx, ebx call CORINFO_HELP_THROW G_M000_IG60: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+38H] call [eax+04H]System.Type:get_IsGenericType():bool:this jmp G_M000_IG17 G_M000_IG61: mov eax, gword ptr [ebp+24H] mov gword ptr [ebp-5CH], eax mov ecx, gword ptr [edi] mov edx, dword ptr [ecx] mov edx, dword ptr [edx+3CH] call [edx+10H]System.Type:get_GenericTypeArguments():System.Type[]:this push eax push 0 mov edx, dword ptr [ebp-48H] mov ecx, gword ptr [ebp-5CH] cmp dword ptr [ecx], ecx call [System.Reflection.RuntimeModule:ResolveMethod(int,System.Type[],System.Type[]):System.Reflection.MethodBase:this] mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+34H] call [eax+1CH]System.Reflection.MethodBase:get_MethodHandle():System.RuntimeMethodHandle:this jmp G_M000_IG18 G_M000_IG62: mov edx, dword ptr [ebx+04H] lea eax, [ebp-40H] push eax mov ecx, edx mov edx, dword ptr [ebp+20H] call System.Reflection.MetadataImport:_GetParentToken(int,int,byref) mov edx, dword ptr [ebp-40H] mov ecx, edx and ecx, 0xD1FFAB1E cmp ecx, 0xD1FFAB1E jne G_M000_IG25 mov ecx, dword ptr [ebx+04H] lea eax, [ebp-44H] push eax call System.Reflection.MetadataImport:_GetParentToken(int,int,byref) mov edx, dword ptr [ebp-44H] jmp G_M000_IG25 G_M000_IG63: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+54H] call [eax+04H]System.Type:get_TypeHandle():System.RuntimeTypeHandle:this mov ecx, eax jmp G_M000_IG28 ; Total bytes of code 1155 842: JIT compiled System.Reflection.CustomAttribute:FilterCustomAttributeRecord(System.Reflection.MetadataToken,byref,System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.RuntimeType,bool,byref,byref,byref,byref) [Tier1 with Static PGO, IL size=509, code size=1155] ; Assembly listing for method System.Reflection.RuntimeModule:ResolveType(int,System.Type[],System.Type[]):System.Type:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 225315 ; 0 inlinees with PGO data; 11 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-24H], eax mov dword ptr [ebp-18H], eax mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, edi cmp ebx, 0xD1FFAB1E je G_M000_IG10 mov ecx, edi and ecx, 0xD1FFAB1E cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG04 G_M000_IG03: cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG04 cmp ecx, 0xD1FFAB1E jne SHORT G_M000_IG09 G_M000_IG04: xor ebx, ebx xor eax, eax mov ecx, gword ptr [ebp+0CH] test ecx, ecx jne SHORT G_M000_IG08 G_M000_IG05: mov edx, gword ptr [ebp+08H] test edx, edx jne SHORT G_M000_IG07 G_M000_IG06: mov edx, esi cmp byte ptr [edx], dl mov gword ptr [ebp-24H], esi push ebx push eax lea ecx, [ebp-24H] mov edx, edi call [System.ModuleHandle:ResolveTypeHandle(int,System.RuntimeTypeHandle[],System.RuntimeTypeHandle[]):System.RuntimeTypeHandle:this] jmp G_M000_IG12 G_M000_IG07: cmp dword ptr [edx+04H], 0 je SHORT G_M000_IG06 mov ecx, edx call [System.Reflection.RuntimeModule:ConvertToTypeHandleArray(System.Type[]):System.RuntimeTypeHandle[]] jmp SHORT G_M000_IG06 G_M000_IG08: cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG05 mov gword ptr [ebp-28H], eax call [System.Reflection.RuntimeModule:ConvertToTypeHandleArray(System.Type[]):System.RuntimeTypeHandle[]] mov ebx, eax mov eax, gword ptr [ebp-28H] jmp SHORT G_M000_IG05 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax call [System.SR:get_Argument_ResolveType():System.String] mov gword ptr [ebp-2CH], eax mov dword ptr [edi+04H], ebx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax push esi mov edx, edi mov ecx, gword ptr [ebp-2CH] call [System.SR:Format(System.String,System.Object,System.Object):System.String] mov esi, eax mov ecx, 0x198A5 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, esi mov ecx, ebx call [System.ArgumentException:.ctor(System.String,System.String):this] mov ecx, ebx call CORINFO_HELP_THROW G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Argument_ResolveModuleType():System.String] mov ebx, eax mov dword ptr [esi+04H], 0xD1FFAB1E mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov edx, esi mov ecx, ebx call [System.SR:Format(System.String,System.Object):System.String] mov esi, eax mov ecx, 0x198A5 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, esi mov ecx, edi call [System.ArgumentException:.ctor(System.String,System.String):this] mov ecx, edi call CORINFO_HELP_THROW int3 G_M000_IG11: mov esi, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax call [System.SR:get_Argument_BadImageFormatExceptionResolve():System.String] mov edx, eax push esi mov ecx, edi call [System.ArgumentException:.ctor(System.String,System.Exception):this] mov ecx, edi call CORINFO_HELP_THROW int3 G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 365 843: JIT compiled System.Reflection.RuntimeModule:ResolveType(int,System.Type[],System.Type[]) [Tier1 with Static PGO, IL size=179, code size=365] ; Assembly listing for method System.Reflection.CustomAttribute:MatchesTypeFilter(System.RuntimeType,System.RuntimeType):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 213088 ; 1 inlinees with PGO data; 7 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, edx mov edx, ecx G_M000_IG02: mov ecx, dword ptr [esi+0CH] test cl, 2 jne SHORT G_M000_IG03 mov ecx, dword ptr [ecx] and ecx, 0xD1FFAB1E cmp ecx, 48 sete cl movzx ecx, cl jmp SHORT G_M000_IG04 G_M000_IG03: xor ecx, ecx G_M000_IG04: movzx ecx, cl test ecx, ecx jne SHORT G_M000_IG07 test edx, edx je SHORT G_M000_IG14 G_M000_IG05: mov ecx, esi call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this] G_M000_IG06: pop esi pop edi pop ebp ret G_M000_IG07: mov edi, edx test edi, edi je SHORT G_M000_IG12 G_M000_IG08: mov ecx, edi cmp dword ptr [ecx], ecx call [System.RuntimeType:get_IsConstructedGenericType():bool:this] test eax, eax je SHORT G_M000_IG10 mov ecx, edi call [System.RuntimeType:GetGenericTypeDefinition():System.Type:this] cmp eax, esi jne SHORT G_M000_IG10 mov eax, 1 G_M000_IG09: pop esi pop edi pop ebp ret G_M000_IG10: mov ecx, edi call [System.RuntimeType:GetBaseType():System.RuntimeType:this] mov edi, eax test edi, edi je SHORT G_M000_IG11 mov ecx, 0xD1FFAB1E cmp dword ptr [edi], ecx je SHORT G_M000_IG11 mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG11: test edi, edi jne SHORT G_M000_IG08 G_M000_IG12: xor eax, eax G_M000_IG13: pop esi pop edi pop ebp ret G_M000_IG14: xor eax, eax jmp SHORT G_M000_IG06 ; Total bytes of code 148 844: JIT compiled System.Reflection.CustomAttribute:MatchesTypeFilter(System.RuntimeType,System.RuntimeType) [Tier1 with Static PGO, IL size=67, code size=148] ; Assembly listing for method System.RuntimeType:get_IsGenericTypeDefinition():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, dword ptr [ecx+0CH] test al, 2 jne SHORT G_M000_IG04 G_M000_IG03: mov eax, dword ptr [eax] and eax, 0xD1FFAB1E cmp eax, 48 sete al movzx eax, al jmp SHORT G_M000_IG05 G_M000_IG04: xor eax, eax G_M000_IG05: movzx eax, al G_M000_IG06: pop ebp ret ; Total bytes of code 35 845: JIT compiled System.RuntimeType:get_IsGenericTypeDefinition() [Tier1, IL size=40, code size=35] ; Assembly listing for method System.RuntimeType:IsAssignableFrom(System.Reflection.TypeInfo):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 213050 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: test edx, edx je SHORT G_M000_IG05 cmp dword ptr [edx], 0xD1FFAB1E jne SHORT G_M000_IG07 G_M000_IG03: mov ecx, esi cmp dword ptr [ecx], ecx call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this] G_M000_IG04: pop esi pop ebp ret G_M000_IG05: xor eax, eax G_M000_IG06: pop esi pop ebp ret G_M000_IG07: mov ecx, edx mov eax, dword ptr [edx] mov eax, dword ptr [eax+60H] call [eax+18H]System.Reflection.TypeInfo:AsType():System.Type:this mov edx, eax jmp SHORT G_M000_IG03 ; Total bytes of code 50 846: JIT compiled System.RuntimeType:IsAssignableFrom(System.Reflection.TypeInfo) [Tier1 with Static PGO, IL size=24, code size=50] ; Assembly listing for method System.RuntimeType:IsAssignableFrom(System.Type):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 265149 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov ebx, ecx mov esi, edx G_M000_IG02: test esi, esi je G_M000_IG15 cmp esi, ebx je SHORT G_M000_IG06 G_M000_IG03: cmp dword ptr [esi], 0xD1FFAB1E jne SHORT G_M000_IG10 mov ecx, esi test ecx, ecx je SHORT G_M000_IG11 G_M000_IG04: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG11 G_M000_IG05: mov edx, ebx call System.RuntimeTypeHandle:CanCastTo(System.RuntimeType,System.RuntimeType):bool jmp SHORT G_M000_IG08 G_M000_IG06: mov eax, 1 G_M000_IG07: pop ebx pop esi pop edi pop ebp ret G_M000_IG08: movzx eax, al G_M000_IG09: pop ebx pop esi pop edi pop ebp ret G_M000_IG10: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+34H] call [eax]System.Type:get_UnderlyingSystemType():System.Type:this mov ecx, eax test ecx, ecx jne SHORT G_M000_IG04 G_M000_IG11: mov edx, esi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG15 mov ecx, esi mov edx, ebx mov eax, dword ptr [esi] mov eax, dword ptr [eax+60H] call [eax+0CH]System.Type:IsSubclassOf(System.Type):bool:this test eax, eax jne SHORT G_M000_IG06 mov ecx, ebx call [System.Type:get_IsInterface():bool:this] test eax, eax je SHORT G_M000_IG12 mov ecx, esi mov edx, ebx call [System.Type:ImplementInterface(System.Type):bool:this] jmp SHORT G_M000_IG08 G_M000_IG12: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:IsGenericVariable(System.RuntimeType):bool test eax, eax je SHORT G_M000_IG15 mov ecx, ebx call [System.RuntimeType:GetGenericParameterConstraints():System.Type[]:this] mov edi, eax xor ebx, ebx jmp SHORT G_M000_IG14 G_M000_IG13: mov ecx, gword ptr [edi+4*ebx+08H] mov edx, esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+60H] call [eax+10H]System.Type:IsAssignableFrom(System.Type):bool:this test eax, eax je SHORT G_M000_IG15 inc ebx G_M000_IG14: cmp dword ptr [edi+04H], ebx jg SHORT G_M000_IG13 jmp G_M000_IG06 G_M000_IG15: xor eax, eax G_M000_IG16: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 206 847: JIT compiled System.RuntimeType:IsAssignableFrom(System.Type) [Tier1 with Static PGO, IL size=115, code size=206] ; Assembly listing for method System.RuntimeType:get_IsGenericType():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, dword ptr [ecx+0CH] test al, 2 jne SHORT G_M000_IG06 G_M000_IG03: mov eax, dword ptr [eax] test eax, 0xD1FFAB1E jne SHORT G_M000_IG04 test al, 48 setne al movzx eax, al jmp SHORT G_M000_IG05 G_M000_IG04: xor eax, eax G_M000_IG05: jmp SHORT G_M000_IG07 G_M000_IG06: xor eax, eax G_M000_IG07: movzx eax, al G_M000_IG08: pop ebp ret ; Total bytes of code 40 848: JIT compiled System.RuntimeType:get_IsGenericType() [Tier1, IL size=40, code size=40] ; Assembly listing for method System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 2 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx mov edi, edx G_M000_IG02: lea ecx, bword ptr [esi+10H] mov edx, dword ptr [esi+08H] mov eax, dword ptr [ecx+04H] cmp edx, eax ja SHORT G_M000_IG07 mov ecx, bword ptr [ecx] lea ecx, bword ptr [ecx+2*edx] sub eax, edx cmp dword ptr [edi+04H], eax ja SHORT G_M000_IG05 G_M000_IG03: lea edx, bword ptr [edi+08H] mov eax, dword ptr [edi+04H] add eax, eax push eax call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [edi+04H] add dword ptr [esi+08H], ecx G_M000_IG04: pop esi pop edi pop ebp ret G_M000_IG05: mov ecx, esi mov edx, edi call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this] G_M000_IG06: pop esi pop edi pop ebp ret G_M000_IG07: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 80 849: JIT compiled System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendLiteral(System.String) [Tier1, IL size=53, code size=80] ; Assembly listing for method System.String:Ctor(uint):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 2186 ; 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 mov esi, ecx G_M000_IG02: test esi, esi je SHORT G_M000_IG07 mov ecx, esi call [System.SpanHelpers:IndexOfNullCharacter(uint):int] mov ecx, eax test ecx, ecx je SHORT G_M000_IG05 G_M000_IG03: call System.String:FastAllocateString(int):System.String mov edi, eax mov ecx, dword ptr [edi+04H] lea edx, bword ptr [edi+08H] add ecx, ecx push ecx mov ecx, edx mov edx, esi call [System.Buffer:Memmove(byref,byref,uint)] mov eax, edi G_M000_IG04: pop esi pop edi pop ebp ret G_M000_IG05: mov eax, 0xD1FFAB1E G_M000_IG06: pop esi pop edi pop ebp ret G_M000_IG07: mov eax, 0xD1FFAB1E G_M000_IG08: pop esi pop edi pop ebp ret ; Total bytes of code 75 850: JIT compiled System.String:Ctor(uint) [Tier1 with Static PGO, IL size=57, code size=75] ; Assembly listing for method System.String:Ctor(System.ReadOnlySpan`1[ushort]):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 110050 ; 1 inlinees with PGO data; 2 single block inlinees; 1 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, 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 eax, 0xD1FFAB1E G_M000_IG06: pop ebx pop esi pop ebp ret 8 ; Total bytes of code 57 851: JIT compiled System.String:Ctor(System.ReadOnlySpan`1[ushort]) [Tier1 with Static PGO, IL size=55, code size=57] ; Assembly listing for method System.Type:GetRootElementType():System.Type:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 200396 ; 2 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: mov esi, ecx G_M000_IG03: cmp dword ptr [esi], 0xD1FFAB1E jne SHORT G_M000_IG15 mov ecx, esi call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 20 je SHORT G_M000_IG13 G_M000_IG04: cmp eax, 29 je SHORT G_M000_IG13 G_M000_IG05: cmp eax, 15 je SHORT G_M000_IG13 G_M000_IG06: cmp eax, 16 sete al movzx eax, al G_M000_IG07: test eax, eax jne SHORT G_M000_IG10 G_M000_IG08: mov eax, esi G_M000_IG09: pop esi pop ebp ret G_M000_IG10: cmp dword ptr [esi], 0xD1FFAB1E jne SHORT G_M000_IG14 G_M000_IG11: mov ecx, esi call System.RuntimeTypeHandle:GetElementType(System.RuntimeType):System.RuntimeType G_M000_IG12: mov esi, eax jmp SHORT G_M000_IG03 G_M000_IG13: mov eax, 1 jmp SHORT G_M000_IG07 G_M000_IG14: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this jmp SHORT G_M000_IG12 G_M000_IG15: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax]System.Type:HasElementTypeImpl():bool:this jmp SHORT G_M000_IG07 ; Total bytes of code 103 852: JIT compiled System.Type:GetRootElementType() [Tier1 with Static PGO, IL size=21, code size=103] ; Assembly listing for method System.Runtime.CompilerServices.MethodTable:get_HasInstantiation():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx] test eax, 0xD1FFAB1E jne SHORT G_M000_IG05 G_M000_IG03: test al, 48 setne al movzx eax, al G_M000_IG04: ret G_M000_IG05: xor eax, eax G_M000_IG06: ret ; Total bytes of code 21 853: JIT compiled System.Runtime.CompilerServices.MethodTable:get_HasInstantiation() [Tier1, IL size=29, code size=21] ; Assembly listing for method System.RuntimeType:get_ContainsGenericParameters():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 124413 ; 4 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: mov esi, ecx G_M000_IG03: cmp dword ptr [esi], 0xD1FFAB1E jne SHORT G_M000_IG17 mov ecx, esi call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 20 je SHORT G_M000_IG15 G_M000_IG04: cmp eax, 29 je SHORT G_M000_IG15 G_M000_IG05: cmp eax, 15 je SHORT G_M000_IG15 G_M000_IG06: cmp eax, 16 sete al movzx eax, al G_M000_IG07: test eax, eax jne SHORT G_M000_IG12 G_M000_IG08: cmp dword ptr [esi], 0xD1FFAB1E jne SHORT G_M000_IG18 G_M000_IG09: mov ecx, esi test ecx, ecx je SHORT G_M000_IG19 G_M000_IG10: call System.RuntimeTypeHandle:ContainsGenericVariables(System.RuntimeType):bool G_M000_IG11: pop esi pop ebp ret G_M000_IG12: cmp dword ptr [esi], 0xD1FFAB1E jne SHORT G_M000_IG16 G_M000_IG13: mov ecx, esi call System.RuntimeTypeHandle:GetElementType(System.RuntimeType):System.RuntimeType G_M000_IG14: mov esi, eax jmp SHORT G_M000_IG03 G_M000_IG15: mov eax, 1 jmp SHORT G_M000_IG07 G_M000_IG16: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this jmp SHORT G_M000_IG14 G_M000_IG17: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax]System.Type:HasElementTypeImpl():bool:this jmp SHORT G_M000_IG07 G_M000_IG18: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+54H] call [eax+04H]System.Type:get_TypeHandle():System.RuntimeTypeHandle:this mov ecx, eax test ecx, ecx jne SHORT G_M000_IG10 G_M000_IG19: 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 int3 ; Total bytes of code 173 854: JIT compiled System.RuntimeType:get_ContainsGenericParameters() [Tier1 with Static PGO, IL size=20, code size=173] ; Assembly listing for method System.RuntimeTypeHandle:GetTypeChecked():System.RuntimeType:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 125432 G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: mov eax, gword ptr [ecx] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: pop esi pop ebp ret G_M000_IG04: 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 int3 ; Total bytes of code 50 855: JIT compiled System.RuntimeTypeHandle:GetTypeChecked() [Tier1 with Static PGO, IL size=30, code size=50] ; Assembly listing for method System.RuntimeTypeHandle:CopyRuntimeTypeHandles(System.RuntimeTypeHandle[],System.Span`1[int]):System.ReadOnlySpan`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 77025 ; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi jne SHORT G_M000_IG12 G_M000_IG03: xor eax, eax mov dword ptr [edi], eax mov dword ptr [edi+04H], eax G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov edx, dword ptr [esi+04H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC lea edx, bword ptr [eax+08H] mov ebx, dword ptr [eax+04H] mov eax, edx jmp SHORT G_M000_IG08 G_M000_IG06: mov ebx, dword ptr [esi+04H] cmp ebx, dword ptr [ebp+0CH] jbe SHORT G_M000_IG07 call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG07: mov eax, bword ptr [ebp+08H] G_M000_IG08: mov bword ptr [ebp-14H], eax xor edx, edx jmp SHORT G_M000_IG10 G_M000_IG09: cmp edx, ebx jae SHORT G_M000_IG13 mov dword ptr [ebp-10H], edx lea ecx, bword ptr [esi+4*edx+08H] call [System.RuntimeTypeHandle:get_Value():int:this] mov ecx, bword ptr [ebp-14H] mov edx, dword ptr [ebp-10H] mov dword ptr [ecx+4*edx], eax inc edx mov bword ptr [ebp-14H], ecx G_M000_IG10: cmp dword ptr [esi+04H], edx jg SHORT G_M000_IG09 push ebx push bword ptr [ebp-14H] mov ecx, edi call [System.Span`1[int]:op_Implicit(System.Span`1[int]):System.ReadOnlySpan`1[int]] G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG12: cmp dword ptr [esi+04H], 0 je SHORT G_M000_IG03 mov eax, dword ptr [esi+04H] cmp eax, dword ptr [ebp+0CH] jle SHORT G_M000_IG06 jmp SHORT G_M000_IG05 G_M000_IG13: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 161 856: JIT compiled System.RuntimeTypeHandle:CopyRuntimeTypeHandles(System.RuntimeTypeHandle[],System.Span`1[int]) [Tier1 with Static PGO, IL size=98, code size=161] ; Assembly listing for method System.Type:get_IsInterface():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 158997 G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, ecx test eax, eax je SHORT G_M000_IG06 G_M000_IG03: cmp dword ptr [eax], 0xD1FFAB1E jne SHORT G_M000_IG06 G_M000_IG04: mov ecx, eax call System.RuntimeTypeHandle:IsInterface(System.RuntimeType):bool G_M000_IG05: pop ebp ret G_M000_IG06: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+40H] call [eax+0CH]System.Type:GetAttributeFlagsImpl():int:this test al, 32 setne al movzx eax, al G_M000_IG07: pop ebp ret ; Total bytes of code 44 857: JIT compiled System.Type:get_IsInterface() [Tier1 with Static PGO, IL size=31, code size=44] ; Assembly listing for method System.String:Equals(System.String,System.String):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 5547597 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: cmp ecx, edx je SHORT G_M000_IG10 G_M000_IG03: test ecx, ecx je SHORT G_M000_IG06 G_M000_IG04: test edx, edx je SHORT G_M000_IG06 G_M000_IG05: mov eax, dword ptr [ecx+04H] cmp eax, dword ptr [edx+04H] je SHORT G_M000_IG08 G_M000_IG06: xor eax, eax G_M000_IG07: pop ebp ret G_M000_IG08: lea eax, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] add ecx, ecx push ecx add edx, 8 mov ecx, eax call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] G_M000_IG09: pop ebp ret G_M000_IG10: mov eax, 1 G_M000_IG11: pop ebp ret ; Total bytes of code 56 858: JIT compiled System.String:Equals(System.String,System.String) [Tier1 with Static PGO, IL size=36, code size=56] ; Assembly listing for method System.ModuleHandle:ResolveMethodHandleInternal(System.Reflection.RuntimeModule,int,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int]):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 50262 ; 3 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 92 vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 xor ebx, ebx mov dword ptr [ebp-2CH], ebx mov dword ptr [ebp-18H], ebx mov gword ptr [ebp-24H], ecx mov dword ptr [ebp-28H], edx G_M000_IG02: lea edi, [ebp-64H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-50H], eax mov eax, gword ptr [ebp-24H] test eax, eax je G_M000_IG16 G_M000_IG03: xor eax, eax mov ecx, dword ptr [ebp+14H] test ecx, ecx cmovne eax, bword ptr [ebp+10H] mov bword ptr [ebp-2CH], eax xor edi, edi mov ebx, dword ptr [ebp+0CH] test ebx, ebx cmovne edi, bword ptr [ebp+08H] mov bword ptr [ebp-30H], edi lea edx, [ebp-24H] mov dword ptr [ebp-40H], edx mov edx, gword ptr [ebp-24H] mov edx, dword ptr [edx+10H] push ebx push edi push ecx push eax push dword ptr [ebp-28H] push edx push dword ptr [ebp-40H] mov dword ptr [ebp-5CH], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-58H], eax lea eax, G_M000_IG06 mov dword ptr [ebp-54H], eax mov byte ptr [esi+08H], 0 G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: call eax ; System.ModuleHandle:ResolveMethod(System.Runtime.CompilerServices.QCallModule,int,uint,int,uint,int):int G_M000_IG06: mov edi, eax 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-54H], eax mov eax, edi G_M000_IG08: xor edx, edx mov bword ptr [ebp-2CH], edx G_M000_IG09: mov bword ptr [ebp-30H], edx jmp G_M000_IG14 G_M000_IG10: xor ecx, ecx mov bword ptr [ebp-2CH], ecx G_M000_IG11: mov bword ptr [ebp-30H], ecx pop eax jmp eax G_M000_IG12: lea ecx, [ebp-38H] mov edx, gword ptr [ebp-24H] call [System.ModuleHandle:GetMetadataImport(System.Reflection.RuntimeModule):System.Reflection.MetadataImport] lea ecx, [ebp-38H] mov edx, dword ptr [ebp-28H] call [System.Reflection.MetadataImport:IsValidToken(int):bool:this] test eax, eax jne G_M000_IG13 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Argument_InvalidToken():System.String] mov edi, eax mov edx, dword ptr [ebp-28H] mov dword ptr [esi+04H], edx lea ecx, [ebp-3CH] mov edx, gword ptr [ebp-24H] call [System.ModuleHandle:.ctor(System.Reflection.RuntimeModule):this] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax lea edx, bword ptr [ebx+04H] mov ecx, gword ptr [ebp-3CH] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-44H], eax mov ecx, 0x151B mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-48H], 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-48H] mov ecx, gword ptr [ebp-44H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, gword ptr [ebp-44H] call CORINFO_HELP_THROW G_M000_IG13: call CORINFO_HELP_RETHROW int3 G_M000_IG14: mov edx, bword ptr [ebp-60H] mov dword ptr [esi+0CH], edx G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG16: call [System.ModuleHandle:g__ThrowInvalidOperationException|11_0()] int3 ; Total bytes of code 375 859: JIT compiled System.ModuleHandle:ResolveMethodHandleInternal(System.Reflection.RuntimeModule,int,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int]) [Tier1 with Static PGO, IL size=130, code size=375] ; Assembly listing for method System.SpanHelpers:SequenceEqual(byref,byref,uint):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1043093 ; 0 inlinees with PGO data; 12 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, dword ptr [ebp+08H] G_M000_IG02: cmp esi, 4 jb SHORT G_M000_IG11 G_M000_IG03: cmp ecx, edx je G_M000_IG22 cmp esi, 32 jae SHORT G_M000_IG06 G_M000_IG04: cmp esi, 16 jb SHORT G_M000_IG16 G_M000_IG05: jmp G_M000_IG24 G_M000_IG06: xor eax, eax add esi, -32 je SHORT G_M000_IG09 G_M000_IG07: vmovups ymm0, ymmword ptr [ecx+eax] vpcmpeqb ymm0, ymm0, ymmword ptr [edx+eax] vpmovmskb edi, ymm0 cmp edi, -1 jne SHORT G_M000_IG20 G_M000_IG08: add eax, 32 cmp esi, eax ja SHORT G_M000_IG07 G_M000_IG09: vmovups ymm0, ymmword ptr [ecx+esi] vpcmpeqb ymm0, ymm0, ymmword ptr [edx+esi] vpmovmskb ecx, ymm0 cmp ecx, -1 jne SHORT G_M000_IG20 G_M000_IG10: jmp SHORT G_M000_IG22 G_M000_IG11: xor eax, eax mov edi, esi and edi, 2 je SHORT G_M000_IG13 G_M000_IG12: movzx eax, word ptr [ecx] movzx ebx, word ptr [edx] sub eax, ebx G_M000_IG13: test esi, 1 jne G_M000_IG29 G_M000_IG14: test eax, eax sete al movzx eax, al G_M000_IG15: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG16: xor eax, eax add esi, -4 je SHORT G_M000_IG19 G_M000_IG17: mov edi, dword ptr [ecx+eax] cmp edi, dword ptr [edx+eax] jne SHORT G_M000_IG20 G_M000_IG18: add eax, 4 cmp esi, eax ja SHORT G_M000_IG17 G_M000_IG19: mov eax, dword ptr [ecx+esi] cmp eax, dword ptr [edx+esi] sete al movzx eax, al jmp SHORT G_M000_IG15 G_M000_IG20: xor eax, eax G_M000_IG21: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG22: mov eax, 1 G_M000_IG23: vzeroupper pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG24: xor eax, eax add esi, -16 je SHORT G_M000_IG27 G_M000_IG25: vmovups xmm0, xmmword ptr [ecx+eax] vpcmpeqb xmm0, xmm0, xmmword ptr [edx+eax] vpmovmskb edi, xmm0 cmp edi, 0xFFFF jne SHORT G_M000_IG20 G_M000_IG26: add eax, 16 cmp esi, eax ja SHORT G_M000_IG25 G_M000_IG27: vmovups xmm0, xmmword ptr [ecx+esi] vpcmpeqb xmm0, xmm0, xmmword ptr [edx+esi] vpmovmskb eax, xmm0 cmp eax, 0xFFFF jne SHORT G_M000_IG20 G_M000_IG28: jmp SHORT G_M000_IG22 G_M000_IG29: movzx ecx, byte ptr [ecx+edi] movzx edx, byte ptr [edx+edi] sub ecx, edx or ecx, eax mov eax, ecx jmp G_M000_IG14 ; Total bytes of code 282 860: JIT compiled System.SpanHelpers:SequenceEqual(byref,byref,uint) [Tier1 with Static PGO, IL size=481, code size=282] ; Assembly listing for method System.RuntimeType:GetBaseType():System.RuntimeType:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 97637 ; 1 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, 20 mov ebx, ecx G_M000_IG02: mov ecx, ebx test ecx, ecx je SHORT G_M000_IG08 mov ecx, ebx call System.RuntimeTypeHandle:IsInterface(System.RuntimeType):bool test eax, eax jne SHORT G_M000_IG06 G_M000_IG03: mov ecx, ebx call System.RuntimeTypeHandle:IsGenericVariable(System.RuntimeType):bool test eax, eax jne SHORT G_M000_IG09 G_M000_IG04: mov ecx, ebx call System.RuntimeTypeHandle:GetBaseType(System.RuntimeType):System.RuntimeType G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG06: xor eax, eax G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG08: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetAttributes(System.RuntimeType):int test al, 32 je SHORT G_M000_IG03 jmp SHORT G_M000_IG06 G_M000_IG09: mov ecx, ebx call [System.RuntimeType:GetGenericParameterConstraints():System.Type[]:this] mov esi, eax mov edi, 0xD1FFAB1E xor eax, eax mov edx, dword ptr [esi+04H] mov dword ptr [ebp-14H], edx test edx, edx jg SHORT G_M000_IG13 G_M000_IG10: cmp edi, 0xD1FFAB1E jne SHORT G_M000_IG11 mov ecx, ebx call [System.RuntimeType:get_GenericParameterAttributes():int:this] mov ecx, 0xD1FFAB1E test al, 8 cmovne edi, ecx G_M000_IG11: mov eax, edi G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG13: mov dword ptr [ebp-10H], eax mov ecx, gword ptr [esi+4*eax+08H] mov gword ptr [ebp-1CH], ecx mov gword ptr [ebp-20H], ecx test ecx, ecx je SHORT G_M000_IG14 mov ecx, 0xD1FFAB1E mov eax, gword ptr [ebp-20H] cmp dword ptr [eax], ecx je SHORT G_M000_IG14 mov edx, gword ptr [ebp-1CH] call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG14: mov ecx, gword ptr [ebp-20H] mov gword ptr [ebp-18H], ecx cmp dword ptr [ecx], ecx call [System.Type:get_IsInterface():bool:this] test eax, eax jne SHORT G_M000_IG16 mov ecx, gword ptr [ebp-18H] call System.RuntimeTypeHandle:IsGenericVariable(System.RuntimeType):bool test eax, eax je SHORT G_M000_IG15 mov ecx, gword ptr [ebp-18H] call [System.RuntimeType:get_GenericParameterAttributes():int:this] and eax, 28 mov edx, eax and edx, 4 and eax, 8 or eax, edx je SHORT G_M000_IG16 G_M000_IG15: mov edi, gword ptr [ebp-18H] G_M000_IG16: mov eax, dword ptr [ebp-10H] inc eax mov edx, dword ptr [ebp-14H] cmp edx, eax jg SHORT G_M000_IG13 jmp G_M000_IG10 ; Total bytes of code 254 861: JIT compiled System.RuntimeType:GetBaseType() [Tier1 with Static PGO, IL size=140, code size=254] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:IsInstanceOfInterface(uint,System.Object):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1508810 ; 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 G_M000_IG02: test edx, edx je SHORT G_M000_IG15 G_M000_IG03: mov eax, dword ptr [edx] movzx esi, word ptr [eax+0EH] test esi, esi je SHORT G_M000_IG13 G_M000_IG04: mov edi, dword ptr [eax+24H] cmp esi, 4 jl SHORT G_M000_IG11 G_M000_IG05: cmp dword ptr [edi], ecx je SHORT G_M000_IG15 G_M000_IG06: cmp dword ptr [edi+04H], ecx je SHORT G_M000_IG15 G_M000_IG07: cmp dword ptr [edi+08H], ecx je SHORT G_M000_IG15 G_M000_IG08: cmp dword ptr [edi+0CH], ecx je SHORT G_M000_IG15 G_M000_IG09: add edi, 16 add esi, -4 cmp esi, 4 jge SHORT G_M000_IG05 G_M000_IG10: test esi, esi je SHORT G_M000_IG13 G_M000_IG11: cmp dword ptr [edi], ecx je SHORT G_M000_IG15 G_M000_IG12: add edi, 4 dec esi test esi, esi jg SHORT G_M000_IG11 G_M000_IG13: test dword ptr [eax], 0xD1FFAB1E jne SHORT G_M000_IG17 G_M000_IG14: xor edx, edx G_M000_IG15: mov eax, edx G_M000_IG16: pop esi pop edi pop ebp ret G_M000_IG17: call [System.Runtime.CompilerServices.CastHelpers:IsInstance_Helper(uint,System.Object):System.Object] G_M000_IG18: pop esi pop edi pop ebp ret ; Total bytes of code 99 862: JIT compiled System.Runtime.CompilerServices.CastHelpers:IsInstanceOfInterface(uint,System.Object) [Tier1 with Static PGO, IL size=152, code size=99] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 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,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-4CH], eax mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+28H] 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 gword ptr [ebp-4CH], eax 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+08H], 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+2CH] 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+0CH] 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] lea edx, bword ptr [eax+04H] mov edi, gword ptr [ebp+0CH] call CORINFO_HELP_CHECKED_ASSIGN_REF_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+14H] 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,System.__Canon]: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+08H], eax mov eax, bword ptr [ebp-50H] mov eax, dword ptr [eax] dec eax mov dword ptr [ecx+0CH], eax mov edi, gword ptr [ebp-48H] mov edx, ecx call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI lea edx, bword ptr [ecx+04H] mov edi, gword ptr [ebp+0CH] call CORINFO_HELP_CHECKED_ASSIGN_REF_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,System.__Canon]: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+30H] 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 707 863: JIT compiled System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte) [Tier1, IL size=569, code size=707] ; Assembly listing for method System.Object:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: ret ; Total bytes of code 1 864: JIT compiled System.Object:.ctor() [Tier1, IL size=1, code size=1] ; Assembly listing for method System.RuntimeType:IsSubclassOf(System.Type):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 49285 ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: test edx, edx je SHORT G_M000_IG15 mov edi, edx cmp dword ptr [edi], 0xD1FFAB1E jne SHORT G_M000_IG10 mov ecx, esi call [System.RuntimeType:GetBaseType():System.RuntimeType:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG03: cmp eax, edi je SHORT G_M000_IG08 G_M000_IG04: mov ecx, eax cmp dword ptr [ecx], ecx call [System.RuntimeType:GetBaseType():System.RuntimeType:this] test eax, eax jne SHORT G_M000_IG03 G_M000_IG05: cmp edi, 0xD1FFAB1E je SHORT G_M000_IG12 G_M000_IG06: xor eax, eax G_M000_IG07: pop esi pop edi pop ebp ret G_M000_IG08: mov eax, 1 G_M000_IG09: pop esi pop edi pop ebp ret G_M000_IG10: xor eax, eax G_M000_IG11: pop esi pop edi pop ebp ret G_M000_IG12: cmp esi, 0xD1FFAB1E je SHORT G_M000_IG06 G_M000_IG13: mov eax, 1 G_M000_IG14: pop esi pop edi pop ebp ret G_M000_IG15: mov ecx, 691 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 ; Total bytes of code 121 865: JIT compiled System.RuntimeType:IsSubclassOf(System.Type) [Tier1 with Static PGO, IL size=91, code size=121] ; Assembly listing for method System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:GetHashCode(System.__Canon):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match 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_IG05 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 jne SHORT G_M000_IG05 xor eax, eax G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: mov ecx, gword ptr [ecx] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 57 866: JIT compiled System.Collections.Generic.ObjectEqualityComparer`1[System.__Canon]:GetHashCode(System.__Canon) [Tier1, IL size=49, code size=57] ; Assembly listing for method System.Object:GetHashCode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int G_M000_IG03: ret ; Total bytes of code 6 867: JIT compiled System.Object:GetHashCode() [Tier1, IL size=7, code size=6] ; Assembly listing for method System.Collections.HashHelpers:GetPrime(int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 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 868: JIT compiled System.Collections.HashHelpers:GetPrime(int) [Tier1, IL size=93, code size=150] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache:GetMemberCache[System.__Canon](byref):System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 98744 ; 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 eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov edi, ecx mov esi, edx mov ecx, dword ptr [ebp+08H] G_M000_IG02: mov eax, gword ptr [esi] test eax, eax jne SHORT G_M000_IG07 G_M000_IG03: mov edx, dword ptr [ecx+0CH] mov edx, dword ptr [edx+0CH] test edx, edx je SHORT G_M000_IG05 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov edx, eax G_M000_IG06: mov ecx, edx call CORINFO_HELP_NEWSFAST mov ebx, eax lea edx, bword ptr [ebx+08H] call CORINFO_HELP_ASSIGN_REF_EDI push 0 mov ecx, esi mov edx, ebx call System.Threading.Interlocked:CompareExchange(byref,System.Object,System.Object):System.Object test eax, eax cmove eax, ebx G_M000_IG07: pop ecx pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 91 869: JIT compiled System.RuntimeType+RuntimeTypeCache:GetMemberCache[System.__Canon](byref) [Tier1 with Static PGO, IL size=29, code size=91] ; Assembly listing for method System.Text.Unicode.Utf8Utility:TranscodeToUtf16(uint,int,uint,int,byref,byref):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 195806 ; 17 inlinees with PGO data; 46 single block inlinees; 9 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 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:WidenAsciiToUtf16(uint,uint,uint):uint] add esi, eax lea edi, [edi+2*eax] mov edx, dword ptr [ebp-10H] cmp eax, edx jne G_M000_IG49 G_M000_IG03: 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: mov eax, ecx and eax, 0xD1FFAB1E add eax, 0xD1FFAB1E cmp eax, 0xD1FFAB1E ja G_M000_IG10 cmp ebx, 2 jl G_M000_IG40 G_M000_IG06: mov eax, ecx and eax, 0xD1FFAB1E shr eax, 8 and ecx, 0xD1FFAB1E shl ecx, 6 or eax, ecx mov dword ptr [edi], eax add esi, 4 add edi, 4 add ebx, -2 cmp esi, edx ja G_M000_IG40 G_M000_IG07: mov ecx, dword ptr [esi] mov eax, ecx and eax, 0xC0FF add eax, -0x80C2 cmp eax, 29 ja G_M000_IG52 jmp SHORT G_M000_IG05 G_M000_IG08: test ecx, 0x200F je G_M000_IG75 lea eax, [ecx-200DH] test eax, 0x200F je G_M000_IG75 test ebx, ebx je G_M000_IG70 lea eax, [ecx+D1FFAB1EH] test eax, 0xD1FFAB1E jne G_M000_IG25 G_M000_IG09: jmp G_M000_IG18 G_M000_IG10: mov eax, ecx shr eax, 8 movzx eax, al mov dword ptr [ebp-90H], eax movzx eax, cl shl eax, 6 mov edx, dword ptr [ebp-90H] lea edx, [edx+eax-3080H] test ecx, 0xD1FFAB1E jne G_M000_IG76 test ecx, ecx jl SHORT G_M000_IG13 cmp ebx, 3 jl SHORT G_M000_IG12 G_M000_IG11: mov word ptr [edi], dx shr ecx, 16 movzx edx, cl mov word ptr [edi+02H], dx shr ecx, 8 mov word ptr [edi+04H], cx add esi, 4 add edi, 6 add ebx, -3 jmp G_M000_IG39 G_M000_IG12: mov edx, dword ptr [ebp-14H] jmp G_M000_IG40 G_M000_IG13: cmp ebx, 2 jl SHORT G_M000_IG15 mov word ptr [edi], dx shr ecx, 16 movzx eax, cl mov word ptr [edi+02H], ax add esi, 3 add edi, 4 add ebx, -2 mov edx, dword ptr [ebp-14H] cmp edx, esi jb G_M000_IG40 G_M000_IG14: jmp G_M000_IG30 G_M000_IG15: mov edx, dword ptr [ebp-14H] jmp G_M000_IG40 G_M000_IG16: lea eax, [ecx+D1FFAB1EH] test eax, 0xD1FFAB1E je G_M000_IG08 G_M000_IG17: jmp G_M000_IG38 G_M000_IG18: cmp ebx, 1 jle G_M000_IG25 mov eax, edx sub eax, esi cmp eax, 3 jl G_M000_IG24 G_M000_IG19: mov eax, dword ptr [esi+03H] lea edx, [eax+D1FFAB1EH] test edx, 0xD1FFAB1E mov edx, dword ptr [ebp-14H] jne G_M000_IG25 test eax, 0x200F je G_M000_IG25 lea edx, [eax-200DH] test edx, 0x200F je G_M000_IG23 mov edx, ecx and edx, 0xD1FFAB1E shr edx, 16 mov dword ptr [ebp-90H], edx mov edx, ecx and edx, 0x3F00 shr edx, 2 or edx, dword ptr [ebp-90H] mov dword ptr [ebp-90H], edx mov edx, ecx and edx, 15 shl edx, 12 or edx, dword ptr [ebp-90H] mov word ptr [edi], dx mov edx, eax and edx, 0xD1FFAB1E shr edx, 16 mov dword ptr [ebp-90H], edx mov edx, eax and edx, 0x3F00 shr edx, 2 or edx, dword ptr [ebp-90H] and eax, 15 shl eax, 12 or eax, edx mov word ptr [edi+02H], ax add esi, 6 add edi, 4 add ebx, -2 mov edx, dword ptr [ebp-14H] G_M000_IG20: test ecx, ecx jge SHORT G_M000_IG26 G_M000_IG21: cmp esi, edx ja G_M000_IG40 G_M000_IG22: jmp SHORT G_M000_IG28 G_M000_IG23: mov edx, dword ptr [ebp-14H] jmp SHORT G_M000_IG25 G_M000_IG24: mov edx, dword ptr [ebp-14H] G_M000_IG25: mov eax, ecx and eax, 0xD1FFAB1E shr eax, 16 mov dword ptr [ebp-90H], eax mov eax, ecx and eax, 0x3F00 shr eax, 2 or eax, dword ptr [ebp-90H] mov dword ptr [ebp-90H], eax mov eax, ecx and eax, 15 shl eax, 12 or eax, dword ptr [ebp-90H] mov word ptr [edi], ax add esi, 3 add edi, 2 dec ebx jmp SHORT G_M000_IG20 G_M000_IG26: test ebx, ebx je G_M000_IG70 G_M000_IG27: mov eax, ecx shr eax, 24 mov word ptr [edi], ax inc esi add edi, 2 dec ebx jmp SHORT G_M000_IG21 G_M000_IG28: mov ecx, dword ptr [esi] lea eax, [ecx+D1FFAB1EH] test eax, 0xD1FFAB1E jne G_M000_IG52 jmp G_M000_IG08 G_M000_IG29: cmp esi, dword ptr [ebp-14H] mov edx, dword ptr [ebp-14H] ja G_M000_IG40 G_M000_IG30: mov ecx, dword ptr [esi] G_M000_IG31: lea eax, [ecx-80C0H] test eax, 0xC0E0 jne G_M000_IG16 cmp cl, 194 jb G_M000_IG75 G_M000_IG32: jmp G_M000_IG05 G_M000_IG33: mov ecx, eax G_M000_IG34: shr ecx, 3 mov dword ptr [ebp-18H], ecx xor eax, eax mov dword ptr [ebp-20H], eax test ecx, ecx jbe G_M000_IG73 G_M000_IG35: mov ecx, dword ptr [esi] mov eax, dword ptr [esi+04H] mov dword ptr [ebp-1CH], eax or eax, ecx test eax, 0xD1FFAB1E jne G_M000_IG68 G_M000_IG36: add esi, 8 vmovd xmm0, xecx vpmovzxbw xmm0, xmm0 vmovups xmmword ptr [ebp-58H], xmm0 mov ecx, dword ptr [ebp-58H] mov eax, dword ptr [ebp-54H] mov dword ptr [ebp-80H], eax mov eax, edi mov dword ptr [eax], ecx mov ecx, dword ptr [ebp-80H] mov dword ptr [eax+04H], ecx vmovd xmm0, xmmword ptr [ebp-1CH] vpmovzxbw xmm0, xmm0 vmovups xmmword ptr [ebp-68H], xmm0 mov eax, dword ptr [ebp-68H] mov ecx, dword ptr [ebp-64H] mov dword ptr [ebp-84H], ecx lea ecx, [edi+08H] mov dword ptr [ecx], eax mov eax, dword ptr [ebp-84H] mov dword ptr [ecx+04H], eax add edi, 16 mov eax, dword ptr [ebp-20H] inc eax mov ecx, dword ptr [ebp-18H] cmp eax, ecx mov dword ptr [ebp-20H], eax jb SHORT G_M000_IG35 G_M000_IG37: jmp G_M000_IG73 G_M000_IG38: lea eax, [ecx+D1FFAB1EH] test eax, 0xD1FFAB1E jne G_M000_IG75 movzx eax, cx ror eax, 8 add eax, 0xD1FFAB1E cmp eax, 0xD1FFAB1E ja G_M000_IG75 cmp ebx, 2 jl G_M000_IG70 movzx eax, cl shl eax, 8 mov dword ptr [ebp-90H], eax mov eax, ecx and eax, 0x3F00 shr eax, 6 or eax, dword ptr [ebp-90H] mov dword ptr [ebp-90H], eax mov eax, ecx and eax, 0xD1FFAB1E shr eax, 20 or eax, dword ptr [ebp-90H] mov dword ptr [ebp-90H], eax mov eax, ecx and eax, 0xD1FFAB1E shr eax, 8 or eax, dword ptr [ebp-90H] and ecx, 0xD1FFAB1E shl ecx, 6 or eax, ecx add eax, 0xD1FFAB1E mov dword ptr [edi], eax add esi, 4 add edi, 4 add ebx, -2 G_M000_IG39: mov edx, dword ptr [ebp-14H] cmp esi, edx jbe SHORT G_M000_IG51 G_M000_IG40: sub edx, esi add edx, 4 G_M000_IG41: test edx, edx jle SHORT G_M000_IG46 G_M000_IG42: movzx eax, byte ptr [esi] cmp eax, 127 ja G_M000_IG58 G_M000_IG43: test ebx, ebx je G_M000_IG70 G_M000_IG44: mov word ptr [edi], ax inc esi add edi, 2 dec edx G_M000_IG45: dec ebx test edx, edx jg SHORT G_M000_IG42 G_M000_IG46: xor eax, eax G_M000_IG47: mov ebx, bword ptr [ebp+0CH] mov dword ptr [ebx], esi mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], edi G_M000_IG48: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG49: sub edx, eax sub ebx, eax cmp edx, 4 jl SHORT G_M000_IG41 G_M000_IG50: lea edx, [esi+edx-04H] mov dword ptr [ebp-14H], edx G_M000_IG51: mov ecx, dword ptr [esi] G_M000_IG52: test ecx, 0xD1FFAB1E je SHORT G_M000_IG55 G_M000_IG53: test cl, 128 jne G_M000_IG31 cmp ebx, 3 jl G_M000_IG74 G_M000_IG54: jmp G_M000_IG61 G_M000_IG55: cmp ebx, 4 jl SHORT G_M000_IG40 G_M000_IG56: vmovd xmm0, xecx vpmovzxbw xmm0, xmm0 vmovups xmmword ptr [ebp-48H], xmm0 mov ecx, dword ptr [ebp-48H] mov eax, dword ptr [ebp-44H] mov dword ptr [ebp-7CH], eax mov eax, edi mov dword ptr [eax], ecx mov ecx, dword ptr [ebp-7CH] mov dword ptr [eax+04H], ecx add esi, 4 add edi, 8 add ebx, -4 mov eax, edx sub eax, esi add eax, 4 cmp eax, ebx jbe G_M000_IG33 G_M000_IG57: mov ecx, ebx jmp G_M000_IG34 G_M000_IG58: add eax, -194 movzx ecx, al cmp ecx, 29 jbe G_M000_IG62 G_M000_IG59: cmp ecx, 45 ja G_M000_IG78 cmp edx, 3 jl G_M000_IG64 G_M000_IG60: movzx ecx, byte ptr [esi+01H] mov dword ptr [ebp-30H], ecx movzx ecx, byte ptr [esi+02H] mov dword ptr [ebp-34H], ecx mov ecx, dword ptr [ebp-30H] add ecx, -128 movzx ecx, cl cmp ecx, 63 ja G_M000_IG75 mov ecx, dword ptr [ebp-34H] add ecx, -128 movzx ecx, cl cmp ecx, 63 ja G_M000_IG75 shl eax, 12 mov ecx, dword ptr [ebp-30H] shl ecx, 6 add eax, ecx cmp eax, 0x20800 jb G_M000_IG75 add eax, -0x2D800 cmp eax, 0x800 jb G_M000_IG75 test ebx, ebx je G_M000_IG70 add eax, dword ptr [ebp-34H] add eax, 0xD780 mov word ptr [edi], ax add esi, 3 add edi, 2 add edx, -3 jmp G_M000_IG45 G_M000_IG61: mov eax, ecx mov dword ptr [ebp-24H], 1 movzx edx, al mov word ptr [edi], dx test eax, 0x8000 jne G_M000_IG67 mov dword ptr [ebp-24H], 2 shr eax, 8 movzx edx, al mov word ptr [edi+02H], dx test ecx, 0xD1FFAB1E jne G_M000_IG67 mov edx, 3 mov ecx, eax shr ecx, 8 movzx eax, cl mov word ptr [edi+04H], ax mov dword ptr [ebp-24H], edx jmp SHORT G_M000_IG67 G_M000_IG62: cmp edx, 2 jl SHORT G_M000_IG66 G_M000_IG63: movzx ecx, byte ptr [esi+01H] mov dword ptr [ebp-2CH], ecx add ecx, -128 movzx ecx, cl cmp ecx, 63 ja G_M000_IG75 test ebx, ebx je SHORT G_M000_IG70 shl eax, 6 add eax, dword ptr [ebp-2CH] mov word ptr [edi], ax add esi, 2 add edi, 2 add edx, -2 jmp G_M000_IG45 G_M000_IG64: cmp edx, 2 jl SHORT G_M000_IG66 G_M000_IG65: movzx edx, byte ptr [esi+01H] lea ecx, [edx-80H] movzx ecx, cl cmp ecx, 63 ja G_M000_IG75 shl eax, 6 add eax, edx cmp eax, 0x820 jb G_M000_IG75 add eax, -0xB60 cmp eax, 31 jbe G_M000_IG75 G_M000_IG66: mov eax, 2 jmp G_M000_IG47 G_M000_IG67: mov edx, dword ptr [ebp-24H] mov eax, edx add esi, eax lea edi, [edi+2*eax] sub ebx, edx jmp G_M000_IG29 G_M000_IG68: test ecx, 0xD1FFAB1E jne SHORT G_M000_IG72 G_M000_IG69: jmp SHORT G_M000_IG71 G_M000_IG70: mov eax, 1 jmp G_M000_IG47 G_M000_IG71: vmovd xmm0, xecx vpmovzxbw xmm0, xmm0 vmovups xmmword ptr [ebp-78H], xmm0 mov ecx, dword ptr [ebp-78H] mov dword ptr [ebp-90H], ecx mov ecx, dword ptr [ebp-74H] mov dword ptr [ebp-94H], ecx mov ecx, dword ptr [ebp-90H] mov dword ptr [ebp-88H], ecx mov ecx, dword ptr [ebp-94H] mov dword ptr [ebp-8CH], ecx mov ecx, edi mov eax, dword ptr [ebp-88H] mov dword ptr [ecx], eax mov eax, dword ptr [ebp-8CH] mov dword ptr [ecx+04H], eax mov eax, dword ptr [ebp-1CH] mov ecx, eax add esi, 4 add edi, 8 add ebx, -4 G_M000_IG72: mov eax, dword ptr [ebp-20H] shl eax, 3 sub ebx, eax mov edx, dword ptr [ebp-14H] jmp G_M000_IG53 G_M000_IG73: mov eax, dword ptr [ebp-20H] shl eax, 3 sub ebx, eax jmp G_M000_IG39 G_M000_IG74: test ebx, ebx je G_M000_IG70 mov eax, ecx inc esi mov dword ptr [ebp-38H], edi add edi, 2 mov dword ptr [ebp-28H], eax movzx eax, al mov edx, dword ptr [ebp-38H] mov word ptr [edx], ax dec ebx mov eax, dword ptr [ebp-28H] test eax, 0x8000 jne G_M000_IG29 test ebx, ebx je G_M000_IG70 mov edx, dword ptr [ebp-14H] inc esi shr eax, 8 mov ebx, edi lea edi, [ebx+02H] movzx eax, al mov word ptr [ebx], ax test ecx, 0xD1FFAB1E je G_M000_IG70 xor ebx, ebx jmp G_M000_IG29 G_M000_IG75: mov eax, 3 jmp G_M000_IG47 G_M000_IG76: test ebx, ebx je SHORT G_M000_IG77 mov ecx, edx mov edx, dword ptr [ebp-14H] mov word ptr [edi], cx add esi, 2 add edi, 2 dec ebx cmp edx, esi jb G_M000_IG40 mov ecx, dword ptr [esi] jmp G_M000_IG16 G_M000_IG77: mov edx, dword ptr [ebp-14H] jmp G_M000_IG40 G_M000_IG78: cmp ecx, 50 ja SHORT G_M000_IG75 cmp edx, 2 jl G_M000_IG66 movzx ecx, byte ptr [esi+01H] lea ebx, [ecx-80H] movzx ebx, bl cmp ebx, 63 ja SHORT G_M000_IG75 shl eax, 6 lea eax, [eax+ecx-0C10H] cmp eax, 255 ja SHORT G_M000_IG75 cmp edx, 3 jl G_M000_IG66 movzx eax, byte ptr [esi+02H] add eax, -128 movzx eax, al cmp eax, 63 ja SHORT G_M000_IG75 cmp edx, 4 jl G_M000_IG66 movzx eax, byte ptr [esi+03H] add eax, -128 movzx eax, al cmp eax, 63 jbe G_M000_IG70 jmp G_M000_IG75 ; Total bytes of code 2004 870: JIT compiled System.Text.Unicode.Utf8Utility:TranscodeToUtf16(uint,int,uint,int,byref,byref) [Tier1 with Static PGO, IL size=1696, code size=2004] ; Assembly listing for method System.String:CreateStringFromEncoding(uint,int,System.Text.Encoding):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 188197 ; 2 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 xor eax, eax mov dword ptr [ebp-18H], eax mov edi, ecx mov esi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: cmp dword ptr [ebx], 0xD1FFAB1E jne G_M000_IG10 G_M000_IG03: test edi, edi je G_M000_IG18 test esi, esi jl G_M000_IG19 lea ecx, [ebp-20H] push ecx lea ecx, [ebp-24H] push ecx mov ecx, edi mov edx, esi call [System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(uint,int,byref,byref):uint] sub eax, edi mov edx, eax add edx, dword ptr [ebp-20H] cmp eax, esi jne G_M000_IG20 G_M000_IG04: mov eax, edx G_M000_IG05: mov edx, eax mov dword ptr [ebp-10H], edx test edx, edx je G_M000_IG12 G_M000_IG06: mov ecx, edx call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-30H], eax cmp byte ptr [eax], al lea ecx, bword ptr [eax+08H] mov bword ptr [ebp-18H], ecx mov edx, bword ptr [ebp-18H] mov dword ptr [ebp-14H], edx cmp dword ptr [ebx], 0xD1FFAB1E jne G_M000_IG11 G_M000_IG07: mov gword ptr [ebp-34H], ebx test edi, edi je G_M000_IG15 test edx, edx je G_M000_IG14 mov ecx, dword ptr [ebp-10H] mov ebx, esi or ebx, ecx jl G_M000_IG17 push edx push ecx lea ebx, [ebp-28H] push ebx lea ebx, [ebp-2CH] push ebx mov ecx, edi mov edx, esi call [System.Text.Unicode.Utf8Utility:TranscodeToUtf16(uint,int,uint,int,byref,byref):int] mov ecx, dword ptr [ebp-28H] sub ecx, edi mov edx, dword ptr [ebp-2CH] mov ebx, dword ptr [ebp-14H] sub edx, ebx mov eax, edx shr eax, 31 add edx, eax sar edx, 1 cmp ecx, esi je SHORT G_M000_IG08 push esi push ebx push dword ptr [ebp-10H] push ecx push edx push 1 mov ecx, gword ptr [ebp-34H] mov edx, edi call [System.Text.Encoding:GetCharsWithFallback(uint,int,uint,int,int,int,bool):int:this] G_M000_IG08: xor eax, eax mov bword ptr [ebp-18H], eax mov eax, gword ptr [ebp-30H] G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG10: push esi mov ecx, ebx mov edx, edi mov eax, dword ptr [ebx] mov eax, dword ptr [eax+38H] call [eax+04H]System.Text.Encoding:GetCharCount(uint,int):int:this mov edx, eax jmp G_M000_IG05 G_M000_IG11: push esi push edx push dword ptr [ebp-10H] mov ecx, ebx mov edx, edi mov esi, dword ptr [ebx] mov ebx, dword ptr [esi+38H] call [ebx+18H]System.Text.Encoding:GetChars(uint,int,uint,int):int:this jmp SHORT G_M000_IG08 G_M000_IG12: mov eax, 0xD1FFAB1E G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG14: mov ecx, 14 jmp SHORT G_M000_IG16 G_M000_IG15: mov ecx, 10 G_M000_IG16: mov edx, 49 call [System.ThrowHelper:ThrowArgumentNullException(int,int)] int3 G_M000_IG17: mov ecx, 12 mov edx, 16 test esi, esi cmovge ecx, edx mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] int3 G_M000_IG18: mov ecx, 10 mov edx, 49 call [System.ThrowHelper:ThrowArgumentNullException(int,int)] int3 G_M000_IG19: mov ecx, 27 mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] int3 G_M000_IG20: mov dword ptr [ebp-1CH], edx push esi push eax mov ecx, ebx mov edx, edi call [System.Text.Encoding:GetCharCountWithFallback(uint,int,int):int:this] mov edx, eax add edx, dword ptr [ebp-1CH] jns G_M000_IG04 call [System.Text.Encoding:ThrowConversionOverflow()] int3 ; Total bytes of code 421 871: JIT compiled System.String:CreateStringFromEncoding(uint,int,System.Text.Encoding) [Tier1 with Static PGO, IL size=52, code size=421] ; Assembly listing for method System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(uint,int,byref,byref):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 5 inlinees with PGO data; 18 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx vzeroupper mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, esi mov edx, edi call [System.Text.Ascii:GetIndexOfFirstNonAsciiByte_Intrinsified(uint,uint):uint] add esi, eax sub edi, eax jne SHORT G_M000_IG06 G_M000_IG03: xor eax, eax mov ebx, bword ptr [ebp+0CH] mov dword ptr [ebx], eax G_M000_IG04: mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], eax mov eax, esi G_M000_IG05: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG06: xor edx, edx xor ecx, ecx cmp edi, 4 jl G_M000_IG32 lea eax, [esi+edi-04H] cmp esi, eax ja G_M000_IG33 G_M000_IG07: mov edi, dword ptr [esi] G_M000_IG08: test edi, 0xD1FFAB1E jne SHORT G_M000_IG13 G_M000_IG09: add esi, 4 mov edi, eax sub edi, esi cmp edi, 16 jl G_M000_IG30 mov edi, dword ptr [esi] test edi, 0xD1FFAB1E jne SHORT G_M000_IG13 add esi, 4 and esi, -4 lea edi, [eax-0CH] align [8 bytes for IG10] G_M000_IG10: vmovups xmm0, xmmword ptr [esi] vpmovmskb ebx, xmm0 test ebx, ebx jne SHORT G_M000_IG12 add esi, 16 cmp esi, edi jbe SHORT G_M000_IG10 G_M000_IG11: jmp G_M000_IG30 G_M000_IG12: xor edi, edi tzcnt edi, ebx add esi, edi cmp esi, eax ja G_M000_IG33 jmp SHORT G_M000_IG14 G_M000_IG13: and edi, 0xD1FFAB1E tzcnt edi, edi shr edi, 3 add esi, edi cmp eax, esi jb G_M000_IG33 G_M000_IG14: mov edi, dword ptr [esi] add edi, -0x80C0 test edi, 0xC0E0 jne SHORT G_M000_IG19 mov ebx, edi cmp bl, 2 jb G_M000_IG45 G_M000_IG15: mov ebx, edi and ebx, 0xD1FFAB1E add ebx, 0xD1FFAB1E cmp ebx, 0xD1FFAB1E ja SHORT G_M000_IG21 G_M000_IG16: add esi, 4 add edx, -2 cmp esi, eax ja G_M000_IG33 G_M000_IG17: mov edi, dword ptr [esi] mov ebx, edi and ebx, 0xC0FF add ebx, -0x80C2 cmp ebx, 29 jbe SHORT G_M000_IG15 G_M000_IG18: jmp G_M000_IG08 G_M000_IG19: add edi, 0xD1FFAB1E test edi, 0xD1FFAB1E je SHORT G_M000_IG26 G_M000_IG20: and edi, 0xD1FFAB1E cmp edi, 0xD1FFAB1E jg G_M000_IG45 jmp SHORT G_M000_IG29 G_M000_IG21: dec edx test edi, 0xD1FFAB1E jne SHORT G_M000_IG25 G_M000_IG22: test edi, edi jl SHORT G_M000_IG24 G_M000_IG23: add esi, 4 jmp SHORT G_M000_IG30 G_M000_IG24: add esi, 3 cmp esi, eax ja SHORT G_M000_IG30 jmp G_M000_IG14 G_M000_IG25: add esi, 2 jmp SHORT G_M000_IG30 G_M000_IG26: test edi, 0x200F je G_M000_IG45 lea ebx, [edi-200DH] test ebx, 0x200F je G_M000_IG45 sar edi, 31 lea esi, [esi+edi+04H] add edx, -2 cmp esi, eax ja SHORT G_M000_IG33 G_M000_IG27: mov edi, dword ptr [esi] lea ebx, [edi+D1FFAB1EH] test ebx, 0xD1FFAB1E jne G_M000_IG08 G_M000_IG28: jmp SHORT G_M000_IG26 G_M000_IG29: ror edi, 8 add edi, 0xD1FFAB1E cmp edi, 0xD1FFAB1E ja G_M000_IG45 add esi, 4 add edx, -2 dec ecx G_M000_IG30: cmp esi, eax jbe G_M000_IG07 G_M000_IG31: jmp SHORT G_M000_IG33 align [0 bytes for IG35] G_M000_IG32: jmp SHORT G_M000_IG34 G_M000_IG33: sub eax, esi lea edi, [eax+04H] G_M000_IG34: test edi, edi je G_M000_IG45 G_M000_IG35: movzx eax, byte ptr [esi] cmp eax, 128 jae SHORT G_M000_IG37 G_M000_IG36: inc esi dec edi jmp G_M000_IG44 G_M000_IG37: cmp edi, 2 jb G_M000_IG45 movzx ebx, byte ptr [esi+01H] movzx eax, al cmp eax, 224 jae SHORT G_M000_IG38 cmp eax, 194 jb SHORT G_M000_IG45 add ebx, -128 movzx eax, bl cmp eax, 63 ja SHORT G_M000_IG45 add esi, 2 dec edx add edi, -2 jmp SHORT G_M000_IG44 G_M000_IG38: cmp edi, 3 jb SHORT G_M000_IG45 cmp eax, 240 jae SHORT G_M000_IG45 cmp eax, 224 jne SHORT G_M000_IG40 lea eax, [ebx-A0H] cmp eax, 31 jbe SHORT G_M000_IG43 G_M000_IG39: jmp SHORT G_M000_IG45 G_M000_IG40: cmp eax, 237 jne SHORT G_M000_IG42 lea eax, [ebx-80H] cmp eax, 31 jbe SHORT G_M000_IG43 G_M000_IG41: jmp SHORT G_M000_IG45 G_M000_IG42: lea eax, [ebx-80H] movzx eax, al cmp eax, 63 ja SHORT G_M000_IG45 G_M000_IG43: cmp byte ptr [esi+02H], -64 jge SHORT G_M000_IG45 add esi, 3 add edx, -2 add edi, -3 G_M000_IG44: test edi, edi jne G_M000_IG35 G_M000_IG45: mov edi, bword ptr [ebp+0CH] mov dword ptr [edi], edx mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], ecx mov eax, esi G_M000_IG46: pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 639 872: JIT compiled System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(uint,int,byref,byref) [Tier1, IL size=988, code size=639] ; Assembly listing for method System.Text.Ascii:GetIndexOfFirstNonAsciiByte_Intrinsified(uint,uint):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 14 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax vzeroupper G_M000_IG02: mov eax, ecx cmp edx, 16 jb G_M000_IG13 G_M000_IG03: vmovups xmm0, xmmword ptr [eax] vpmovmskb esi, xmm0 test esi, esi jne G_M000_IG11 cmp edx, 32 jb SHORT G_M000_IG06 lea ecx, [eax+10H] and ecx, -16 add edx, eax sub edx, ecx cmp edx, 32 jb SHORT G_M000_IG05 lea edi, [ecx+edx] sub edi, 32 mov dword ptr [ebp-10H], edi align [0 bytes for IG04] G_M000_IG04: vmovdqa xmm0, xmmword ptr [ecx] vmovdqa xmm1, xmmword ptr [ecx+10H] vpmovmskb esi, xmm0 vpmovmskb ebx, xmm1 mov edi, esi or edi, ebx jne SHORT G_M000_IG10 add ecx, 32 mov edi, dword ptr [ebp-10H] cmp ecx, edi mov dword ptr [ebp-10H], edi jbe SHORT G_M000_IG04 G_M000_IG05: test dl, 16 je SHORT G_M000_IG07 vmovdqa xmm0, xmmword ptr [ecx] vpmovmskb esi, xmm0 test esi, esi jne SHORT G_M000_IG11 G_M000_IG06: add ecx, 16 G_M000_IG07: movzx ebx, dl test bl, 15 je SHORT G_M000_IG08 and edx, 15 sub edx, 16 add edx, ecx mov ecx, edx vmovups xmm0, xmmword ptr [ecx] vpmovmskb esi, xmm0 test esi, esi jne SHORT G_M000_IG11 add ecx, 16 G_M000_IG08: sub ecx, eax mov eax, ecx G_M000_IG09: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG10: test esi, esi jne SHORT G_M000_IG11 add ecx, 16 mov esi, ebx G_M000_IG11: xor edx, edx tzcnt edx, esi add ecx, edx jmp SHORT G_M000_IG08 G_M000_IG12: and ebx, 0xD1FFAB1E xor edx, edx tzcnt edx, ebx shr edx, 3 add ecx, edx jmp SHORT G_M000_IG08 G_M000_IG13: test dl, 8 je SHORT G_M000_IG15 mov ebx, dword ptr [eax] mov esi, dword ptr [eax+04H] mov edi, ebx or edi, esi test edi, 0xD1FFAB1E je SHORT G_M000_IG14 test ebx, 0xD1FFAB1E jne SHORT G_M000_IG12 mov ebx, esi lea ecx, [eax+04H] jmp SHORT G_M000_IG12 G_M000_IG14: lea ecx, [eax+08H] G_M000_IG15: test dl, 4 je SHORT G_M000_IG16 mov ebx, dword ptr [ecx] test ebx, 0xD1FFAB1E jne SHORT G_M000_IG12 add ecx, 4 G_M000_IG16: test dl, 2 je SHORT G_M000_IG18 movzx ebx, word ptr [ecx] test ebx, 0xD1FFAB1E je SHORT G_M000_IG17 movsx edx, bl sar edx, 7 lea ecx, [ecx+edx+01H] jmp G_M000_IG08 G_M000_IG17: add ecx, 2 G_M000_IG18: test dl, 1 je G_M000_IG08 lea edx, [ecx+01H] cmp byte ptr [ecx], 0 cmovge ecx, edx jmp G_M000_IG08 ; Total bytes of code 318 873: JIT compiled System.Text.Ascii:GetIndexOfFirstNonAsciiByte_Intrinsified(uint,uint) [Tier1, IL size=609, code size=318] ; Assembly listing for method System.Text.UTF8Encoding:GetChars(uint,int,uint,int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 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, 8 mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+10H] mov eax, dword ptr [ebp+0CH] mov edx, dword ptr [ebp+08H] G_M000_IG02: test esi, esi je SHORT G_M000_IG07 test eax, eax je SHORT G_M000_IG06 mov ecx, ebx or ecx, edx jl SHORT G_M000_IG09 mov ecx, edi cmp byte ptr [ecx], cl mov dword ptr [ebp+0CH], eax push eax mov dword ptr [ebp+08H], edx push edx lea ecx, [ebp-10H] push ecx lea ecx, [ebp-14H] push ecx mov ecx, esi mov edx, ebx call [System.Text.Unicode.Utf8Utility:TranscodeToUtf16(uint,int,uint,int,byref,byref):int] mov ecx, dword ptr [ebp-10H] sub ecx, esi mov eax, dword ptr [ebp-14H] sub eax, dword ptr [ebp+0CH] mov edx, eax shr edx, 31 add eax, edx sar eax, 1 cmp ecx, ebx jne SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: push ebx push dword ptr [ebp+0CH] push dword ptr [ebp+08H] push ecx push eax push 1 mov ecx, edi mov edx, esi call [System.Text.Encoding:GetCharsWithFallback(uint,int,uint,int,int,int,bool):int:this] G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG06: mov ecx, 14 jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, 10 G_M000_IG08: mov edx, 49 call [System.ThrowHelper:ThrowArgumentNullException(int,int)] int3 G_M000_IG09: mov ecx, 12 mov edx, 16 test ebx, ebx cmovge ecx, edx mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] int3 ; Total bytes of code 174 874: JIT compiled System.Text.UTF8Encoding:GetChars(uint,int,uint,int) [Tier1, IL size=65, code size=174] ; Assembly listing for method System.RuntimeTypeHandle:GetNativeHandle():System.RuntimeTypeHandle:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 77211 ; 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 eax, gword ptr [ecx] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: pop esi pop ebp ret G_M000_IG04: 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 int3 ; Total bytes of code 50 875: JIT compiled System.RuntimeTypeHandle:GetNativeHandle() [Tier1 with Static PGO, IL size=35, code size=50] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Insert(byref,System.String,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 18974 ; 2 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 28 xor eax, eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-24H], ecx mov esi, edx mov edi, dword ptr [ebp+08H] G_M000_IG02: xor edx, edx mov dword ptr [ebp-20H], edx G_M000_IG03: cmp byte ptr [ebp-20H], 0 jne G_M000_IG27 lea edx, [ebp-20H] mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:ReliableEnter(System.Object,byref) cmp edi, 2 ja SHORT G_M000_IG04 lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*edi] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG04: mov edx, gword ptr [esi] mov ecx, gword ptr [ebp-24H] call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this] jmp G_M000_IG28 G_M000_IG05: mov ecx, gword ptr [ebp-24H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edi, dword ptr [edx+14H] test edi, edi je SHORT G_M000_IG07 G_M000_IG06: jmp SHORT G_M000_IG08 G_M000_IG07: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edi, eax G_M000_IG08: mov ecx, edi push ecx mov ecx, gword ptr [ebp-24H] add ecx, 16 mov edx, gword ptr [ebp+0CH] call [System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this] test eax, eax jne SHORT G_M000_IG10 G_M000_IG09: mov edx, gword ptr [esi] mov ecx, gword ptr [ebp-24H] call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this] push gword ptr [esi] push edi mov ecx, gword ptr [ebp-24H] add ecx, 16 mov edx, gword ptr [ebp+0CH] call [System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG30 jmp G_M000_IG34 G_M000_IG10: mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG31 jmp G_M000_IG34 G_M000_IG11: mov edx, gword ptr [ebp-24H] cmp byte ptr [edx+0CH], 0 jne SHORT G_M000_IG21 G_M000_IG12: mov edx, gword ptr [esi] mov ecx, gword ptr [ebp-24H] call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalListInOrder(System.__Canon[]):this] mov ecx, gword ptr [ebp-24H] mov ecx, gword ptr [ecx+04H] mov edi, dword ptr [ecx+04H] test edi, edi jg SHORT G_M000_IG15 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 eax, dword ptr [edx+18H] test eax, eax je SHORT G_M000_IG19 G_M000_IG14: jmp SHORT G_M000_IG20 G_M000_IG15: mov edx, ecx lea eax, [edi-01H] cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG18 cmp gword ptr [edx+4*edi+04H], 0 sete dl movzx edx, dl test edx, edx je SHORT G_M000_IG13 G_M000_IG16: mov edi, eax test edi, edi jg SHORT G_M000_IG15 G_M000_IG17: jmp SHORT G_M000_IG13 G_M000_IG18: call CORINFO_HELP_RNGCHKFAIL G_M000_IG19: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG20: push eax mov ecx, gword ptr [ebp-24H] add ecx, 4 mov edx, edi call [System.Array:Resize[System.__Canon](byref,int)] mov edx, gword ptr [ebp-24H] mov byte ptr [edx+0CH], 1 G_M000_IG21: mov edx, gword ptr [ebp-24H] mov ecx, gword ptr [edx+04H] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG29 jmp G_M000_IG34 G_M000_IG22: mov ecx, gword ptr [ebp-24H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edi, dword ptr [edx+14H] test edi, edi je SHORT G_M000_IG24 G_M000_IG23: jmp SHORT G_M000_IG25 G_M000_IG24: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edi, eax G_M000_IG25: mov ecx, edi push ecx mov ecx, gword ptr [ebp-24H] add ecx, 20 mov edx, gword ptr [ebp+0CH] call [System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this] test eax, eax jne SHORT G_M000_IG26 mov edx, gword ptr [esi] mov ecx, gword ptr [ebp-24H] call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this] mov ecx, edi push gword ptr [esi] push ecx mov ecx, gword ptr [ebp-24H] add ecx, 20 mov edx, gword ptr [ebp+0CH] call [System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:set_Item(System.__Canon,System.__Canon):this] mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG32 jmp SHORT G_M000_IG34 G_M000_IG26: mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG33 jmp SHORT G_M000_IG34 G_M000_IG27: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG28: cmp byte ptr [ebp-20H], 0 je SHORT G_M000_IG36 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) jmp SHORT G_M000_IG36 G_M000_IG29: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG36 G_M000_IG30: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG36 G_M000_IG31: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG36 G_M000_IG32: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG36 G_M000_IG33: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG36 G_M000_IG34: cmp byte ptr [ebp-20H], 0 je SHORT G_M000_IG35 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG35: pop eax jmp eax G_M000_IG36: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 8 RWD00 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG05 - G_M000_IG02 dd G_M000_IG22 - G_M000_IG02 ; Total bytes of code 610 876: JIT compiled System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Insert(byref,System.String,int) [Tier1 with Static PGO, IL size=246, code size=610] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 13769 ; 4 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 52 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-3CH], eax mov dword ptr [ebp-38H], eax mov gword ptr [ebp-28H], ecx mov esi, edx G_M000_IG02: mov edi, gword ptr [ebp-28H] mov ebx, gword ptr [edi+04H] test ebx, ebx je G_M000_IG14 G_M000_IG03: mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-10H], eax xor edx, edx mov dword ptr [ebp-14H], edx xor ecx, ecx cmp dword ptr [esi+04H], 0 jle G_M000_IG32 G_M000_IG04: mov gword ptr [ebp-2CH], esi mov dword ptr [ebp-18H], ecx mov edx, gword ptr [esi+4*ecx+08H] mov gword ptr [ebp-30H], edx xor edi, edi test eax, eax mov esi, gword ptr [ebp-2CH] jle SHORT G_M000_IG13 G_M000_IG05: test ebx, ebx je SHORT G_M000_IG12 cmp dword ptr [ebx+04H], eax jl SHORT G_M000_IG11 G_M000_IG06: mov ecx, gword ptr [ebx+4*edi+08H] test ecx, ecx je G_M000_IG34 G_M000_IG07: cmp dword ptr [edx], 0xD1FFAB1E jne SHORT G_M000_IG16 G_M000_IG08: mov gword ptr [ebp-2CH], esi mov gword ptr [ebp-34H], ecx mov esi, ecx cmp dword ptr [esi], 0xD1FFAB1E jne SHORT G_M000_IG10 mov esi, dword ptr [esi+28H] cmp esi, dword ptr [edx+28H] mov esi, edx jne SHORT G_M000_IG17 G_M000_IG09: mov esi, gword ptr [ebp-2CH] jmp G_M000_IG30 G_M000_IG10: mov esi, edx jmp SHORT G_M000_IG17 G_M000_IG11: mov gword ptr [ebp-2CH], esi mov eax, dword ptr [ebp-10H] jmp SHORT G_M000_IG20 G_M000_IG12: mov gword ptr [ebp-2CH], esi jmp SHORT G_M000_IG20 G_M000_IG13: jmp G_M000_IG34 G_M000_IG14: mov edi, gword ptr [ebp-28H] lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_ESI G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG16: mov gword ptr [ebp-34H], ecx mov gword ptr [ebp-2CH], esi mov ecx, edx mov edx, gword ptr [ebp-34H] mov esi, gword ptr [ebp-30H] mov eax, dword ptr [esi] mov eax, dword ptr [eax+28H] call [eax+10H]System.Reflection.MemberInfo:CacheEquals(System.Object):bool:this test eax, eax jne SHORT G_M000_IG19 G_M000_IG17: inc edi cmp edi, dword ptr [ebp-10H] mov edx, esi mov esi, gword ptr [ebp-2CH] jl G_M000_IG06 G_M000_IG18: jmp G_M000_IG34 G_M000_IG19: mov esi, gword ptr [ebp-2CH] jmp SHORT G_M000_IG30 G_M000_IG20: cmp edi, dword ptr [ebx+04H] jae G_M000_IG49 mov esi, gword ptr [ebx+4*edi+08H] test esi, esi je SHORT G_M000_IG25 G_M000_IG21: cmp dword ptr [edx], 0xD1FFAB1E jne SHORT G_M000_IG26 G_M000_IG22: mov eax, esi cmp dword ptr [eax], 0xD1FFAB1E jne SHORT G_M000_IG24 mov eax, dword ptr [eax+28H] cmp eax, dword ptr [edx+28H] jne SHORT G_M000_IG27 G_M000_IG23: mov gword ptr [ebp-34H], esi mov esi, gword ptr [ebp-2CH] jmp SHORT G_M000_IG30 G_M000_IG24: jmp SHORT G_M000_IG27 G_M000_IG25: mov esi, gword ptr [ebp-2CH] jmp SHORT G_M000_IG34 G_M000_IG26: mov ecx, edx mov gword ptr [ebp-38H], ecx mov edx, esi mov gword ptr [ebp-3CH], edx mov ecx, gword ptr [ebp-30H] mov edx, dword ptr [ecx] mov edx, dword ptr [edx+28H] mov dword ptr [ebp-40H], edx mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-3CH] mov eax, dword ptr [ebp-40H] call [eax+10H]System.Reflection.MemberInfo:CacheEquals(System.Object):bool:this test eax, eax mov gword ptr [ebp-34H], esi jne SHORT G_M000_IG29 G_M000_IG27: inc edi cmp edi, dword ptr [ebp-10H] mov eax, dword ptr [ebp-10H] mov edx, gword ptr [ebp-30H] jl SHORT G_M000_IG20 G_M000_IG28: mov esi, gword ptr [ebp-2CH] jmp SHORT G_M000_IG34 G_M000_IG29: mov esi, gword ptr [ebp-2CH] G_M000_IG30: push gword ptr [ebp-34H] mov ecx, esi mov edx, dword ptr [ebp-18H] call CORINFO_HELP_ARRADDR_ST G_M000_IG31: mov ecx, dword ptr [ebp-18H] inc ecx cmp dword ptr [esi+04H], ecx mov eax, dword ptr [ebp-10H] jg G_M000_IG04 G_M000_IG32: mov edi, gword ptr [ebp-28H] lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_EBX G_M000_IG33: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG34: mov ecx, dword ptr [ebp-14H] test ecx, ecx jne SHORT G_M000_IG36 G_M000_IG35: mov ecx, edi G_M000_IG36: mov dword ptr [ebp-14H], ecx cmp dword ptr [ebx+04H], ecx jle SHORT G_M000_IG38 G_M000_IG37: mov edi, gword ptr [ebp-28H] mov ecx, dword ptr [edi] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] push dword ptr [ecx] mov ecx, ebx mov edx, dword ptr [ebp-14H] call CORINFO_HELP_LDELEMA_REF mov edx, eax mov ecx, gword ptr [ebp-30H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov edx, dword ptr [ebp-14H] inc edx mov dword ptr [ebp-14H], edx jmp SHORT G_M000_IG31 G_M000_IG38: mov edi, gword ptr [ebp-28H] cmp byte ptr [edi+0CH], 0 jne SHORT G_M000_IG48 mov ecx, dword ptr [ebx+04H] add ecx, ecx cmp ecx, 4 jg SHORT G_M000_IG46 G_M000_IG39: mov dword ptr [ebp-24H], 4 G_M000_IG40: mov ecx, dword ptr [esi+04H] cmp dword ptr [ebp-24H], ecx jl SHORT G_M000_IG45 G_M000_IG41: mov ecx, dword ptr [ebp-24H] G_M000_IG42: mov dword ptr [ebp-1CH], ecx G_M000_IG43: mov gword ptr [ebp-20H], ebx mov edi, gword ptr [ebp-28H] mov ebx, dword ptr [edi] mov ecx, dword ptr [ebx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+18H] test ecx, ecx je SHORT G_M000_IG47 G_M000_IG44: push ecx lea ecx, [ebp-20H] mov edx, dword ptr [ebp-1CH] call [System.Array:Resize[System.__Canon](byref,int)] mov ebx, gword ptr [ebp-20H] jmp SHORT G_M000_IG37 G_M000_IG45: jmp SHORT G_M000_IG42 G_M000_IG46: mov dword ptr [ebp-24H], ecx jmp SHORT G_M000_IG40 G_M000_IG47: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax jmp SHORT G_M000_IG44 G_M000_IG48: mov eax, dword ptr [ebx+04H] inc eax mov dword ptr [ebp-1CH], eax jmp SHORT G_M000_IG43 G_M000_IG49: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 579 877: JIT compiled System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:MergeWithGlobalList(System.__Canon[]) [Tier1 with Static PGO, IL size=227, code size=579] ; Assembly listing for method System.Array:Resize[System.__Canon](byref,int) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 69204 ; 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 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 esi, esi jl G_M000_IG17 mov eax, gword ptr [edi] mov gword ptr [ebp-14H], eax test eax, eax je SHORT G_M000_IG06 G_M000_IG03: cmp dword ptr [eax+04H], esi je SHORT G_M000_IG13 G_M000_IG04: mov ecx, dword ptr [ebx+0CH] mov ecx, dword ptr [ecx+10H] test ecx, ecx je SHORT G_M000_IG14 G_M000_IG05: jmp SHORT G_M000_IG15 G_M000_IG06: mov ecx, dword ptr [ebx+0CH] mov ecx, dword ptr [ecx+10H] test ecx, ecx 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 ecx, eax G_M000_IG09: mov edx, esi call CORINFO_HELP_NEWARR_1_OBJ mov edx, edi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG11: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, bword ptr [ebp-20H] G_M000_IG12: push esi push eax mov edx, ecx mov ecx, bword ptr [ebp-1CH] call [System.Buffer:Memmove[System.__Canon](byref,byref,uint)] mov esi, gword ptr [ebp-18H] mov edx, edi call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG14: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax G_M000_IG15: mov edx, esi call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-18H], eax lea edx, bword ptr [eax+08H] mov bword ptr [ebp-1CH], edx mov ecx, gword ptr [ebp-14H] add ecx, 8 mov bword ptr [ebp-20H], ecx mov eax, gword ptr [ebp-14H] mov eax, dword ptr [eax+04H] cmp esi, eax cmovg esi, eax mov eax, dword ptr [ebx+0CH] mov eax, dword ptr [eax+14H] test eax, eax je SHORT G_M000_IG11 G_M000_IG16: mov ecx, bword ptr [ebp-20H] jmp SHORT G_M000_IG12 G_M000_IG17: mov ecx, 71 mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] int3 ; Total bytes of code 236 878: JIT compiled System.Array:Resize[System.__Canon](byref,int) [Tier1 with Static PGO, IL size=72, code size=236] ; Assembly listing for method System.Reflection.Associates:IncludeAccessor(System.Reflection.MethodInfo,bool):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 48593 ; 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: test ecx, ecx je SHORT G_M000_IG09 G_M000_IG03: test dl, dl je SHORT G_M000_IG06 G_M000_IG04: mov eax, 1 G_M000_IG05: pop esi pop ebp ret G_M000_IG06: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG11 mov esi, dword ptr [ecx+30H] G_M000_IG07: and esi, 7 xor eax, eax cmp esi, 6 sete al G_M000_IG08: pop esi pop ebp ret G_M000_IG09: xor eax, eax G_M000_IG10: pop esi pop ebp ret G_M000_IG11: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+30H] call [eax+10H]System.Reflection.MethodBase:get_Attributes():int:this mov esi, eax jmp SHORT G_M000_IG07 ; Total bytes of code 62 879: JIT compiled System.Reflection.Associates:IncludeAccessor(System.Reflection.MethodInfo,bool) [Tier1 with Static PGO, IL size=22, code size=62] ; Assembly listing for method System.RuntimeTypeHandle:GetInstantiationInternal():System.RuntimeType[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 xor edx, edx mov dword ptr [ebp-10H], edx mov dword ptr [ebp-14H], edx G_M000_IG02: lea edi, [ebp-30H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-1CH], eax call [System.RuntimeTypeHandle:GetNativeHandle():System.RuntimeTypeHandle:this] mov gword ptr [ebp-14H], eax lea eax, [ebp-14H] mov edx, gword ptr [ebp-14H] test edx, edx je SHORT G_M000_IG10 G_M000_IG03: mov ecx, dword ptr [edx+0CH] G_M000_IG04: lea edx, [ebp-10H] push 1 push edx push ecx push eax mov dword ptr [ebp-28H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-24H], eax lea eax, G_M000_IG07 mov dword ptr [ebp-20H], eax mov byte ptr [esi+08H], 0 G_M000_IG05: mov eax, 0xD1FFAB1E G_M000_IG06: call eax ; System.RuntimeTypeHandle:GetInstantiation(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack,int) G_M000_IG07: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG08 call CORINFO_HELP_STOP_FOR_GC G_M000_IG08: xor eax, eax mov dword ptr [ebp-20H], eax mov eax, gword ptr [ebp-10H] mov edx, bword ptr [ebp-2CH] mov dword ptr [esi+0CH], edx G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG10: xor ecx, ecx jmp SHORT G_M000_IG04 ; Total bytes of code 136 880: JIT compiled System.RuntimeTypeHandle:GetInstantiationInternal() [Tier1, IL size=31, code size=136] ; Assembly listing for method System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default():System.Collections.Generic.EqualityComparer`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], ecx G_M000_IG02: call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov eax, gword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 881: JIT compiled System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default() [Tier1, IL size=6, code size=18] ; Assembly listing for method System.Array:Copy(System.Array,System.Array,int) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: test esi, esi je G_M000_IG11 test edi, edi je G_M000_IG12 mov ecx, dword ptr [esi] cmp ecx, dword ptr [edi] jne SHORT G_M000_IG09 G_M000_IG03: cmp dword ptr [ecx+04H], 12 ja SHORT G_M000_IG09 cmp ebx, dword ptr [esi+04H] ja SHORT G_M000_IG09 cmp ebx, dword ptr [edi+04H] ja SHORT G_M000_IG09 movzx eax, word ptr [ecx] imul ebx, eax lea edx, bword ptr [esi+08H] add edi, 8 test dword ptr [ecx], 0xD1FFAB1E je SHORT G_M000_IG07 cmp ebx, 0x4000 ja SHORT G_M000_IG05 G_M000_IG04: push ebx mov ecx, edi call System.Buffer:__BulkMoveWithWriteBarrier(byref,byref,uint) jmp SHORT G_M000_IG06 G_M000_IG05: push ebx mov ecx, edi call [System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,uint)] G_M000_IG06: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG07: push ebx mov ecx, edi call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG08: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG09: mov ecx, esi xor edx, edx call [System.Array:GetLowerBound(int):int:this] mov dword ptr [ebp-10H], eax push edi mov ecx, edi xor edx, edx call [System.Array:GetLowerBound(int):int:this] push eax push ebx push 0 mov edx, dword ptr [ebp-10H] mov ecx, esi call [System.Array:CopyImpl(System.Array,int,System.Array,int,int,bool)] G_M000_IG10: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG11: mov ecx, 65 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG12: mov ecx, 67 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 195 882: JIT compiled System.Array:Copy(System.Array,System.Array,int) [Tier1, IL size=154, code size=195] ; Assembly listing for method System.Reflection.Associates:AssignAssociates(int,System.RuntimeType,System.RuntimeType):System.Reflection.RuntimeMethodInfo ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 11725 ; 3 inlinees with PGO data; 16 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-1CH], ebx mov dword ptr [ebp-24H], ebx mov dword ptr [ebp-28H], ebx mov dword ptr [ebp-10H], esp mov dword ptr [ebp-44H], 0xD1FFAB1E mov dword ptr [ebp-14H], ecx mov ebx, edx G_M000_IG02: lea edi, [ebp-60H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-4CH], eax test dword ptr [ebp-14H], 0xD1FFAB1E je G_M000_IG28 xor edx, edx cmp ebx, gword ptr [ebp+08H] setne dl mov dword ptr [ebp-18H], edx xor ecx, ecx mov bword ptr [ebp-40H], ecx xor eax, eax mov dword ptr [ebp-2CH], eax cmp byte ptr [ebx], bl mov gword ptr [ebp-38H], ebx mov gword ptr [ebp-1CH], ebx xor edi, edi mov gword ptr [ebp-24H], edi mov edi, gword ptr [ebp-1CH] test edi, edi je G_M000_IG29 mov gword ptr [ebp-28H], edi lea edi, [ebp-28H] mov edx, gword ptr [ebp-28H] test edx, edx je G_M000_IG19 G_M000_IG03: mov edx, dword ptr [edx+0CH] G_M000_IG04: mov dword ptr [ebp-30H], edx lea edx, [ebp-24H] push 1 push edx push dword ptr [ebp-30H] push edi mov dword ptr [ebp-58H], 0xD1FFAB1E mov edx, esp mov dword ptr [ebp-54H], edx lea edx, G_M000_IG07 mov dword ptr [ebp-50H], edx mov byte ptr [esi+08H], 0 G_M000_IG05: mov edx, 0xD1FFAB1E G_M000_IG06: call edx ; System.RuntimeTypeHandle:GetInstantiation(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack,int) G_M000_IG07: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG08 call CORINFO_HELP_STOP_FOR_GC G_M000_IG08: xor eax, eax mov dword ptr [ebp-50H], eax mov edi, gword ptr [ebp-24H] G_M000_IG09: mov gword ptr [ebp-24H], eax test edi, edi jne G_M000_IG23 G_M000_IG10: mov ecx, gword ptr [ebp-38H] call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov ecx, eax mov edi, bword ptr [ebp-40H] mov ebx, dword ptr [ebp-2CH] xor edx, edx push ebx push edi push 0 push edx mov edx, dword ptr [ebp-14H] call [System.ModuleHandle:ResolveMethodHandleInternal(System.Reflection.RuntimeModule,int,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int]):int] mov edi, eax cmp dword ptr [ebp-18H], 0 je SHORT G_M000_IG13 G_M000_IG11: mov ecx, edi call System.RuntimeMethodHandle:GetAttributes(int):int mov ecx, eax and ecx, 7 cmp ecx, 1 je G_M000_IG28 G_M000_IG12: test al, 64 jne SHORT G_M000_IG18 G_M000_IG13: mov ecx, gword ptr [ebp+08H] mov edx, edi call [System.RuntimeType:GetMethodBase(System.RuntimeType,int):System.Reflection.MethodBase] test eax, eax je SHORT G_M000_IG15 G_M000_IG14: xor ecx, ecx cmp dword ptr [eax], 0xD1FFAB1E cmovne eax, ecx G_M000_IG15: test eax, eax je G_M000_IG30 G_M000_IG16: mov ecx, bword ptr [ebp-5CH] mov dword ptr [esi+0CH], ecx cmp dword ptr [ebp-44H], 0xD1FFAB1E je SHORT G_M000_IG17 call CORINFO_HELP_FAIL_FAST G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG18: mov ecx, gword ptr [ebp-38H] call System.RuntimeTypeHandle:GetAttributes(System.RuntimeType):int test al, 32 jne SHORT G_M000_IG13 mov ecx, edi call System.RuntimeMethodHandle:GetSlot(int):int mov edx, eax mov ecx, gword ptr [ebp+08H] call System.RuntimeTypeHandle:GetMethodAt(System.RuntimeType,int):int mov edi, eax jmp SHORT G_M000_IG13 G_M000_IG19: xor edx, edx jmp G_M000_IG04 G_M000_IG20: mov edx, ecx xor ecx, ecx test ebx, ebx jle SHORT G_M000_IG22 G_M000_IG21: mov dword ptr [ebp-2CH], edx cmp ecx, edx jae G_M000_IG31 mov bword ptr [ebp-40H], eax lea ebx, bword ptr [eax+4*ecx] mov bword ptr [ebp-3CH], ebx mov dword ptr [ebp-20H], ecx mov ebx, gword ptr [edi+4*ecx+08H] cmp byte ptr [ebx], bl mov gword ptr [ebp-1CH], ebx lea ecx, [ebp-1CH] call [System.RuntimeTypeHandle:get_Value():int:this] mov ebx, bword ptr [ebp-3CH] mov dword ptr [ebx], eax mov ebx, dword ptr [ebp-20H] inc ebx mov eax, dword ptr [ebp-34H] cmp eax, ebx mov ecx, ebx mov eax, bword ptr [ebp-40H] mov edx, dword ptr [ebp-2CH] jg SHORT G_M000_IG21 mov bword ptr [ebp-40H], eax mov dword ptr [ebp-2CH], edx jmp G_M000_IG10 G_M000_IG22: mov bword ptr [ebp-40H], eax mov dword ptr [ebp-2CH], edx jmp G_M000_IG10 G_M000_IG23: mov ebx, dword ptr [edi+04H] mov dword ptr [ebp-34H], ebx cmp ebx, 16 jg SHORT G_M000_IG26 mov ecx, ebx mov eax, 4 mul edx:eax, ecx jb SHORT G_M000_IG27 test eax, eax je SHORT G_M000_IG25 mov edx, eax add edx, 3 and edx, -4 neg edx add edx, esp jb SHORT G_M000_IG24 xor edx, edx G_M000_IG24: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, edx jae SHORT G_M000_IG24 mov esp, edx lea eax, [esp] G_M000_IG25: mov dword ptr [ebp-10H], esp jmp G_M000_IG20 G_M000_IG26: mov edx, ebx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC lea ecx, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] mov edx, eax mov eax, ecx mov ecx, edx jmp G_M000_IG20 G_M000_IG27: call CORINFO_HELP_OVERFLOW G_M000_IG28: xor eax, eax jmp G_M000_IG16 G_M000_IG29: 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_IG30: mov ebx, gword ptr [ebp+08H] cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov ecx, eax push 0 push 0 mov edx, dword ptr [ebp-14H] cmp dword ptr [ecx], ecx call [System.Reflection.RuntimeModule:ResolveMethod(int,System.Type[],System.Type[]):System.Reflection.MethodBase:this] mov edx, eax mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] jmp G_M000_IG16 G_M000_IG31: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 670 883: JIT compiled System.Reflection.Associates:AssignAssociates(int,System.RuntimeType,System.RuntimeType) [Tier1 with Static PGO, IL size=278, code size=670] ; Assembly listing for method System.RuntimeType:GetMethodBase(System.RuntimeType,int):System.Reflection.MethodBase ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 18308 ; 6 inlinees with PGO data; 16 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 mov edi, ecx mov esi, edx G_M000_IG02: mov ecx, esi call System.RuntimeMethodHandle:IsDynamicMethod(int):bool test eax, eax jne G_M000_IG45 mov ecx, esi call System.RuntimeMethodHandle:GetDeclaringType(int):System.RuntimeType mov ebx, eax xor eax, eax mov gword ptr [ebp-18H], eax test edi, edi cmove edi, ebx cmp edi, ebx je SHORT G_M000_IG04 G_M000_IG03: mov ecx, edi mov edx, ebx cmp dword ptr [ecx], ecx call [System.RuntimeType:IsSubclassOf(System.Type):bool:this] test eax, eax je G_M000_IG34 G_M000_IG04: push gword ptr [ebp-18H] mov ecx, esi mov edx, ebx call System.RuntimeMethodHandle:GetStubIfNeeded(int,System.RuntimeType,System.RuntimeType[]):int mov esi, eax mov ecx, esi call System.RuntimeMethodHandle:IsConstructor(int):bool test eax, eax jne G_M000_IG18 G_M000_IG05: mov ecx, esi call System.RuntimeMethodHandle:HasMethodInstantiation(int):bool test eax, eax jne G_M000_IG23 G_M000_IG06: mov ecx, dword ptr [edi+08H] test ecx, ecx je G_M000_IG20 G_M000_IG07: mov ecx, gword ptr [ecx] test ecx, ecx je G_M000_IG20 G_M000_IG08: mov edi, ecx G_M000_IG09: mov eax, edi cmp byte ptr [eax], al lea eax, bword ptr [edi+1CH] mov bword ptr [ebp-38H], eax mov ecx, gword ptr [eax] test ecx, ecx je SHORT G_M000_IG15 G_M000_IG10: mov ecx, gword ptr [edi+1CH] push esi push 0 mov edx, ebx cmp dword ptr [ecx], ecx call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:AddMethod(System.RuntimeType,int,int):System.Reflection.MethodBase:this] G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG12: mov ecx, edi call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] mov edi, eax G_M000_IG13: mov eax, edi cmp byte ptr [eax], al lea eax, bword ptr [edi+20H] mov bword ptr [ebp-34H], eax mov ecx, gword ptr [eax] test ecx, ecx jne SHORT G_M000_IG17 G_M000_IG14: jmp SHORT G_M000_IG16 G_M000_IG15: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+08H] call CORINFO_HELP_ASSIGN_REF_EDI push 0 mov ecx, bword ptr [ebp-38H] mov edx, eax call System.Threading.Interlocked:CompareExchange(byref,System.Object,System.Object):System.Object jmp SHORT G_M000_IG10 G_M000_IG16: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+08H] call CORINFO_HELP_ASSIGN_REF_EDI push 0 mov ecx, bword ptr [ebp-34H] mov edx, eax call System.Threading.Interlocked:CompareExchange(byref,System.Object,System.Object):System.Object G_M000_IG17: mov ecx, gword ptr [edi+20H] push esi push 1 mov edx, ebx cmp dword ptr [ecx], ecx call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:AddMethod(System.RuntimeType,int,int):System.Reflection.MethodBase:this] jmp SHORT G_M000_IG11 G_M000_IG18: mov eax, dword ptr [edi+08H] test eax, eax je SHORT G_M000_IG12 G_M000_IG19: jmp SHORT G_M000_IG21 G_M000_IG20: mov ecx, edi call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] mov edi, eax jmp G_M000_IG09 G_M000_IG21: mov ecx, gword ptr [eax] test ecx, ecx je G_M000_IG12 G_M000_IG22: jmp SHORT G_M000_IG27 G_M000_IG23: mov ecx, esi call System.RuntimeMethodHandle:IsGenericMethodDefinition(int):bool test eax, eax jne G_M000_IG06 G_M000_IG24: mov ecx, dword ptr [edi+08H] test ecx, ecx je SHORT G_M000_IG31 G_M000_IG25: mov ecx, gword ptr [ecx] test ecx, ecx je SHORT G_M000_IG31 G_M000_IG26: mov edx, esi cmp dword ptr [ecx], ecx call [System.RuntimeType+RuntimeTypeCache:GetGenericMethodInfo(int):System.Reflection.MethodInfo:this] jmp G_M000_IG11 G_M000_IG27: mov edi, ecx jmp G_M000_IG13 G_M000_IG28: mov gword ptr [ebp-20H], edx mov edx, edi G_M000_IG29: mov gword ptr [ebp-24H], edx mov ecx, edx mov gword ptr [ebp-28H], ecx cmp dword ptr [ecx], ecx call [System.RuntimeType:get_IsGenericType():bool:this] test eax, eax je SHORT G_M000_IG39 G_M000_IG30: jmp SHORT G_M000_IG32 G_M000_IG31: mov ecx, edi call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] mov ecx, eax jmp SHORT G_M000_IG26 G_M000_IG32: mov ecx, gword ptr [ebp-28H] call [System.RuntimeType:get_IsGenericTypeDefinition():bool:this] test eax, eax jne SHORT G_M000_IG39 G_M000_IG33: jmp SHORT G_M000_IG36 G_M000_IG34: mov ecx, edi call [System.RuntimeTypeHandle:IsArray(System.RuntimeType):bool] test eax, eax jne G_M000_IG49 mov ecx, ebx cmp dword ptr [ecx], ecx call [System.RuntimeType:get_IsGenericType():bool:this] test eax, eax je G_M000_IG44 mov ecx, ebx call [System.RuntimeType:GetGenericTypeDefinition():System.Type:this] mov edx, eax test edx, edx je SHORT G_M000_IG28 G_M000_IG35: mov ecx, 0xD1FFAB1E cmp dword ptr [edx], ecx jne G_M000_IG53 jmp SHORT G_M000_IG28 G_M000_IG36: mov ecx, gword ptr [ebp-28H] call [System.RuntimeType:GetGenericTypeDefinition():System.Type:this] mov ecx, eax test ecx, ecx je SHORT G_M000_IG38 G_M000_IG37: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx jne G_M000_IG55 G_M000_IG38: mov gword ptr [ebp-28H], ecx G_M000_IG39: mov eax, gword ptr [ebp-28H] cmp eax, gword ptr [ebp-20H] je SHORT G_M000_IG41 mov ecx, gword ptr [ebp-24H] call [System.RuntimeType:GetBaseType():System.RuntimeType:this] test eax, eax jne SHORT G_M000_IG43 G_M000_IG40: mov gword ptr [ebp-24H], eax G_M000_IG41: mov eax, gword ptr [ebp-24H] test eax, eax je G_M000_IG54 mov ebx, eax mov ecx, esi call System.RuntimeMethodHandle:IsGenericMethodDefinition(int):bool test eax, eax jne SHORT G_M000_IG42 mov ecx, esi call [System.RuntimeMethodHandle:GetMethodInstantiationInternal(int):System.RuntimeType[]] mov gword ptr [ebp-18H], eax G_M000_IG42: mov ecx, esi mov edx, ebx call System.RuntimeMethodHandle:GetMethodFromCanonical(int,System.RuntimeType):int mov esi, eax jmp G_M000_IG04 G_M000_IG43: mov edx, eax jmp G_M000_IG29 G_M000_IG44: mov ecx, ebx mov edx, edi call [System.RuntimeType:IsAssignableFrom(System.Reflection.TypeInfo):bool:this] test eax, eax jne G_M000_IG04 call [System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo] mov esi, eax call [System.SR:get_Argument_ResolveMethodHandle():System.String] mov gword ptr [ebp-2CH], eax mov ecx, edi mov edx, 1 call [System.RuntimeType:GetCachedName(int):System.String:this] mov edi, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-30H], eax push edi mov ecx, ebx mov edx, 1 call [System.RuntimeType:GetCachedName(int):System.String:this] push eax mov edx, gword ptr [ebp-2CH] mov ecx, esi call [System.String:Format(System.IFormatProvider,System.String,System.Object,System.Object):System.String] mov edx, eax mov ecx, gword ptr [ebp-30H] call [System.ArgumentException:.ctor(System.String):this] mov ecx, gword ptr [ebp-30H] call CORINFO_HELP_THROW G_M000_IG45: mov ecx, esi call System.RuntimeMethodHandle:GetResolver(int):System.Resolver test eax, eax je SHORT G_M000_IG47 mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+2CH] call [eax+10H]System.Resolver:GetDynamicMethod():System.Reflection.MethodInfo:this G_M000_IG46: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG47: xor eax, eax G_M000_IG48: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG49: mov ecx, esi call System.RuntimeMethodHandle:GetName(int):System.String mov edx, eax push 9 push 52 mov ecx, edi call [System.RuntimeType:GetMember(System.String,int,int):System.Reflection.MemberInfo[]:this] mov edx, eax mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFARRAY] mov gword ptr [ebp-1CH], eax xor ecx, ecx mov dword ptr [ebp-10H], ecx xor edx, edx jmp SHORT G_M000_IG52 G_M000_IG50: mov dword ptr [ebp-14H], edx mov edx, gword ptr [eax+4*edx+08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTINTERFACE] mov ecx, eax call [System.IRuntimeMethodInfo:get_Value():int:this] cmp eax, esi jne SHORT G_M000_IG51 mov ecx, 1 mov dword ptr [ebp-10H], ecx G_M000_IG51: mov edx, dword ptr [ebp-14H] inc edx mov eax, gword ptr [ebp-1CH] G_M000_IG52: cmp dword ptr [eax+04H], edx jg SHORT G_M000_IG50 cmp dword ptr [ebp-10H], 0 jne G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Argument_ResolveMethodHandle():System.String] mov ecx, eax push ebx mov edx, edi call [System.SR:Format(System.String,System.Object,System.Object):System.String] mov edx, eax mov ecx, esi call [System.ArgumentException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG53: mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG54: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Argument_ResolveMethodHandle():System.String] mov ecx, eax push ebx mov edx, edi call [System.SR:Format(System.String,System.Object,System.Object):System.String] mov edx, eax mov ecx, esi call [System.ArgumentException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG55: mov ecx, edx mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 967 884: JIT compiled System.RuntimeType:GetMethodBase(System.RuntimeType,int) [Tier1 with Static PGO, IL size=465, code size=967] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:AddMethod(System.RuntimeType,int,int):System.Reflection.MethodBase:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 17923 ; 3 inlinees with PGO data; 20 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 eax, dword ptr [ebp+08H] G_M000_IG02: mov edi, gword ptr [ebp-34H] mov edx, gword ptr [edi+04H] test edx, edx je SHORT G_M000_IG12 G_M000_IG03: mov dword ptr [ebp+08H], eax test eax, eax jne G_M000_IG27 G_M000_IG04: mov gword ptr [ebp-3CH], edx xor ecx, ecx mov eax, dword ptr [edx+04H] mov dword ptr [ebp-30H], eax test eax, eax jle G_M000_IG20 G_M000_IG05: mov dword ptr [ebp-24H], ecx mov ebx, gword ptr [edx+4*ecx+08H] test ebx, ebx je SHORT G_M000_IG20 G_M000_IG06: cmp dword ptr [ebx], 0xD1FFAB1E jne SHORT G_M000_IG10 G_M000_IG07: cmp byte ptr [ebx], bl mov edi, ebx cmp dword ptr [edi], 0xD1FFAB1E jne SHORT G_M000_IG13 G_M000_IG08: mov edi, dword ptr [edi+28H] G_M000_IG09: cmp edi, esi je SHORT G_M000_IG15 G_M000_IG10: mov ecx, dword ptr [ebp-24H] inc ecx mov eax, dword ptr [ebp-30H] cmp eax, ecx mov dword ptr [ebp-30H], eax mov edx, gword ptr [ebp-3CH] jg SHORT G_M000_IG05 G_M000_IG11: jmp SHORT G_M000_IG20 G_M000_IG12: mov dword ptr [ebp+08H], eax jmp SHORT G_M000_IG20 G_M000_IG13: mov ecx, edi call [System.IRuntimeMethodInfo:get_Value():int:this] mov edi, eax jmp SHORT G_M000_IG09 G_M000_IG14: mov ecx, eax call [System.IRuntimeMethodInfo:get_Value():int:this] jmp SHORT G_M000_IG18 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: mov eax, dword ptr [eax+28H] G_M000_IG18: cmp eax, esi je G_M000_IG32 G_M000_IG19: mov ecx, dword ptr [ebp-28H] inc ecx mov edx, dword ptr [ebp-30H] cmp edx, ecx mov dword ptr [ebp-30H], edx jg G_M000_IG28 G_M000_IG20: 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_IG43 G_M000_IG21: or ecx, 2 cmp dword ptr [ebp-18H], 0 jne SHORT G_M000_IG25 G_M000_IG22: or ecx, 4 G_M000_IG23: mov dword ptr [ebp-20H], ecx mov ecx, dword ptr [ebp+08H] test ecx, ecx je G_M000_IG40 G_M000_IG24: jmp G_M000_IG48 G_M000_IG25: or ecx, 72 jmp SHORT G_M000_IG23 G_M000_IG26: jmp SHORT G_M000_IG35 G_M000_IG27: cmp dword ptr [ebp+08H], 1 jne SHORT G_M000_IG20 mov gword ptr [ebp-40H], edx xor ecx, ecx mov edx, dword ptr [edx+04H] mov dword ptr [ebp-30H], edx test edx, edx jle G_M000_IG20 G_M000_IG28: mov eax, gword ptr [ebp-40H] mov dword ptr [ebp-28H], ecx mov eax, gword ptr [eax+4*ecx+08H] test eax, eax je G_M000_IG20 mov gword ptr [ebp-44H], eax cmp dword ptr [eax], 0xD1FFAB1E jne G_M000_IG19 cmp byte ptr [eax], al cmp dword ptr [eax], 0xD1FFAB1E jne G_M000_IG14 G_M000_IG29: jmp G_M000_IG17 G_M000_IG30: cmp dword ptr [esi], edx je SHORT G_M000_IG26 G_M000_IG31: jmp SHORT G_M000_IG34 G_M000_IG32: mov eax, gword ptr [ebp-44H] G_M000_IG33: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG34: mov ecx, edx mov edx, esi call [CORINFO_HELP_CHKCASTARRAY] mov esi, eax G_M000_IG35: mov gword ptr [ebp-10H], esi G_M000_IG36: 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_IG52 mov edx, gword ptr [ebp-10H] mov edx, gword ptr [edx+08H] mov eax, edx test eax, eax je SHORT G_M000_IG39 G_M000_IG37: cmp dword ptr [eax], 0xD1FFAB1E je SHORT G_M000_IG39 G_M000_IG38: mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] G_M000_IG39: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG40: 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+20H] test edx, edx je SHORT G_M000_IG47 G_M000_IG41: cmp dword ptr [esi], edx je SHORT G_M000_IG45 G_M000_IG42: mov ecx, edx mov edx, esi call [CORINFO_HELP_CHKCASTARRAY] jmp SHORT G_M000_IG46 G_M000_IG43: cmp dword ptr [ebp-18H], 0 je G_M000_IG22 G_M000_IG44: or ecx, 8 jmp G_M000_IG23 G_M000_IG45: mov eax, esi G_M000_IG46: mov gword ptr [ebp-10H], eax jmp G_M000_IG36 G_M000_IG47: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax jmp SHORT G_M000_IG41 G_M000_IG48: cmp ecx, 1 jne G_M000_IG36 G_M000_IG49: 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+20H] test edx, edx je SHORT G_M000_IG51 G_M000_IG50: jmp G_M000_IG30 G_M000_IG51: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax jmp G_M000_IG30 G_M000_IG52: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 770 885: JIT compiled System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:AddMethod(System.RuntimeType,int,int) [Tier1 with Static PGO, IL size=354, code size=770] ; Assembly listing for method System.Buffer:Memmove[System.__Canon](byref,byref,uint) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, dword ptr [ebp+0CH] shl eax, 2 cmp eax, 0x4000 ja SHORT G_M000_IG04 G_M000_IG03: push eax call System.Buffer:__BulkMoveWithWriteBarrier(byref,byref,uint) jmp SHORT G_M000_IG05 G_M000_IG04: push eax call [System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,uint)] G_M000_IG05: pop ebp ret 8 ; Total bytes of code 35 886: JIT compiled System.Buffer:Memmove[System.__Canon](byref,byref,uint) [Tier1, IL size=61, code size=35] ; Assembly listing for method System.Reflection.RuntimePropertyInfo:.ctor(int,System.RuntimeType,System.RuntimeType+RuntimeTypeCache,byref):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 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, 48 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov esi, ecx mov edi, edx mov ebx, gword ptr [ebp+10H] G_M000_IG02: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov gword ptr [ebp-30H], eax cmp byte ptr [eax], al mov ecx, eax call System.ModuleHandle:_GetMetadataImport(System.Reflection.RuntimeModule):int mov dword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-3CH], ecx mov dword ptr [esi+24H], edi lea edx, bword ptr [esi+08H] mov ecx, gword ptr [ebp+0CH] call CORINFO_HELP_ASSIGN_REF_ECX lea edx, bword ptr [esi+18H] call CORINFO_HELP_ASSIGN_REF_EBX lea edx, bword ptr [esi+28H] mov bword ptr [ebp-34H], edx lea ecx, bword ptr [esi+2CH] mov bword ptr [ebp-38H], ecx lea eax, [ebp-24H] push eax lea eax, [ebp-28H] push eax lea eax, [ebp-14H] push eax mov ecx, dword ptr [ebp-2CH] mov edx, edi call System.Reflection.MetadataImport:_GetPropertyProps(int,int,uint,byref,byref) mov ecx, dword ptr [ebp-24H] mov edx, bword ptr [ebp-34H] mov dword ptr [edx], ecx mov ecx, dword ptr [ebp-28H] mov edx, bword ptr [ebp-38H] mov dword ptr [edx], ecx push dword ptr [ebp-2CH] push gword ptr [ebp-3CH] mov ecx, gword ptr [ebp+0CH] push gword ptr [ecx+04H] lea ecx, [ebp-18H] push ecx lea ecx, [ebp-1CH] push ecx lea ecx, [ebp-20H] push ecx lea ecx, bword ptr [esi+0CH] push ecx lea ecx, bword ptr [esi+10H] push ecx lea ecx, bword ptr [esi+14H] push ecx push bword ptr [ebp+08H] add esi, 48 push esi mov ecx, edi mov edx, ebx call [System.Reflection.Associates:AssignAssociates(System.Reflection.MetadataImport,int,System.RuntimeType,System.RuntimeType,byref,byref,byref,byref,byref,byref,byref,byref)] G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 192 887: JIT compiled System.Reflection.RuntimePropertyInfo:.ctor(int,System.RuntimeType,System.RuntimeType+RuntimeTypeCache,byref) [Tier1, IL size=108, code size=192] ; Assembly listing for method System.Reflection.Associates:AssignAssociates(System.Reflection.MetadataImport,int,System.RuntimeType,System.RuntimeType,byref,byref,byref,byref,byref,byref,byref,byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 7462 ; 5 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, 160 vxorps 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 dword ptr [ebp-10H], 0xD1FFAB1E mov edi, ecx mov esi, edx G_M000_IG02: mov ebx, bword ptr [ebp+08H] mov bword ptr [ebp-ACH], ebx mov eax, bword ptr [ebp+0CH] mov bword ptr [ebp-A8H], eax mov edx, bword ptr [ebp+10H] mov bword ptr [ebp-A4H], edx mov ecx, bword ptr [ebp+14H] mov bword ptr [ebp-A0H], ecx mov ebx, bword ptr [ebp+18H] mov bword ptr [ebp-9CH], ebx mov eax, bword ptr [ebp+1CH] mov bword ptr [ebp-98H], eax mov edx, bword ptr [ebp+20H] mov bword ptr [ebp-94H], edx mov eax, bword ptr [ebp+24H] mov bword ptr [ebp-90H], eax mov eax, gword ptr [ebp+28H] xor edx, edx mov gword ptr [ecx], edx G_M000_IG03: mov gword ptr [ebx], edx G_M000_IG04: mov ecx, bword ptr [ebp-98H] mov gword ptr [ecx], edx G_M000_IG05: mov ecx, bword ptr [ebp-94H] mov gword ptr [ecx], edx G_M000_IG06: mov ecx, bword ptr [ebp-90H] mov gword ptr [ecx], edx mov dword ptr [ebp-5CH], 15 mov gword ptr [ebp-8CH], eax mov ecx, eax call System.RuntimeTypeHandle:IsGenericVariable(System.RuntimeType):bool test eax, eax jne G_M000_IG45 G_M000_IG07: mov eax, gword ptr [ebp-8CH] xor edx, edx cmp esi, eax setne dl mov dword ptr [ebp-60H], edx xor ecx, ecx mov gword ptr [ebp-78H], ecx push edi lea edi, [ebp-58H] push edi mov ecx, dword ptr [ebp+30H] mov edx, 0xD1FFAB1E call System.Reflection.MetadataImport:_Enum(int,int,int,byref) mov edi, dword ptr [ebp-54H] mov eax, edi shr eax, 31 add edi, eax sar edi, 1 mov dword ptr [ebp-64H], edi xor eax, eax test edi, edi jle G_M000_IG30 G_M000_IG08: mov dword ptr [ebp-68H], eax lea ecx, [eax+eax] mov edx, ecx mov ebx, gword ptr [ebp-58H] test ebx, ebx je SHORT G_M000_IG10 G_M000_IG09: mov edi, ebx cmp edx, dword ptr [edi+04H] jae G_M000_IG51 mov edi, dword ptr [edi+4*edx+08H] jmp SHORT G_M000_IG11 G_M000_IG10: lea edi, bword ptr [ebp-50H] mov bword ptr [ebp-80H], edi mov edi, bword ptr [ebp-80H] mov edi, dword ptr [edi+4*edx] G_M000_IG11: inc ecx test ebx, ebx je SHORT G_M000_IG13 G_M000_IG12: cmp ecx, dword ptr [ebx+04H] jae G_M000_IG51 mov ebx, dword ptr [ebx+4*ecx+08H] jmp SHORT G_M000_IG14 G_M000_IG13: lea edx, bword ptr [ebp-50H] mov bword ptr [ebp-84H], edx mov edx, bword ptr [ebp-84H] mov ebx, dword ptr [edx+4*ecx] G_M000_IG14: push gword ptr [ebp-8CH] mov ecx, edi mov edx, esi call [System.Reflection.Associates:AssignAssociates(int,System.RuntimeType,System.RuntimeType):System.Reflection.RuntimeMethodInfo] mov edi, eax test edi, edi je SHORT G_M000_IG26 G_M000_IG15: mov edx, dword ptr [edi+30H] mov ecx, edx and ecx, 7 xor eax, eax cmp ecx, 1 sete al mov dword ptr [ebp-6CH], eax xor eax, eax test dl, 64 setne al test dl, 16 setne dl movzx edx, dl cmp ecx, 6 jne SHORT G_M000_IG17 G_M000_IG16: mov ecx, dword ptr [ebp-5CH] and ecx, -5 jmp SHORT G_M000_IG19 G_M000_IG17: cmp dword ptr [ebp-6CH], 0 jne SHORT G_M000_IG20 G_M000_IG18: mov ecx, dword ptr [ebp-5CH] G_M000_IG19: and ecx, -3 mov dword ptr [ebp-5CH], ecx G_M000_IG20: test edx, edx jne SHORT G_M000_IG25 G_M000_IG21: test eax, eax jne SHORT G_M000_IG23 G_M000_IG22: mov ecx, dword ptr [ebp-5CH] and ecx, -2 mov dword ptr [ebp-5CH], ecx G_M000_IG23: cmp ebx, 1 jne SHORT G_M000_IG28 G_M000_IG24: mov edx, bword ptr [ebp-A0H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI jmp SHORT G_M000_IG26 G_M000_IG25: mov ecx, dword ptr [ebp-5CH] and ecx, -9 mov dword ptr [ebp-5CH], ecx jmp SHORT G_M000_IG21 G_M000_IG26: mov ebx, dword ptr [ebp-68H] inc ebx mov edi, dword ptr [ebp-64H] cmp ebx, edi mov eax, ebx jl G_M000_IG08 G_M000_IG27: jmp SHORT G_M000_IG30 G_M000_IG28: cmp ebx, 2 jne SHORT G_M000_IG32 G_M000_IG29: mov edx, bword ptr [ebp-9CH] call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI jmp SHORT G_M000_IG26 G_M000_IG30: mov ecx, dword ptr [ebp-5CH] xor eax, eax test cl, 8 sete al mov edx, 16 mov edi, 32 test cl, 4 cmovne edx, edi cmp dword ptr [ebp-60H], 0 je SHORT G_M000_IG38 G_M000_IG31: jmp SHORT G_M000_IG40 G_M000_IG32: cmp ebx, 32 je G_M000_IG47 cmp ebx, 8 jne SHORT G_M000_IG42 G_M000_IG33: mov edx, bword ptr [ebp-90H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI jmp SHORT G_M000_IG26 G_M000_IG34: or edx, 4 G_M000_IG35: mov ebx, bword ptr [ebp-ACH] mov dword ptr [ebx], edx test cl, 2 setne dl mov edi, bword ptr [ebp-A8H] mov byte ptr [edi], dl mov esi, bword ptr [ebp-A4H] mov edi, gword ptr [ebp-78H] test edi, edi jne SHORT G_M000_IG44 xor ecx, ecx G_M000_IG36: mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG37 call CORINFO_HELP_FAIL_FAST G_M000_IG37: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 44 G_M000_IG38: test eax, eax je SHORT G_M000_IG34 G_M000_IG39: or edx, 8 jmp SHORT G_M000_IG35 G_M000_IG40: or edx, 2 test eax, eax je SHORT G_M000_IG34 G_M000_IG41: jmp SHORT G_M000_IG43 G_M000_IG42: cmp ebx, 16 jne SHORT G_M000_IG48 mov edx, bword ptr [ebp-94H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI jmp G_M000_IG26 G_M000_IG43: or edx, 72 jmp SHORT G_M000_IG35 G_M000_IG44: mov ecx, edi call [System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this] mov ecx, eax jmp SHORT G_M000_IG36 G_M000_IG45: mov eax, gword ptr [ebp-8CH] cmp byte ptr [eax], al mov ecx, eax call [System.RuntimeType:GetBaseType():System.RuntimeType:this] mov edx, eax test edx, edx je SHORT G_M000_IG46 mov ecx, 0xD1FFAB1E cmp dword ptr [edx], ecx je SHORT G_M000_IG46 mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG46: mov eax, edx mov gword ptr [ebp-8CH], eax mov ecx, eax call System.RuntimeTypeHandle:IsGenericVariable(System.RuntimeType):bool test eax, eax jne SHORT G_M000_IG45 jmp G_M000_IG07 G_M000_IG47: mov edx, bword ptr [ebp-98H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI jmp G_M000_IG26 G_M000_IG48: mov eax, gword ptr [ebp-78H] test eax, eax jne SHORT G_M000_IG49 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-7CH], eax mov ecx, eax mov edx, dword ptr [ebp-64H] call [System.Collections.Generic.List`1[System.__Canon]:.ctor(int):this] mov eax, gword ptr [ebp-7CH] G_M000_IG49: inc dword ptr [eax+0CH] mov edx, gword ptr [eax+04H] mov gword ptr [ebp-88H], edx mov gword ptr [ebp-78H], eax mov edx, dword ptr [eax+08H] mov dword ptr [ebp-74H], edx mov eax, gword ptr [ebp-88H] cmp dword ptr [eax+04H], edx jbe SHORT G_M000_IG50 lea eax, [edx+01H] mov edx, gword ptr [ebp-78H] mov dword ptr [edx+08H], eax push edi mov ecx, gword ptr [ebp-88H] mov edx, dword ptr [ebp-74H] call CORINFO_HELP_ARRADDR_ST jmp G_M000_IG26 G_M000_IG50: mov ecx, gword ptr [ebp-78H] mov edx, edi call [System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this] jmp G_M000_IG26 G_M000_IG51: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 889 888: JIT compiled System.Reflection.Associates:AssignAssociates(System.Reflection.MetadataImport,int,System.RuntimeType,System.RuntimeType,byref,byref,byref,byref,byref,byref,byref,byref) [Tier1 with Static PGO, IL size=402, code size=889] ; Assembly listing for method System.Reflection.RuntimePropertyInfo:GetGetMethod(bool):System.Reflection.RuntimeMethodInfo:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 37849 ; 2 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, gword ptr [ecx+0CH] mov ecx, eax test ecx, ecx je SHORT G_M000_IG06 G_M000_IG03: test dl, dl je SHORT G_M000_IG05 G_M000_IG04: pop ebp ret G_M000_IG05: mov edx, dword ptr [ecx+30H] and edx, 7 cmp edx, 6 je SHORT G_M000_IG04 G_M000_IG06: xor eax, eax G_M000_IG07: pop ebp ret ; Total bytes of code 33 889: JIT compiled System.Reflection.RuntimePropertyInfo:GetGetMethod(bool) [Tier1 with Static PGO, IL size=23, code size=33] ; Assembly listing for method System.Collections.Generic.HashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 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, 56 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.HashSet`1[System.__Canon]:Initialize(int):int:this] G_M000_IG04: mov eax, gword ptr [esi+08H] mov gword ptr [ebp-34H], eax mov edx, gword ptr [esi+0CH] mov gword ptr [ebp-38H], edx xor ecx, ecx mov dword ptr [ebp-14H], ecx test edi, edi jne SHORT G_M000_IG06 G_M000_IG05: mov edx, gword ptr [ebp-38H] xor ebx, ebx mov gword ptr [ebp-30H], edi mov gword ptr [ebp-38H], edx jmp SHORT G_M000_IG10 G_M000_IG06: mov edx, gword ptr [ebp-38H] 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+2CH] test ebx, ebx je SHORT G_M000_IG08 G_M000_IG07: jmp SHORT G_M000_IG09 G_M000_IG08: mov gword ptr [ebp-38H], edx mov ecx, dword ptr [ebp-28H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ebx, eax mov edx, gword ptr [ebp-38H] G_M000_IG09: mov gword ptr [ebp-38H], edx mov ecx, edx mov gword ptr [ebp-30H], edi mov edx, edi mov eax, ebx nop call [eax] mov ebx, eax G_M000_IG10: mov dword ptr [ebp-10H], ebx mov edx, gword ptr [esi+04H] mov gword ptr [ebp-44H], edx mov edx, dword ptr [edx+04H] mov edi, edx mov eax, ebx xor edx, edx div edx:eax, edi mov edi, gword ptr [ebp-44H] lea edi, bword ptr [edi+4*edx+08H] mov bword ptr [ebp-3CH], edi mov eax, dword ptr [edi] dec eax js SHORT G_M000_IG15 G_M000_IG11: mov edx, gword ptr [ebp-34H] cmp eax, dword ptr [edx+04H] jae G_M000_IG29 mov dword ptr [ebp-18H], eax lea edi, [eax+2*eax] mov gword ptr [ebp-34H], edx lea edi, bword ptr [edx+4*edi+08H] cmp dword ptr [edi+04H], ebx jne SHORT G_M000_IG14 G_M000_IG12: mov ebx, dword ptr [esi] mov dword ptr [ebp-2CH], 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_IG16 G_M000_IG13: mov dword ptr [ebp-20H], ebx jmp SHORT G_M000_IG17 G_M000_IG14: mov ebx, dword ptr [ebp-10H] jmp SHORT G_M000_IG18 G_M000_IG15: mov edx, gword ptr [ebp-34H] jmp SHORT G_M000_IG19 G_M000_IG16: mov ecx, dword ptr [ebp-2CH] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-20H], eax G_M000_IG17: mov ebx, gword ptr [edi] push gword ptr [ebp-30H] mov edx, ebx mov ecx, gword ptr [ebp-38H] mov eax, dword ptr [ebp-20H] nop call [eax] test eax, eax mov ebx, dword ptr [ebp-10H] jne SHORT G_M000_IG21 G_M000_IG18: mov eax, dword ptr [edi+08H] mov edi, eax mov ecx, dword ptr [ebp-14H] inc ecx mov edx, gword ptr [ebp-34H] mov dword ptr [ebp-14H], ecx cmp dword ptr [edx+04H], ecx jb G_M000_IG28 test edi, edi mov eax, edi jge SHORT G_M000_IG20 G_M000_IG19: mov eax, dword ptr [esi+18H] test eax, eax jle SHORT G_M000_IG23 mov edi, dword ptr [esi+14H] mov dword ptr [ebp-24H], edi dec eax mov dword ptr [esi+18H], eax mov eax, dword ptr [ebp-24H] cmp eax, dword ptr [edx+04H] jae G_M000_IG29 lea eax, [eax+2*eax] mov eax, dword ptr [edx+4*eax+10H] neg eax add eax, -3 mov dword ptr [esi+14H], eax jmp SHORT G_M000_IG25 G_M000_IG20: mov gword ptr [ebp-34H], edx jmp G_M000_IG11 G_M000_IG21: mov ebx, bword ptr [ebp+08H] mov eax, dword ptr [ebp-18H] mov dword ptr [ebx], eax xor eax, eax G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG23: mov eax, dword ptr [esi+10H] mov edi, eax mov dword ptr [ebp-1CH], edi cmp dword ptr [edx+04H], edi jne SHORT G_M000_IG24 mov ecx, eax call [System.Collections.HashHelpers:ExpandPrime(int):int] mov edx, eax push 0 mov ecx, esi call [System.Collections.Generic.HashSet`1[System.__Canon]:Resize(int,bool):this] mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] mov edi, edx mov eax, ebx xor edx, edx div edx:eax, edi lea edi, bword ptr [ecx+4*edx+08H] mov bword ptr [ebp-3CH], edi G_M000_IG24: mov edi, dword ptr [ebp-1CH] lea edx, [edi+01H] mov dword ptr [esi+10H], edx mov edx, gword ptr [esi+08H] mov eax, edx mov edx, eax G_M000_IG25: cmp edi, dword ptr [edx+04H] jae G_M000_IG29 lea eax, [edi+2*edi] mov gword ptr [ebp-34H], edx lea eax, bword ptr [edx+4*eax+08H] mov bword ptr [ebp-40H], eax mov dword ptr [eax+04H], ebx mov ebx, bword ptr [ebp-3CH] mov eax, dword ptr [ebx] dec eax mov ebx, bword ptr [ebp-40H] mov dword ptr [ebx+08H], eax mov eax, gword ptr [ebp-30H] mov edx, ebx call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX lea edx, [edi+01H] mov ebx, bword ptr [ebp-3CH] mov dword ptr [ebx], edx inc dword ptr [esi+1CH] mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], edi cmp dword ptr [ebp-14H], 100 jbe SHORT G_M000_IG26 mov edx, gword ptr [ebp-38H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG26 mov edi, gword ptr [ebp-34H] mov edx, dword ptr [edi+04H] push 1 mov ecx, esi call [System.Collections.Generic.HashSet`1[System.__Canon]:Resize(int,bool):this] mov ecx, esi mov edx, gword ptr [ebp-30H] call [System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon):int:this] mov dword ptr [ebx], eax G_M000_IG26: mov eax, 1 G_M000_IG27: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG28: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG29: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 581 890: JIT compiled System.Collections.Generic.HashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref) [Tier1, IL size=500, code size=581] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(uint,System.Object):System.Object ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 822933 ; 0 inlinees with PGO data; 8 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov eax, ecx G_M000_IG02: test edx, edx je SHORT G_M000_IG15 G_M000_IG03: mov gword ptr [ebp-18H], edx mov esi, dword ptr [edx] mov dword ptr [ebp-14H], esi cmp esi, eax je SHORT G_M000_IG09 G_M000_IG04: mov edi, gword ptr [D1FFAB1EH] add edi, 8 mov ecx, esi rol ecx, 16 mov dword ptr [ebp-10H], eax xor ecx, eax imul ebx, ecx, 0xD1FFAB1E mov ecx, dword ptr [edi] shr ebx, cl xor ecx, ecx align [2 bytes for IG05] G_M000_IG05: lea edx, [ebx+01H] lea edx, [edx+2*edx] lea edx, bword ptr [edi+4*edx] mov eax, dword ptr [edx] mov esi, dword ptr [edx+04H] and eax, -2 cmp esi, dword ptr [ebp-14H] jne SHORT G_M000_IG07 G_M000_IG06: mov esi, dword ptr [ebp-10H] xor esi, dword ptr [edx+08H] cmp esi, 1 jbe SHORT G_M000_IG10 G_M000_IG07: test eax, eax je SHORT G_M000_IG11 inc ecx add ebx, ecx and ebx, dword ptr [edi+04H] cmp ecx, 8 jl SHORT G_M000_IG05 G_M000_IG08: jmp SHORT G_M000_IG11 G_M000_IG09: mov edx, gword ptr [ebp-18H] jmp SHORT G_M000_IG15 G_M000_IG10: cmp eax, dword ptr [edx] jne SHORT G_M000_IG11 jmp SHORT G_M000_IG12 G_M000_IG11: mov esi, 2 G_M000_IG12: cmp esi, 1 je SHORT G_M000_IG17 G_M000_IG13: test esi, esi jne SHORT G_M000_IG18 G_M000_IG14: xor edx, edx G_M000_IG15: mov eax, edx G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG17: mov edx, gword ptr [ebp-18H] jmp SHORT G_M000_IG15 G_M000_IG18: mov ecx, dword ptr [ebp-10H] mov edx, gword ptr [ebp-18H] call System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny_NoCacheLookup(uint,System.Object):System.Object G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 175 891: JIT compiled System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny(uint,System.Object) [Tier1 with Static PGO, IL size=42, code size=175] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateRtFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 5191 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-1CH], 0xD1FFAB1E mov edi, ecx mov esi, edx G_M000_IG02: mov ecx, -256 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 ebx, [esp] mov dword ptr [ebp-10H], esp mov dword ptr [ebp-14H], 64 lea ecx, [ebp-14H] push ecx mov ecx, esi mov edx, ebx call System.RuntimeTypeHandle:GetFields(System.RuntimeType,uint,uint):bool test eax, eax je SHORT G_M000_IG07 cmp dword ptr [ebp-14H], 0 jg SHORT G_M000_IG06 G_M000_IG04: cmp dword ptr [ebp-1CH], 0xD1FFAB1E je SHORT G_M000_IG05 call CORINFO_HELP_FAIL_FAST G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG06: push dword ptr [ebp+14H] push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp-14H] push esi push bword ptr [ebp+08H] mov ecx, edi mov edx, ebx call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateRtFields(System.RuntimeType+RuntimeTypeCache+Filter,uint,int,System.RuntimeType,byref):this] jmp SHORT G_M000_IG04 G_M000_IG07: mov edx, dword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-18H], eax mov ecx, gword ptr [ebp-18H] cmp dword ptr [ecx+04H], 0 jne SHORT G_M000_IG08 xor ebx, ebx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, gword ptr [ebp-18H] cmp dword ptr [ecx+04H], 0 jbe SHORT G_M000_IG11 mov ebx, gword ptr [ebp-18H] add ebx, 8 G_M000_IG09: lea ecx, [ebp-14H] push ecx mov ecx, esi mov edx, ebx call System.RuntimeTypeHandle:GetFields(System.RuntimeType,uint,uint):bool push dword ptr [ebp+14H] push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp-14H] push esi push bword ptr [ebp+08H] mov ecx, edi mov edx, ebx call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateRtFields(System.RuntimeType+RuntimeTypeCache+Filter,uint,int,System.RuntimeType,byref):this] xor eax, eax mov gword ptr [ebp-18H], eax cmp dword ptr [ebp-1CH], 0xD1FFAB1E je SHORT G_M000_IG10 call CORINFO_HELP_FAIL_FAST G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG11: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 260 892: JIT compiled System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateRtFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref) [Tier1 with Static PGO, IL size=97, code size=260] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 5198 ; 5 inlinees with PGO data; 20 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 176 vxorps 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 ebx, ebx mov dword ptr [ebp-18H], ebx mov dword ptr [ebp-14H], ebx mov dword ptr [ebp-10H], 0xD1FFAB1E mov gword ptr [ebp-8CH], ecx mov ebx, edx G_M000_IG02: lea edi, [ebp-B8H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov ecx, ebp mov dword ptr [ebp-A4H], ecx mov edi, bword ptr [ebp+08H] mov bword ptr [ebp-9CH], edi mov ecx, ebx call System.RuntimeTypeHandle:GetToken(System.RuntimeType):int mov dword ptr [ebp-5CH], eax test eax, 0xD1FFAB1E je G_M000_IG29 mov ecx, ebx call System.RuntimeTypeHandle:_GetMetadataImport(System.RuntimeType):int mov dword ptr [ebp-88H], eax push dword ptr [ebp-5CH] lea ecx, [ebp-58H] push ecx mov ecx, eax mov edx, 0xD1FFAB1E call System.Reflection.MetadataImport:_Enum(int,int,int,byref) xor eax, eax cmp dword ptr [ebp-54H], 0 jle G_M000_IG29 G_M000_IG03: cmp gword ptr [ebp-58H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, gword ptr [ebp-58H] cmp eax, dword ptr [ecx+04H] jae G_M000_IG34 mov edx, dword ptr [ecx+4*eax+08H] mov dword ptr [ebp-60H], eax jmp SHORT G_M000_IG06 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-60H], eax mov edx, dword ptr [ecx+4*eax] G_M000_IG06: mov dword ptr [ebp-64H], edx lea ecx, [ebp-7CH] push ecx mov ecx, dword ptr [ebp-88H] call System.Reflection.MetadataImport:_GetFieldDefProps(int,int,byref) mov eax, dword ptr [ebp-7CH] mov dword ptr [ebp-68H], eax mov edx, eax and edx, 7 mov dword ptr [ebp-6CH], edx test al, 64 je G_M000_IG28 G_M000_IG07: mov ecx, gword ptr [ebp-8CH] mov edi, gword ptr [ecx+08H] mov gword ptr [ebp-90H], ebx xor ecx, ecx cmp ebx, gword ptr [edi+04H] setne cl mov dword ptr [ebp-70H], ecx test ecx, ecx jne SHORT G_M000_IG12 G_M000_IG08: mov edi, dword ptr [ebp+14H] cmp edi, 1 je SHORT G_M000_IG11 G_M000_IG09: cmp edi, 2 jne SHORT G_M000_IG10 jmp SHORT G_M000_IG13 G_M000_IG10: jmp G_M000_IG31 G_M000_IG11: jmp SHORT G_M000_IG13 G_M000_IG12: cmp edx, 1 mov ebx, gword ptr [ebp-90H] je G_M000_IG28 mov ecx, dword ptr [ebp-70H] mov edx, dword ptr [ebp-6CH] mov gword ptr [ebp-90H], ebx mov dword ptr [ebp-70H], ecx jmp SHORT G_M000_IG08 G_M000_IG13: lea ecx, [ebp-80H] push ecx mov ecx, dword ptr [ebp-88H] mov edx, dword ptr [ebp-64H] call System.Reflection.MetadataImport:_GetName(int,int,uint) mov eax, dword ptr [ebp-80H] mov ecx, eax mov dword ptr [ebp-84H], ecx test ecx, ecx je G_M000_IG32 G_M000_IG14: call [System.SpanHelpers:IndexOfNullByte(uint):int] G_M000_IG15: mov ecx, dword ptr [ebp-84H] cmp edi, 1 jne SHORT G_M000_IG19 cmp eax, dword ptr [ebp+10H] je SHORT G_M000_IG17 G_M000_IG16: xor edx, edx jmp SHORT G_M000_IG18 G_M000_IG17: push dword ptr [ebp+10H] mov edx, dword ptr [ebp+0CH] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] mov edx, eax G_M000_IG18: jmp SHORT G_M000_IG26 G_M000_IG19: cmp edi, 2 jne G_M000_IG31 G_M000_IG20: cmp eax, dword ptr [ebp+10H] je SHORT G_M000_IG22 G_M000_IG21: xor edx, edx jmp SHORT G_M000_IG26 G_M000_IG22: cmp dword ptr [ebp+10H], 0 je G_M000_IG33 push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push ecx mov dword ptr [ebp-B0H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-ACH], eax lea eax, G_M000_IG24 mov dword ptr [ebp-A8H], eax mov byte ptr [esi+08H], 0 G_M000_IG23: call [System.MdUtf8String:g____PInvoke|0_0(uint,uint,int):int] G_M000_IG24: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG25 call CORINFO_HELP_STOP_FOR_GC G_M000_IG25: xor ecx, ecx mov dword ptr [ebp-A8H], ecx xor edx, edx test edi, edi setne dl G_M000_IG26: test edx, edx jne SHORT G_M000_IG31 G_M000_IG27: mov ebx, gword ptr [ebp-90H] G_M000_IG28: mov eax, dword ptr [ebp-60H] inc eax cmp eax, dword ptr [ebp-54H] jl G_M000_IG03 G_M000_IG29: mov eax, bword ptr [ebp-B4H] mov dword ptr [esi+0CH], eax cmp dword ptr [ebp-10H], 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 16 G_M000_IG31: mov edi, dword ptr [ebp-68H] xor ecx, ecx test edi, 16 setne cl push ecx xor ecx, ecx cmp dword ptr [ebp-6CH], 6 sete cl mov edx, dword ptr [ebp-70H] call [System.RuntimeType:FilterPreCalculate(bool,bool,bool):int] mov dword ptr [ebp-74H], eax mov ebx, gword ptr [ebp-90H] cmp byte ptr [ebx], bl mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, gword ptr [ebp-8CH] mov edx, gword ptr [ecx+08H] mov gword ptr [ebp-98H], edx mov edx, dword ptr [ebp-74H] mov dword ptr [eax+0CH], edx lea edx, bword ptr [eax+08H] call CORINFO_HELP_ASSIGN_REF_EBX lea edx, bword ptr [eax+04H] mov ecx, gword ptr [ebp-98H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, dword ptr [ebp-64H] mov dword ptr [eax+18H], edx xor ecx, ecx mov gword ptr [eax+10H], ecx mov dword ptr [eax+1CH], edi push 0xD1FFAB1E mov ecx, bword ptr [ebp-9CH] mov edx, eax call [System.RuntimeType+ListBuilder`1[System.__Canon]:Add(System.__Canon):this] jmp G_M000_IG28 G_M000_IG32: xor edx, edx mov eax, edx jmp G_M000_IG15 G_M000_IG33: mov edx, 1 jmp G_M000_IG26 G_M000_IG34: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 729 893: JIT compiled System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateLiteralFields(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,byref) [Tier1 with Static PGO, IL size=215, code size=729] ; Assembly listing for method System.Collections.HashHelpers:ExpandPrime(int):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 92754 G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: lea eax, [ecx+ecx] cmp eax, 0xD1FFAB1E ja SHORT G_M000_IG05 G_M000_IG03: mov ecx, eax call [System.Collections.HashHelpers:GetPrime(int):int] G_M000_IG04: pop ebp ret G_M000_IG05: cmp ecx, 0xD1FFAB1E jge SHORT G_M000_IG03 mov eax, 0xD1FFAB1E G_M000_IG06: pop ebp ret ; Total bytes of code 38 894: JIT compiled System.Collections.HashHelpers:ExpandPrime(int) [Tier1 with Static PGO, IL size=33, code size=38] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi mov esi, ecx G_M000_IG02: call System.Environment:get_CurrentManagedThreadId():int mov dword ptr [esi+08H], eax G_M000_IG03: pop esi ret ; Total bytes of code 13 895: JIT compiled System.Linq.Enumerable+Iterator`1[System.__Canon]:.ctor() [Tier1, IL size=18, code size=13] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[bool],bool,byref):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 7833 ; 14 inlinees with PGO data; 33 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 268 vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-B8H], xmm4 mov ebx, -144 vmovdqu xmmword ptr [ebp+ebx-18H], xmm4 vmovdqu xmmword ptr [ebp+ebx-08H], xmm4 vmovdqu xmmword ptr [ebp+ebx+08H], xmm4 add ebx, 48 jne SHORT -5 instr mov dword ptr [ebp-18H], ebx mov dword ptr [ebp-14H], ebx mov dword ptr [ebp-10H], 0xD1FFAB1E mov gword ptr [ebp-C0H], ecx mov ebx, edx G_M000_IG02: lea edi, [ebp-114H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-ACH], esi mov ecx, ebp mov dword ptr [ebp-100H], ecx mov edx, bword ptr [ebp+08H] mov bword ptr [ebp-F8H], edx lea edi, bword ptr [ebp-B8H] lea esi, bword ptr [ebp+10H] movsd movsd mov edx, gword ptr [ebp+18H] mov gword ptr [ebp-F4H], edx mov ecx, ebx call System.RuntimeTypeHandle:GetToken(System.RuntimeType):int mov edi, eax test edi, 0xD1FFAB1E je G_M000_IG58 mov ecx, ebx call System.RuntimeTypeHandle:_GetMetadataImport(System.RuntimeType):int mov ecx, eax push edi lea edx, [ebp-58H] push edx mov edx, 0xD1FFAB1E call System.Reflection.MetadataImport:_Enum(int,int,int,byref) mov ecx, ebx call System.RuntimeTypeHandle:GetNumVirtuals(System.RuntimeType):int mov dword ptr [ebp-5CH], eax xor eax, eax cmp dword ptr [ebp-54H], 0 jle G_M000_IG58 G_M000_IG03: cmp gword ptr [ebp-58H], 0 je SHORT G_M000_IG05 G_M000_IG04: mov ecx, gword ptr [ebp-58H] cmp eax, dword ptr [ecx+04H] jae G_M000_IG65 mov edx, dword ptr [ecx+4*eax+08H] mov dword ptr [ebp-60H], eax jmp SHORT G_M000_IG06 G_M000_IG05: lea edx, bword ptr [ebp-50H] mov bword ptr [ebp-DCH], edx mov ecx, bword ptr [ebp-DCH] mov dword ptr [ebp-60H], eax mov edx, dword ptr [ecx+4*eax] G_M000_IG06: mov dword ptr [ebp-64H], edx mov ecx, dword ptr [ebp+24H] mov dword ptr [ebp-BCH], ecx cmp ecx, 1 je SHORT G_M000_IG14 G_M000_IG07: cmp ecx, 2 jne SHORT G_M000_IG13 G_M000_IG08: cmp byte ptr [ebx], bl mov gword ptr [ebp-C4H], ebx mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule cmp byte ptr [eax], al mov ecx, eax call System.ModuleHandle:_GetMetadataImport(System.Reflection.RuntimeModule):int mov ecx, eax lea edx, [ebp-7CH] push edx mov edx, dword ptr [ebp-64H] call System.Reflection.MetadataImport:_GetName(int,int,uint) mov eax, dword ptr [ebp-7CH] mov ecx, eax mov dword ptr [ebp-80H], ecx test ecx, ecx je G_M000_IG61 G_M000_IG09: call [System.SpanHelpers:IndexOfNullByte(uint):int] G_M000_IG10: mov ecx, dword ptr [ebp-80H] mov edx, dword ptr [ebp-BCH] cmp edx, 1 jne SHORT G_M000_IG17 G_M000_IG11: cmp eax, dword ptr [ebp+20H] je SHORT G_M000_IG15 G_M000_IG12: xor eax, eax jmp SHORT G_M000_IG16 G_M000_IG13: mov gword ptr [ebp-C4H], ebx jmp G_M000_IG27 G_M000_IG14: jmp SHORT G_M000_IG08 G_M000_IG15: push dword ptr [ebp+20H] mov edx, dword ptr [ebp+1CH] call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] G_M000_IG16: jmp G_M000_IG24 G_M000_IG17: cmp edx, 2 jne G_M000_IG27 G_M000_IG18: cmp eax, dword ptr [ebp+20H] je SHORT G_M000_IG20 G_M000_IG19: xor eax, eax jmp SHORT G_M000_IG24 G_M000_IG20: cmp dword ptr [ebp+20H], 0 je G_M000_IG62 push dword ptr [ebp+20H] push dword ptr [ebp+1CH] push ecx mov dword ptr [ebp-10CH], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-108H], eax lea eax, G_M000_IG22 mov dword ptr [ebp-104H], eax mov eax, dword ptr [ebp-ACH] mov byte ptr [eax+08H], 0 G_M000_IG21: call [System.MdUtf8String:g____PInvoke|0_0(uint,uint,int):int] G_M000_IG22: mov esi, eax mov ebx, dword ptr [ebp-ACH] mov byte ptr [ebx+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG23 call CORINFO_HELP_STOP_FOR_GC G_M000_IG23: xor ecx, ecx mov dword ptr [ebp-104H], ecx xor eax, eax test esi, esi setne al mov dword ptr [ebp-ACH], ebx G_M000_IG24: test eax, eax jne SHORT G_M000_IG27 G_M000_IG25: mov eax, dword ptr [ebp-60H] inc eax cmp eax, dword ptr [ebp-54H] mov ebx, gword ptr [ebp-C4H] jl G_M000_IG03 G_M000_IG26: jmp G_M000_IG58 G_M000_IG27: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-D0H], eax mov edx, gword ptr [ebp-C0H] mov ecx, gword ptr [edx+08H] mov gword ptr [ebp-E0H], ecx mov ebx, gword ptr [ebp-C4H] cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov gword ptr [ebp-E4H], eax cmp byte ptr [eax], al mov ecx, eax call System.ModuleHandle:_GetMetadataImport(System.Reflection.RuntimeModule):int mov dword ptr [ebp-B0H], eax mov ecx, gword ptr [ebp-E4H] mov gword ptr [ebp-F0H], ecx mov edx, gword ptr [ebp-D0H] mov edi, dword ptr [ebp-64H] mov dword ptr [edx+24H], edi mov gword ptr [ebp-D0H], edx lea edx, bword ptr [edx+08H] mov ecx, gword ptr [ebp-E0H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, gword ptr [ebp-D0H] lea edx, bword ptr [edx+18H] call CORINFO_HELP_ASSIGN_REF_EBX mov edx, gword ptr [ebp-D0H] lea esi, bword ptr [edx+28H] mov bword ptr [ebp-E8H], esi mov gword ptr [ebp-D0H], edx lea eax, bword ptr [edx+2CH] mov bword ptr [ebp-ECH], eax lea esi, [ebp-98H] push esi lea esi, [ebp-9CH] push esi lea esi, [ebp-88H] push esi mov ecx, dword ptr [ebp-B0H] mov edx, edi call System.Reflection.MetadataImport:_GetPropertyProps(int,int,uint,byref,byref) mov ecx, dword ptr [ebp-98H] mov esi, bword ptr [ebp-E8H] mov dword ptr [esi], ecx mov ecx, dword ptr [ebp-9CH] mov esi, bword ptr [ebp-ECH] mov dword ptr [esi], ecx push dword ptr [ebp-B0H] push gword ptr [ebp-F0H] mov esi, gword ptr [ebp-E0H] push gword ptr [esi+04H] lea ecx, [ebp-8CH] push ecx G_M000_IG28: lea ecx, [ebp-90H] push ecx lea ecx, [ebp-94H] push ecx mov esi, gword ptr [ebp-D0H] lea ecx, bword ptr [esi+0CH] push ecx lea ecx, bword ptr [esi+10H] push ecx lea ecx, bword ptr [esi+14H] push ecx lea ecx, [ebp-68H] push ecx lea ecx, bword ptr [esi+30H] push ecx mov ecx, edi mov edx, ebx call [System.Reflection.Associates:AssignAssociates(System.Reflection.MetadataImport,int,System.RuntimeType,System.RuntimeType,byref,byref,byref,byref,byref,byref,byref,byref)] xor ecx, ecx mov gword ptr [ebp-8CH], ecx G_M000_IG29: mov gword ptr [ebp-90H], ecx G_M000_IG30: mov gword ptr [ebp-94H], ecx cmp byte ptr [ebp+0CH], 0 jne G_M000_IG57 G_M000_IG31: mov edi, gword ptr [ebp-C0H] mov ecx, gword ptr [edi+08H] cmp ebx, gword ptr [ecx+04H] setne cl movzx ecx, cl movzx edx, byte ptr [ebp-68H] test ecx, edx jne G_M000_IG39 G_M000_IG32: mov ecx, esi xor edx, edx mov eax, dword ptr [D1FFAB1EH] call [eax+04H]System.Reflection.PropertyInfo:GetGetMethod(bool):System.Reflection.MethodInfo:this mov edx, eax test edx, edx je G_M000_IG51 G_M000_IG33: test edx, edx je SHORT G_M000_IG35 G_M000_IG34: mov eax, edx mov gword ptr [ebp-D8H], eax mov ecx, 0xD1FFAB1E cmp dword ptr [eax], ecx jne G_M000_IG60 mov ecx, dword ptr [eax+28H] call System.RuntimeMethodHandle:GetSlot(int):int mov edx, dword ptr [ebp-5CH] cmp eax, edx jl SHORT G_M000_IG40 G_M000_IG35: cmp gword ptr [ebp-F4H], 0 je G_M000_IG55 G_M000_IG36: mov eax, gword ptr [ebp-F4H] mov ecx, gword ptr [esi+04H] test ecx, ecx je G_M000_IG53 G_M000_IG37: mov gword ptr [ebp-C8H], ecx mov gword ptr [ebp-F4H], eax mov ecx, eax mov edx, gword ptr [ebp-C8H] call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this] test eax, eax je SHORT G_M000_IG43 G_M000_IG38: mov eax, gword ptr [eax] mov ecx, eax mov gword ptr [ebp-CCH], ecx jmp G_M000_IG44 G_M000_IG39: mov gword ptr [ebp-C4H], ebx jmp G_M000_IG25 G_M000_IG40: cmp eax, dword ptr [ebp-B4H] jae G_M000_IG65 mov ecx, bword ptr [ebp-B8H] cmp byte ptr [ecx+eax], 0 jne SHORT G_M000_IG42 G_M000_IG41: mov ecx, bword ptr [ebp-B8H] mov byte ptr [ecx+eax], 1 jmp SHORT G_M000_IG35 G_M000_IG42: mov gword ptr [ebp-C4H], ebx jmp G_M000_IG25 G_M000_IG43: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-D4H], eax mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_OBJ mov ecx, gword ptr [ebp-D4H] lea edx, bword ptr [ecx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov gword ptr [ebp-CCH], ecx push ecx push 1 mov ecx, gword ptr [ebp-F4H] mov edx, gword ptr [ebp-C8H] call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):bool:this] G_M000_IG44: xor eax, eax mov ecx, gword ptr [ebp-CCH] cmp dword ptr [ecx+08H], 0 jg SHORT G_M000_IG47 G_M000_IG45: inc dword ptr [ecx+0CH] mov edx, gword ptr [ecx+04H] mov eax, dword ptr [ecx+08H] cmp dword ptr [edx+04H], eax jbe G_M000_IG54 G_M000_IG46: lea edi, [eax+01H] mov dword ptr [ecx+08H], edi push esi mov ecx, edx mov edx, eax call CORINFO_HELP_ARRADDR_ST jmp G_M000_IG57 G_M000_IG47: mov gword ptr [ebp-CCH], ecx mov dword ptr [ebp-6CH], eax mov edx, eax call [System.Collections.Generic.List`1[System.__Canon]:get_Item(int):System.__Canon:this] mov edx, eax mov ecx, esi call [System.Reflection.RuntimePropertyInfo:EqualsSig(System.Reflection.RuntimePropertyInfo):bool:this] test eax, eax jne SHORT G_M000_IG50 G_M000_IG48: mov eax, dword ptr [ebp-6CH] inc eax mov ecx, gword ptr [ebp-CCH] cmp eax, dword ptr [ecx+08H] jl SHORT G_M000_IG47 G_M000_IG49: jmp SHORT G_M000_IG45 G_M000_IG50: mov gword ptr [ebp-C4H], ebx jmp G_M000_IG25 G_M000_IG51: mov ecx, esi xor edx, edx mov eax, dword ptr [D1FFAB1EH] call [eax+0CH]System.Reflection.PropertyInfo:GetSetMethod(bool):System.Reflection.MethodInfo:this mov edx, eax jmp G_M000_IG33 G_M000_IG52: mov ecx, dword ptr [ebp-A8H] mov dword ptr [ebp-A4H], ecx mov dword ptr [ebp-A0H], eax lea ecx, [ebp-A4H] call [System.MdUtf8String:ToString():System.String:this] mov ecx, eax lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov eax, ecx mov ecx, eax mov eax, gword ptr [ebp-F4H] jmp G_M000_IG37 G_M000_IG53: mov ecx, dword ptr [esi+28H] mov dword ptr [ebp-A8H], ecx test ecx, ecx je G_M000_IG63 mov gword ptr [ebp-F4H], eax call [System.SpanHelpers:IndexOfNullByte(uint):int] jmp SHORT G_M000_IG52 G_M000_IG54: mov edx, esi call [System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this] jmp SHORT G_M000_IG57 G_M000_IG55: xor ecx, ecx mov dword ptr [ebp-70H], ecx xor ecx, ecx mov dword ptr [ebp-74H], ecx mov ecx, bword ptr [ebp-F8H] cmp dword ptr [ecx+08H], 0 jg SHORT G_M000_IG64 G_M000_IG56: mov bword ptr [ebp-F8H], ecx G_M000_IG57: push 0xD1FFAB1E mov ecx, bword ptr [ebp-F8H] mov edx, esi call [System.RuntimeType+ListBuilder`1[System.__Canon]:Add(System.__Canon):this] mov gword ptr [ebp-C4H], ebx jmp G_M000_IG25 G_M000_IG58: mov ecx, bword ptr [ebp-110H] mov ebx, dword ptr [ebp-ACH] mov dword ptr [ebx+0CH], ecx 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: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG61: xor edx, edx mov eax, edx jmp G_M000_IG10 G_M000_IG62: mov ecx, 1 mov eax, ecx jmp G_M000_IG24 G_M000_IG63: xor ecx, ecx mov gword ptr [ebp-F4H], eax mov eax, ecx jmp G_M000_IG52 G_M000_IG64: push 0xD1FFAB1E mov bword ptr [ebp-F8H], ecx mov edx, dword ptr [ebp-74H] call [System.RuntimeType+ListBuilder`1[System.__Canon]:get_Item(int):System.__Canon:this] mov edx, eax mov ecx, esi call [System.Reflection.RuntimePropertyInfo:EqualsSig(System.Reflection.RuntimePropertyInfo):bool:this] test eax, eax mov gword ptr [ebp-C4H], ebx jne G_M000_IG25 mov eax, esi mov ecx, dword ptr [ebp-74H] inc ecx mov edx, bword ptr [ebp-F8H] cmp ecx, dword ptr [edx+08H] mov dword ptr [ebp-74H], ecx mov ecx, edx mov esi, eax mov ebx, gword ptr [ebp-C4H] jl SHORT G_M000_IG64 cmp dword ptr [ebp-70H], 0 mov gword ptr [ebp-C4H], ebx mov bword ptr [ebp-F8H], ecx jne G_M000_IG25 mov eax, esi mov esi, eax mov ebx, gword ptr [ebp-C4H] jmp G_M000_IG57 G_M000_IG65: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1639 896: JIT compiled System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[bool],bool,byref) [Tier1 with Static PGO, IL size=410, code size=1639] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: test edx, edx jl G_M000_IG16 test edx, edx jle SHORT G_M000_IG04 G_M000_IG03: mov ecx, esi call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Initialize(int):int:this] G_M000_IG04: mov ecx, esi mov edi, gword ptr [ebp+08H] test edi, edi jne SHORT G_M000_IG09 G_M000_IG05: mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+38H] test edx, edx je SHORT G_M000_IG07 G_M000_IG06: 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 [System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default():System.Collections.Generic.EqualityComparer`1[System.__Canon]] mov edi, eax G_M000_IG09: lea edx, bword ptr [esi+0CH] call CORINFO_HELP_ASSIGN_REF_EDI mov ecx, dword ptr [esi] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG15 G_M000_IG10: mov ecx, gword ptr [esi+0CH] call [System.Collections.Generic.NonRandomizedStringEqualityComparer:GetStringComparer(System.Object):System.Collections.Generic.IEqualityComparer`1[System.String]] mov edi, eax test edi, edi je SHORT G_M000_IG15 mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+34H] test edx, edx je SHORT G_M000_IG12 G_M000_IG11: jmp SHORT G_M000_IG13 G_M000_IG12: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG13: mov ecx, edx mov edx, edi call [CORINFO_HELP_CHKCASTANY] lea edx, bword ptr [esi+0CH] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG14: pop esi pop edi pop ebp ret 4 G_M000_IG15: pop esi pop edi pop ebp ret 4 G_M000_IG16: mov ecx, 22 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int)] int3 ; Total bytes of code 182 897: JIT compiled System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]) [Tier1, IL size=136, code size=182] ; Assembly listing for method System.RuntimeType:FilterHelper(int,byref,bool,byref,byref,byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 64621 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, edx mov edi, bword ptr [ebp+0CH] G_M000_IG02: mov ebx, bword ptr [ebp+10H] mov byte ptr [ebx], 0 mov byte ptr [edi], 0 cmp gword ptr [esi], 0 jne SHORT G_M000_IG05 G_M000_IG03: xor ecx, ecx mov edi, bword ptr [ebp+08H] mov dword ptr [edi], ecx G_M000_IG04: pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG05: test cl, 1 jne SHORT G_M000_IG09 G_M000_IG06: mov edi, bword ptr [ebp+08H] mov dword ptr [edi], 1 G_M000_IG07: cmp byte ptr [ebp+14H], 0 je SHORT G_M000_IG04 G_M000_IG08: mov ecx, gword ptr [esi] mov edx, 42 cmp dword ptr [ecx], ecx call [System.String:EndsWith(ushort):bool:this] test eax, eax jne SHORT G_M000_IG10 jmp SHORT G_M000_IG04 G_M000_IG09: mov edx, gword ptr [esi] cmp byte ptr [edx], dl mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [System.Globalization.TextInfo:ToLower(System.String):System.String:this] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov byte ptr [edi], 1 mov edi, bword ptr [ebp+08H] mov dword ptr [edi], 2 jmp SHORT G_M000_IG07 G_M000_IG10: mov ecx, gword ptr [esi] mov edx, dword ptr [ecx+04H] dec edx push edx xor edx, edx call [System.String:Substring(int,int):System.String:this] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov byte ptr [ebx], 1 xor eax, eax mov dword ptr [edi], eax G_M000_IG11: pop ebx pop esi pop edi pop ebp ret 16 ; Total bytes of code 155 898: JIT compiled System.RuntimeType:FilterHelper(int,byref,bool,byref,byref,byref) [Tier1 with Static PGO, IL size=86, code size=155] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:GetMemberList(int,System.String,int):System.__Canon[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 89327 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx G_M000_IG02: cmp edx, 1 je SHORT G_M000_IG07 G_M000_IG03: cmp edx, 2 je SHORT G_M000_IG15 G_M000_IG04: cmp byte ptr [esi+0CH], 0 je SHORT G_M000_IG13 G_M000_IG05: mov eax, gword ptr [esi+04H] G_M000_IG06: pop esi pop ebp ret 8 G_M000_IG07: mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+14H] 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: push eax lea ecx, bword ptr [esi+10H] mov edx, gword ptr [ebp+0CH] call [System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this] test eax, eax je SHORT G_M000_IG12 G_M000_IG11: pop esi pop ebp ret 8 G_M000_IG12: push 1 push dword ptr [ebp+08H] mov ecx, esi mov edx, gword ptr [ebp+0CH] call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Populate(System.String,int,int):System.__Canon[]:this] jmp SHORT G_M000_IG11 G_M000_IG13: push edx push dword ptr [ebp+08H] mov ecx, esi xor edx, edx call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Populate(System.String,int,int):System.__Canon[]:this] G_M000_IG14: pop esi pop ebp ret 8 G_M000_IG15: mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+14H] test eax, eax je SHORT G_M000_IG17 G_M000_IG16: jmp SHORT G_M000_IG18 G_M000_IG17: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG18: push eax lea ecx, bword ptr [esi+14H] mov edx, gword ptr [ebp+0CH] call [System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this] test eax, eax jne SHORT G_M000_IG20 G_M000_IG19: push 2 push dword ptr [ebp+08H] mov ecx, esi mov edx, gword ptr [ebp+0CH] call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Populate(System.String,int,int):System.__Canon[]:this] G_M000_IG20: pop esi pop ebp ret 8 ; Total bytes of code 179 899: JIT compiled System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:GetMemberList(int,System.String,int) [Tier1 with Static PGO, IL size=92, code size=179] ; Assembly listing for method System.RuntimeType+ListBuilder`1[System.__Canon]:ToArray():System.__Canon[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 26139 G_M000_IG01: push ebp mov ebp, esp push edi push esi push eax mov dword ptr [ebp-0CH], edx mov esi, ecx mov ecx, edx G_M000_IG02: mov edi, dword ptr [esi+08H] test edi, edi je SHORT G_M000_IG07 G_M000_IG03: cmp edi, 1 jne SHORT G_M000_IG16 G_M000_IG04: mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] cmp dword ptr [edx+04H], 24 jle SHORT G_M000_IG13 G_M000_IG05: mov eax, dword ptr [edx+18H] test eax, eax je SHORT G_M000_IG13 G_M000_IG06: mov ecx, eax jmp SHORT G_M000_IG14 G_M000_IG07: mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] cmp dword ptr [edx+04H], 28 jle SHORT G_M000_IG10 G_M000_IG08: mov edx, dword ptr [edx+1CH] test edx, edx je SHORT G_M000_IG10 G_M000_IG09: jmp SHORT G_M000_IG11 G_M000_IG10: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG11: mov ecx, edx call [System.Array:Empty[System.__Canon]():System.__Canon[]] G_M000_IG12: pop ecx pop esi pop edi pop ebp ret G_M000_IG13: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov ecx, eax G_M000_IG14: mov edx, 1 call CORINFO_HELP_NEWARR_1_OBJ mov edi, eax push gword ptr [esi+04H] mov ecx, edi xor edx, edx call CORINFO_HELP_ARRADDR_ST mov eax, edi G_M000_IG15: pop ecx pop esi pop edi pop ebp ret G_M000_IG16: mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+14H] test eax, eax je SHORT G_M000_IG18 G_M000_IG17: jmp SHORT G_M000_IG19 G_M000_IG18: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG19: mov edx, edi push eax mov ecx, esi call [System.Array:Resize[System.__Canon](byref,int)] mov eax, dword ptr [esi+08H] mov dword ptr [esi+0CH], eax mov eax, gword ptr [esi] G_M000_IG20: pop ecx pop esi pop edi pop ebp ret ; Total bytes of code 183 900: JIT compiled System.RuntimeType+ListBuilder`1[System.__Canon]:ToArray() [Tier1 with Static PGO, IL size=79, code size=183] ; Assembly listing for method System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper_NoCacheLookup(byref,uint,System.Object) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, ecx mov eax, gword ptr [ebp+08H] G_M000_IG02: mov ecx, edx mov edx, eax call System.Runtime.CompilerServices.CastHelpers:IsInstanceOfAny_NoCacheLookup(uint,System.Object):System.Object test eax, eax je SHORT G_M000_IG04 mov ecx, esi mov edx, eax call System.Runtime.CompilerServices.CastHelpers:WriteBarrier(byref,System.Object) G_M000_IG03: pop esi pop ebp ret 4 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.ArrayTypeMismatchException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 64 901: JIT compiled System.Runtime.CompilerServices.CastHelpers:StelemRef_Helper_NoCacheLookup(byref,uint,System.Object) [Tier1, IL size=26, code size=64] ; Assembly listing for method System.SZGenericArrayEnumeratorBase:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; PGO data available, but IL did not match ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: G_M000_IG02: mov edx, dword ptr [ecx+08H] inc edx mov eax, gword ptr [ecx+04H] mov eax, dword ptr [eax+04H] cmp edx, eax jb SHORT G_M000_IG05 G_M000_IG03: mov dword ptr [ecx+08H], eax xor eax, eax G_M000_IG04: ret G_M000_IG05: mov dword ptr [ecx+08H], edx mov eax, 1 G_M000_IG06: ret ; Total bytes of code 29 902: JIT compiled System.SZGenericArrayEnumeratorBase:MoveNext() [Tier1, IL size=44, code size=29] ; Assembly listing for method System.SZGenericArrayEnumerator`1[System.__Canon]:get_Current():System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; PGO data available, but IL did not match G_M000_IG01: G_M000_IG02: mov edx, dword ptr [ecx+08H] mov eax, gword ptr [ecx+04H] mov ecx, dword ptr [eax+04H] cmp ecx, edx jbe SHORT G_M000_IG04 mov eax, gword ptr [eax+4*edx+08H] G_M000_IG03: ret G_M000_IG04: mov ecx, edx call [System.ThrowHelper:ThrowInvalidOperationException_EnumCurrent(int)] int3 ; Total bytes of code 27 903: JIT compiled System.SZGenericArrayEnumerator`1[System.__Canon]:get_Current() [Tier1, IL size=39, code size=27] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Resize(int,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 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, 64 mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, dword ptr [esi] mov dword ptr [ebp-20H], ebx mov ecx, ebx mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+3CH] 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 dword ptr [ebp-10H], edi mov edx, edi call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-34H], eax mov edx, dword ptr [esi+18H] mov dword ptr [ebp-14H], edx mov ecx, gword ptr [esi+08H] push edx mov edx, eax call [System.Array:Copy(System.Array,System.Array,int)] movzx ecx, byte ptr [ebp+08H] test cl, 1 mov edi, dword ptr [ebp-10H] je G_M000_IG28 G_M000_IG06: mov edx, gword ptr [esi+0CH] mov eax, edx test eax, eax je SHORT G_M000_IG09 G_M000_IG07: mov ecx, 0xD1FFAB1E cmp dword ptr [eax], ecx je SHORT G_M000_IG09 G_M000_IG08: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] mov gword ptr [ebp-40H], eax mov eax, gword ptr [ebp-40H] G_M000_IG09: mov ecx, dword ptr [ebx+20H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+34H] test edx, edx je SHORT G_M000_IG11 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: mov gword ptr [ebp-40H], eax mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax mov eax, gword ptr [ebp-40H] G_M000_IG12: mov dword ptr [ebp-1CH], edx mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]System.Collections.Generic.NonRandomizedStringEqualityComparer:GetRandomizedEqualityComparer():System.Collections.Generic.RandomizedStringEqualityComparer:this mov edx, eax mov ecx, dword ptr [ebp-1CH] call [CORINFO_HELP_CHKCASTANY] lea edx, bword ptr [esi+0CH] call CORINFO_HELP_ASSIGN_REF_EAX mov gword ptr [ebp-38H], eax xor edx, edx mov ecx, dword ptr [ebp-14H] test ecx, ecx jle SHORT G_M000_IG16 mov eax, gword ptr [ebp-34H] cmp dword ptr [eax+04H], ecx mov dword ptr [ebp-10H], edi jl SHORT G_M000_IG21 G_M000_IG13: mov dword ptr [ebp-18H], edx mov edi, edx shl edi, 4 cmp dword ptr [eax+edi+14H], -1 jl SHORT G_M000_IG19 G_M000_IG14: mov edi, dword ptr [ebx+20H] mov edi, dword ptr [edi] mov edi, dword ptr [edi+28H] test edi, edi je SHORT G_M000_IG17 G_M000_IG15: jmp SHORT G_M000_IG18 G_M000_IG16: jmp G_M000_IG28 G_M000_IG17: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edi, eax G_M000_IG18: mov edx, dword ptr [ebp-18H] mov ebx, edx shl ebx, 4 mov dword ptr [ebp-18H], edx mov ecx, edx shl ecx, 4 mov eax, gword ptr [ebp-34H] mov edx, gword ptr [eax+ecx+08H] mov ecx, gword ptr [ebp-38H] mov eax, edi nop call [eax] mov edi, gword ptr [ebp-34H] mov dword ptr [edi+ebx+10H], eax mov ebx, dword ptr [ebp-20H] G_M000_IG19: mov edx, dword ptr [ebp-18H] inc edx cmp edx, dword ptr [ebp-14H] mov eax, gword ptr [ebp-34H] jl SHORT G_M000_IG13 G_M000_IG20: mov edi, dword ptr [ebp-10H] jmp SHORT G_M000_IG28 G_M000_IG21: cmp edx, dword ptr [eax+04H] jae G_M000_IG45 mov dword ptr [ebp-18H], edx mov edi, edx shl edi, 4 lea edi, bword ptr [eax+edi+08H] mov bword ptr [ebp-4CH], edi cmp dword ptr [edi+0CH], -1 jl SHORT G_M000_IG26 G_M000_IG22: mov edi, dword ptr [ebx+20H] mov edi, dword ptr [edi] mov edi, dword ptr [edi+28H] test edi, edi je SHORT G_M000_IG24 G_M000_IG23: jmp SHORT G_M000_IG25 G_M000_IG24: mov ecx, ebx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edi, eax G_M000_IG25: mov edx, dword ptr [ebp-18H] mov ebx, edx shl ebx, 4 mov eax, gword ptr [ebp-34H] mov edx, gword ptr [eax+ebx+08H] mov ecx, gword ptr [ebp-38H] mov eax, edi nop call [eax] mov edi, bword ptr [ebp-4CH] mov dword ptr [edi+08H], eax mov ebx, dword ptr [ebp-20H] G_M000_IG26: mov edx, dword ptr [ebp-18H] inc edx cmp edx, dword ptr [ebp-14H] jl G_M000_IG35 G_M000_IG27: mov edi, dword ptr [ebp-10H] G_M000_IG28: 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 ebx, dword ptr [ebp-14H] test ebx, ebx jle G_M000_IG41 mov eax, gword ptr [ebp-34H] cmp dword ptr [eax+04H], ebx jl SHORT G_M000_IG36 G_M000_IG29: mov edx, edi shl edx, 4 cmp dword ptr [eax+edx+14H], -1 jl SHORT G_M000_IG33 G_M000_IG30: mov edx, edi shl edx, 4 mov edx, dword ptr [eax+edx+10H] mov ecx, gword ptr [esi+04H] push 0 push edx push 0 mov gword ptr [ebp-44H], ecx push dword ptr [ecx+04H] call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG31 test edx, edx jne G_M000_IG44 jmp SHORT G_M000_IG32 G_M000_IG31: cmp edx, -1 jne G_M000_IG44 G_M000_IG32: mov edx, gword ptr [ebp-44H] cmp eax, dword ptr [edx+04H] jae G_M000_IG45 lea ecx, bword ptr [edx+4*eax+08H] mov edx, edi shl edx, 4 mov bword ptr [ebp-3CH], ecx mov eax, dword ptr [ecx] dec eax mov ecx, gword ptr [ebp-34H] mov dword ptr [ecx+edx+14H], eax lea eax, [edi+01H] mov edx, bword ptr [ebp-3CH] mov dword ptr [edx], eax mov eax, ecx G_M000_IG33: inc edi cmp edi, ebx jl SHORT G_M000_IG29 G_M000_IG34: jmp SHORT G_M000_IG41 G_M000_IG35: mov eax, gword ptr [ebp-34H] jmp G_M000_IG21 G_M000_IG36: cmp edi, dword ptr [eax+04H] jae SHORT G_M000_IG45 mov edx, edi shl edx, 4 lea edx, bword ptr [eax+edx+08H] mov bword ptr [ebp-48H], edx cmp dword ptr [edx+0CH], -1 jl SHORT G_M000_IG40 G_M000_IG37: mov ecx, dword ptr [edx+08H] mov edx, gword ptr [esi+04H] push 0 push ecx push 0 mov gword ptr [ebp-44H], edx push dword ptr [edx+04H] call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG38 test edx, edx jne SHORT G_M000_IG44 jmp SHORT G_M000_IG39 G_M000_IG38: cmp edx, -1 jne SHORT G_M000_IG44 G_M000_IG39: mov edx, gword ptr [ebp-44H] cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG45 lea edx, bword ptr [edx+4*eax+08H] mov eax, dword ptr [edx] dec eax mov ecx, bword ptr [ebp-48H] mov dword ptr [ecx+0CH], eax lea eax, [edi+01H] mov dword ptr [edx], eax G_M000_IG40: inc edi cmp edi, ebx jl SHORT G_M000_IG43 G_M000_IG41: lea edx, bword ptr [esi+08H] mov eax, gword ptr [ebp-34H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG42: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG43: mov eax, gword ptr [ebp-34H] jmp SHORT G_M000_IG36 G_M000_IG44: call CORINFO_HELP_OVERFLOW G_M000_IG45: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 721 904: JIT compiled System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Resize(int,bool) [Tier1, IL size=242, code size=721] ; Assembly listing for method System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Initialize(int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: mov ecx, edx call [System.Collections.HashHelpers:GetPrime(int):int] mov edi, eax mov edx, edi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov ebx, eax mov ecx, dword ptr [esi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov eax, dword ptr [edx+3CH] 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 dword ptr [esi+1CH], -1 lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EBX lea edx, bword ptr [esi+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, edi G_M000_IG06: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 99 905: JIT compiled System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Initialize(int) [Tier1, IL size=44, code size=99] ; Assembly listing for method System.RuntimeType:GetHashCode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int G_M000_IG03: ret ; Total bytes of code 6 906: JIT compiled System.RuntimeType:GetHashCode() [Tier1, IL size=7, code size=6] ; Assembly listing for method System.MulticastDelegate:CtorOpened(System.Object,int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: lea edx, bword ptr [ecx+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov eax, dword ptr [esp+04H] mov dword ptr [ecx+0CH], eax mov eax, dword ptr [esp+08H] mov dword ptr [ecx+10H], eax G_M000_IG03: ret 8 ; Total bytes of code 25 907: JIT compiled System.MulticastDelegate:CtorOpened(System.Object,int,int) [Tier1, IL size=22, code size=25] ; Assembly listing for method System.MulticastDelegate:CtorClosed(System.Object,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 2312861 G_M000_IG01: mov eax, edx G_M000_IG02: test eax, eax je SHORT G_M000_IG04 lea edx, bword ptr [ecx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, dword ptr [esp+04H] mov dword ptr [ecx+0CH], eax G_M000_IG03: ret 4 G_M000_IG04: call [System.MulticastDelegate:ThrowNullThisInDelegateToInstance()] int3 ; Total bytes of code 31 908: JIT compiled System.MulticastDelegate:CtorClosed(System.Object,int) [Tier1 with Static PGO, IL size=23, code size=31] ; Assembly listing for method System.String:Concat(System.String,System.String,System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 109300 ; 9 inlinees with PGO data; 3 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 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, 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, 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: mov dword ptr [ebp-14H], eax mov edx, eax add edx, dword ptr [esi+04H] mov dword ptr [ebp-10H], edx mov ecx, edx add ecx, dword ptr [ebx+04H] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-18H], eax mov edx, dword ptr [ebp-14H] cmp dword ptr [eax+04H], edx jl G_M000_IG17 lea ecx, bword ptr [eax+08H] add edi, 8 mov bword ptr [ebp-1CH], edi mov dword ptr [ebp-14H], edx mov edi, edx add edi, edi push edi mov edx, bword ptr [ebp-1CH] call [System.Buffer:Memmove(byref,byref,uint)] mov edi, dword ptr [ebp-14H] mov ecx, dword ptr [esi+04H] mov eax, gword ptr [ebp-18H] mov edx, dword ptr [eax+04H] sub edx, edi cmp ecx, edx jg SHORT G_M000_IG18 lea ecx, bword ptr [eax+2*edi+08H] lea edx, bword ptr [esi+08H] mov esi, dword ptr [esi+04H] add esi, esi push esi call [System.Buffer:Memmove(byref,byref,uint)] mov esi, dword ptr [ebp-10H] mov ecx, dword ptr [ebx+04H] mov edi, gword ptr [ebp-18H] mov edx, dword ptr [edi+04H] sub edx, esi cmp ecx, edx jg SHORT G_M000_IG19 lea ecx, bword ptr [edi+2*esi+08H] lea edx, bword ptr [ebx+08H] mov eax, dword ptr [ebx+04H] add eax, eax push eax call [System.Buffer:Memmove(byref,byref,uint)] mov eax, edi G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG15: 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_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 347 909: JIT compiled System.String:Concat(System.String,System.String,System.String) [Tier1 with Static PGO, IL size=119, code size=347] ; Assembly listing for method System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 185065 ; 13 inlinees with PGO data; 30 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 36 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_IG41 G_M000_IG03: 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 ecx, [eax+D1FFAB1EH] cmp ecx, 0xD1FFAB1E ja SHORT G_M000_IG10 cmp ebx, 4 jl G_M000_IG65 G_M000_IG06: mov ecx, eax shr ecx, 6 and ecx, 0xD1FFAB1E shl eax, 8 and eax, 0xD1FFAB1E add eax, ecx add eax, 0xD1FFAB1E mov dword ptr [edi], eax add esi, 4 add edi, 4 add ebx, -4 cmp esi, dword ptr [ebp-14H] ja SHORT G_M000_IG08 G_M000_IG07: mov eax, dword ptr [esi] lea ecx, [eax-80H] movzx ecx, cx cmp ecx, 0x780 mov ecx, dword ptr [ebp-14H] jae SHORT G_M000_IG13 jmp SHORT G_M000_IG05 G_M000_IG08: mov ecx, dword ptr [ebp-14H] jmp G_M000_IG20 G_M000_IG09: mov eax, dword ptr [ebp-24H] jmp G_M000_IG29 G_M000_IG10: cmp ebx, 2 jl G_M000_IG59 lea ecx, [4*eax] and ecx, 0x1F00 mov dword ptr [ebp-30H], ecx mov ecx, eax and ecx, 63 mov edx, dword ptr [ebp-30H] lea edx, [edx+ecx+C080H] movzx edx, dx ror dx, 8 movzx edx, dx mov word ptr [edi], dx cmp eax, 0xD1FFAB1E jae G_M000_IG61 cmp ebx, 3 jl G_M000_IG64 shr eax, 16 mov byte ptr [edi+02H], al add esi, 4 add edi, 3 add ebx, -3 G_M000_IG11: mov ecx, dword ptr [ebp-14H] cmp esi, ecx ja SHORT G_M000_IG20 G_M000_IG12: mov eax, dword ptr [esi] G_M000_IG13: test eax, 0xD1FFAB1E je SHORT G_M000_IG18 G_M000_IG14: test eax, 0xFF80 je G_M000_IG35 G_M000_IG15: test eax, 0xF800 jne SHORT G_M000_IG17 G_M000_IG16: jmp G_M000_IG05 G_M000_IG17: jmp G_M000_IG38 G_M000_IG18: cmp ebx, 2 jl G_M000_IG65 mov edx, eax shr edx, 8 or edx, eax mov word ptr [edi], dx add esi, 4 add edi, 2 add ebx, -2 mov edx, ecx sub edx, esi mov eax, edx shr eax, 31 add eax, edx sar eax, 1 add eax, 2 xor edx, edx mov dword ptr [ebp-24H], eax mov dword ptr [ebp-28H], edx mov edx, ebx mov eax, edx sar eax, 31 mov dword ptr [ebp-2CH], eax mov eax, dword ptr [ebp-24H] cmp edx, eax mov eax, dword ptr [ebp-2CH] sbb eax, dword ptr [ebp-28H] jge G_M000_IG09 G_M000_IG19: jmp G_M000_IG43 G_M000_IG20: sub ecx, esi mov edx, ecx shr edx, 31 add edx, ecx sar edx, 1 add edx, 2 G_M000_IG21: test edx, edx je SHORT G_M000_IG26 G_M000_IG22: movzx ecx, word ptr [esi] G_M000_IG23: cmp ecx, 127 ja G_M000_IG55 G_M000_IG24: test ebx, ebx je G_M000_IG59 mov byte ptr [edi], cl add esi, 2 inc edi G_M000_IG25: cmp edx, 1 jg G_M000_IG59 G_M000_IG26: xor eax, eax G_M000_IG27: mov ebx, bword ptr [ebp+0CH] mov dword ptr [ebx], esi mov ebx, bword ptr [ebp+08H] mov dword ptr [ebx], edi G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG29: shr eax, 2 mov dword ptr [ebp-18H], eax xor edx, edx mov dword ptr [ebp-1CH], edx test eax, eax jbe SHORT G_M000_IG34 G_M000_IG30: mov eax, dword ptr [esi] mov ecx, dword ptr [esi+04H] mov edx, eax or edx, ecx test edx, 0xD1FFAB1E jne G_M000_IG46 G_M000_IG31: mov edx, eax shr edx, 8 or edx, eax mov word ptr [edi], dx mov eax, ecx shr eax, 8 or eax, ecx mov word ptr [edi+02H], ax add esi, 8 add edi, 4 mov edx, dword ptr [ebp-1CH] inc edx mov eax, dword ptr [ebp-18H] cmp edx, eax jb SHORT G_M000_IG33 G_M000_IG32: shl edx, 2 sub ebx, edx jmp G_M000_IG11 G_M000_IG33: mov dword ptr [ebp-1CH], edx jmp SHORT G_M000_IG30 G_M000_IG34: mov edx, dword ptr [ebp-1CH] jmp SHORT G_M000_IG32 G_M000_IG35: test ebx, ebx je G_M000_IG59 G_M000_IG36: mov byte ptr [edi], al add esi, 2 inc edi dec ebx cmp esi, ecx ja SHORT G_M000_IG37 mov eax, dword ptr [esi] mov ecx, dword ptr [ebp-14H] jmp G_M000_IG15 G_M000_IG37: mov ecx, dword ptr [ebp-14H] jmp G_M000_IG20 G_M000_IG38: lea ecx, [eax-D800H] test ecx, 0xF800 je G_M000_IG63 G_M000_IG39: test eax, 0xD1FFAB1E je G_M000_IG52 lea ecx, [eax+D1FFAB1EH] cmp ecx, 0xD1FFAB1E jb G_M000_IG52 G_M000_IG40: jmp SHORT G_M000_IG44 G_M000_IG41: sub edx, eax sub ebx, eax cmp edx, 2 jl G_M000_IG21 G_M000_IG42: mov dword ptr [ebp-10H], edx lea ecx, [esi+2*edx-04H] mov dword ptr [ebp-14H], ecx jmp G_M000_IG12 G_M000_IG43: mov eax, edx jmp G_M000_IG29 G_M000_IG44: cmp ebx, 6 jl G_M000_IG52 lea ecx, [4*eax] and ecx, 0x3F00 mov edx, eax and edx, 63 shl edx, 16 or edx, ecx mov dword ptr [ebp-30H], edx mov ecx, eax shr ecx, 4 and ecx, 0xD1FFAB1E mov edx, eax shr edx, 12 and edx, 15 or edx, ecx add edx, dword ptr [ebp-30H] add edx, 0xD1FFAB1E mov dword ptr [edi], edx mov edx, eax shr edx, 22 and edx, 63 shr eax, 8 and eax, 0x3F00 add eax, edx add eax, 0x8080 mov word ptr [edi+04H], ax add esi, 4 add edi, 6 add ebx, -6 mov ecx, dword ptr [ebp-14H] cmp esi, ecx ja G_M000_IG20 G_M000_IG45: jmp SHORT G_M000_IG49 G_M000_IG46: mov edx, dword ptr [ebp-1CH] shl edx, 2 sub ebx, edx test eax, 0xD1FFAB1E jne SHORT G_M000_IG48 G_M000_IG47: mov edx, eax shr edx, 8 or edx, eax mov word ptr [edi], dx add esi, 4 add edi, 2 add ebx, -2 mov eax, ecx mov ecx, dword ptr [ebp-14H] jmp G_M000_IG14 G_M000_IG48: mov ecx, dword ptr [ebp-14H] jmp G_M000_IG14 G_M000_IG49: mov eax, dword ptr [esi] test eax, 0xF800 jne SHORT G_M000_IG51 G_M000_IG50: jmp G_M000_IG13 G_M000_IG51: jmp G_M000_IG38 G_M000_IG52: cmp ebx, 3 jl G_M000_IG59 lea ecx, [4*eax] and ecx, 0x3F00 mov dword ptr [ebp-30H], ecx movzx ecx, ax shr ecx, 12 add ecx, dword ptr [ebp-30H] add ecx, 0x80E0 mov word ptr [edi], cx mov ecx, eax and ecx, 63 or ecx, -128 mov byte ptr [edi+02H], cl add esi, 2 add edi, 3 add ebx, -3 cmp eax, 0xD1FFAB1E jae G_M000_IG62 test ebx, ebx je G_M000_IG59 shr eax, 16 mov byte ptr [edi], al add esi, 2 inc edi dec ebx mov ecx, dword ptr [ebp-14H] cmp esi, ecx ja G_M000_IG20 mov eax, dword ptr [esi] test eax, 0xF800 jne SHORT G_M000_IG54 G_M000_IG53: jmp G_M000_IG13 G_M000_IG54: jmp G_M000_IG38 G_M000_IG55: cmp ecx, 0x800 jae SHORT G_M000_IG57 G_M000_IG56: cmp ebx, 2 jl SHORT G_M000_IG59 mov eax, ecx and eax, 63 or eax, -128 mov byte ptr [edi+01H], al shr ecx, 6 or ecx, -64 mov byte ptr [edi], cl add esi, 2 add edi, 2 jmp G_M000_IG25 G_M000_IG57: lea eax, [ecx-D800H] cmp eax, 0x7FF jbe SHORT G_M000_IG58 cmp ebx, 3 jl SHORT G_M000_IG59 mov eax, ecx and eax, 63 or eax, -128 mov byte ptr [edi+02H], al mov eax, ecx shr eax, 6 and eax, 63 or eax, -128 mov byte ptr [edi+01H], al mov eax, ecx shr eax, 12 or eax, -32 mov byte ptr [edi], al add esi, 2 add edi, 3 jmp G_M000_IG25 G_M000_IG58: cmp ecx, 0xDBFF ja SHORT G_M000_IG60 mov eax, 2 jmp G_M000_IG27 G_M000_IG59: mov eax, 1 jmp G_M000_IG27 G_M000_IG60: mov eax, 3 jmp G_M000_IG27 G_M000_IG61: add esi, 2 add edi, 2 add ebx, -2 mov ecx, dword ptr [ebp-14H] cmp esi, ecx ja G_M000_IG20 mov eax, dword ptr [esi] jmp G_M000_IG38 G_M000_IG62: cmp esi, dword ptr [ebp-14H] mov ecx, dword ptr [ebp-14H] ja G_M000_IG20 mov eax, dword ptr [esi] jmp G_M000_IG14 G_M000_IG63: lea ecx, [eax+D1FFAB1EH] test ecx, 0xD1FFAB1E jne SHORT G_M000_IG60 cmp ebx, 4 jl SHORT G_M000_IG59 add eax, 64 mov dword ptr [ebp-20H], eax mov ecx, eax and ecx, 3 shl ecx, 20 or ecx, 0xD1FFAB1E and eax, 0xD1FFAB1E bswap eax rol eax, 16 or eax, ecx mov ecx, dword ptr [ebp-20H] shr ecx, 6 and ecx, 0xD1FFAB1E or eax, ecx mov ecx, dword ptr [ebp-20H] and ecx, 252 shl ecx, 6 or eax, ecx mov dword ptr [edi], eax add esi, 4 add edi, 4 add ebx, -4 jmp G_M000_IG11 G_M000_IG64: add esi, 2 add edi, 2 jmp G_M000_IG59 G_M000_IG65: movzx ecx, ax mov edx, dword ptr [ebp-10H] jmp G_M000_IG23 ; Total bytes of code 1303 910: JIT compiled System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref) [Tier1 with Static PGO, IL size=1446, code size=1303] ; Assembly listing for method System.Reflection.CustomAttribute:AttributeUsageCheck(System.RuntimeType,bool,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 47761 ; 1 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 push eax mov esi, ecx mov edi, bword ptr [ebp+08H] G_M000_IG02: xor ebx, ebx test dl, dl jne SHORT G_M000_IG13 G_M000_IG03: cmp dword ptr [edi+08H], 0 jne SHORT G_M000_IG06 G_M000_IG04: mov eax, 1 G_M000_IG05: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG06: xor eax, eax cmp dword ptr [edi+08H], 0 jle SHORT G_M000_IG11 G_M000_IG07: mov ecx, gword ptr [edi] test ecx, ecx je SHORT G_M000_IG16 G_M000_IG08: cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG21 mov dword ptr [ebp-10H], eax mov ecx, gword ptr [ecx+4*eax+08H] G_M000_IG09: call System.Object:GetType():System.Type:this cmp eax, esi je SHORT G_M000_IG17 G_M000_IG10: mov eax, dword ptr [ebp-10H] inc eax cmp eax, dword ptr [edi+08H] jl SHORT G_M000_IG07 G_M000_IG11: mov eax, 1 G_M000_IG12: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG13: mov ecx, esi call [System.Reflection.CustomAttribute:GetAttributeUsage(System.RuntimeType):System.AttributeUsageAttribute] mov ebx, eax cmp byte ptr [ebx+09H], 0 jne SHORT G_M000_IG03 G_M000_IG14: xor eax, eax G_M000_IG15: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG16: mov ecx, gword ptr [edi+04H] mov dword ptr [ebp-10H], eax jmp SHORT G_M000_IG09 G_M000_IG17: test ebx, ebx je SHORT G_M000_IG20 G_M000_IG18: movzx eax, byte ptr [ebx+08H] G_M000_IG19: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG20: mov ecx, esi call [System.Reflection.CustomAttribute:GetAttributeUsage(System.RuntimeType):System.AttributeUsageAttribute] mov ebx, eax jmp SHORT G_M000_IG18 G_M000_IG21: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 162 911: JIT compiled System.Reflection.CustomAttribute:AttributeUsageCheck(System.RuntimeType,bool,byref) [Tier1 with Static PGO, IL size=88, code size=162] ; Assembly listing for method System.Reflection.RuntimeConstructorInfo:CheckCanCreateInstance(System.Type,bool) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 37549 ; 11 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov ebx, edx G_M000_IG02: test esi, esi je G_M000_IG41 cmp dword ptr [esi], 0xD1FFAB1E jne G_M000_IG20 mov ecx, esi call System.RuntimeTypeHandle:IsInterface(System.RuntimeType):bool test eax, eax jne G_M000_IG42 G_M000_IG03: cmp dword ptr [esi], 0xD1FFAB1E jne G_M000_IG22 mov ecx, esi call System.RuntimeTypeHandle:GetAttributes(System.RuntimeType):int G_M000_IG04: test al, 128 jne G_M000_IG23 mov edi, esi G_M000_IG05: cmp dword ptr [edi], 0xD1FFAB1E jne G_M000_IG43 mov ecx, edi call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 20 je G_M000_IG32 G_M000_IG06: cmp eax, 29 je G_M000_IG32 G_M000_IG07: cmp eax, 15 je G_M000_IG32 G_M000_IG08: cmp eax, 16 sete al movzx eax, al G_M000_IG09: test eax, eax jne G_M000_IG24 G_M000_IG10: cmp edi, 0xD1FFAB1E je G_M000_IG44 test bl, bl jne G_M000_IG45 cmp dword ptr [esi], 0xD1FFAB1E jne G_M000_IG38 mov ebx, esi G_M000_IG11: cmp dword ptr [ebx], 0xD1FFAB1E jne G_M000_IG35 mov ecx, ebx call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 20 je G_M000_IG33 G_M000_IG12: cmp eax, 29 je G_M000_IG33 G_M000_IG13: cmp eax, 15 je G_M000_IG33 G_M000_IG14: cmp eax, 16 sete al movzx eax, al G_M000_IG15: test eax, eax jne G_M000_IG27 G_M000_IG16: cmp dword ptr [ebx], 0xD1FFAB1E jne G_M000_IG36 mov ecx, ebx G_M000_IG17: test ecx, ecx je G_M000_IG37 call System.RuntimeTypeHandle:ContainsGenericVariables(System.RuntimeType):bool G_M000_IG18: test eax, eax jne G_M000_IG39 cmp esi, 0xD1FFAB1E je G_M000_IG40 G_M000_IG19: pop ebx pop esi pop edi pop ebp ret G_M000_IG20: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+40H] call [eax+0CH]System.Type:GetAttributeFlagsImpl():int:this test al, 32 je G_M000_IG03 G_M000_IG21: jmp G_M000_IG42 G_M000_IG22: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+40H] call [eax+0CH]System.Type:GetAttributeFlagsImpl():int:this jmp G_M000_IG04 G_M000_IG23: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax call [System.SR:get_Acc_CreateAbstEx():System.String] mov ecx, eax mov edx, esi call [System.SR:Format(System.String,System.Object):System.String] mov edx, eax mov ecx, ebx call [System.MemberAccessException:.ctor(System.String):this] mov ecx, ebx call CORINFO_HELP_THROW G_M000_IG24: cmp dword ptr [edi], 0xD1FFAB1E jne SHORT G_M000_IG29 G_M000_IG25: mov ecx, edi call System.RuntimeTypeHandle:GetElementType(System.RuntimeType):System.RuntimeType G_M000_IG26: mov edi, eax jmp G_M000_IG05 G_M000_IG27: cmp dword ptr [ebx], 0xD1FFAB1E jne SHORT G_M000_IG30 G_M000_IG28: jmp SHORT G_M000_IG34 G_M000_IG29: mov ecx, edi mov eax, dword ptr [edi] mov eax, dword ptr [eax+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this jmp SHORT G_M000_IG26 G_M000_IG30: mov ecx, ebx mov eax, dword ptr [ebx] mov eax, dword ptr [eax+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this mov ebx, eax G_M000_IG31: jmp G_M000_IG11 G_M000_IG32: mov eax, 1 jmp G_M000_IG09 G_M000_IG33: mov eax, 1 jmp G_M000_IG15 G_M000_IG34: mov ecx, ebx call System.RuntimeTypeHandle:GetElementType(System.RuntimeType):System.RuntimeType mov ebx, eax jmp SHORT G_M000_IG31 G_M000_IG35: mov ecx, ebx mov eax, dword ptr [ebx] mov eax, dword ptr [eax+3CH] call [eax]System.Type:HasElementTypeImpl():bool:this jmp G_M000_IG15 G_M000_IG36: mov ecx, ebx mov eax, dword ptr [ebx] mov eax, dword ptr [eax+54H] call [eax+04H]System.Type:get_TypeHandle():System.RuntimeTypeHandle:this mov ecx, eax jmp G_M000_IG17 G_M000_IG37: 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_IG38: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+60H] call [eax]System.Type:get_ContainsGenericParameters():bool:this jmp G_M000_IG18 G_M000_IG39: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax call [System.SR:get_Acc_CreateGenericEx():System.String] mov ecx, eax mov edx, esi call [System.SR:Format(System.String,System.Object):System.String] mov edx, eax mov ecx, edi call [System.MemberAccessException:.ctor(System.String):this] mov ecx, edi call CORINFO_HELP_THROW G_M000_IG40: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Access_Void():System.String] mov edx, eax mov ecx, esi call [System.MemberAccessException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG41: mov ecx, 0x194BD mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG42: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax call [System.SR:get_Acc_CreateInterfaceEx():System.String] mov ecx, eax mov edx, esi call [System.SR:Format(System.String,System.Object):System.String] mov edx, eax mov ecx, edi call [System.MemberAccessException:.ctor(System.String):this] mov ecx, edi call CORINFO_HELP_THROW G_M000_IG43: mov ecx, edi mov eax, dword ptr [edi] mov eax, dword ptr [eax+3CH] call [eax]System.Type:HasElementTypeImpl():bool:this jmp G_M000_IG09 G_M000_IG44: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.NotSupportedException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG45: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.NotSupportedException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 760 912: JIT compiled System.Reflection.RuntimeConstructorInfo:CheckCanCreateInstance(System.Type,bool) [Tier1 with Static PGO, IL size=154, code size=760] ; Assembly listing for method System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi vzeroupper mov esi, ecx G_M000_IG02: lea eax, bword ptr [esi+10H] mov edx, dword ptr [esi+08H] mov ecx, dword ptr [eax+04H] cmp edx, ecx ja SHORT G_M000_IG06 mov eax, bword ptr [eax] push edx push eax call System.String:.ctor(System.ReadOnlySpan`1[ushort]):this mov edi, eax mov edx, gword ptr [esi+04H] xor ecx, ecx vxorps xmm0, xmm0 vmovq qword ptr [esi], xmm0 vmovq qword ptr [esi+08H], xmm0 vmovq qword ptr [esi+10H], xmm0 test edx, edx je SHORT G_M000_IG04 G_M000_IG03: push 0 mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[ushort]:Return(ushort[],bool):this] G_M000_IG04: mov eax, edi G_M000_IG05: pop esi pop edi pop ebp ret G_M000_IG06: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 90 913: JIT compiled System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear() [Tier1, IL size=20, code size=90] ; Assembly listing for method System.SZArrayHelper:GetEnumerator[System.__Canon]():System.Collections.Generic.IEnumerator`1[System.__Canon]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 133010 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi push eax mov dword ptr [ebp-08H], edx mov esi, ecx mov eax, edx G_M000_IG02: mov ecx, esi cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG08 G_M000_IG03: mov ecx, dword ptr [eax+0CH] mov ecx, dword ptr [ecx+0CH] test ecx, ecx je SHORT G_M000_IG05 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, eax mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax G_M000_IG06: call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_ESI mov dword ptr [eax+08H], -1 G_M000_IG07: pop ecx pop esi pop ebp ret G_M000_IG08: mov ecx, dword ptr [eax+0CH] mov ecx, dword ptr [ecx+0CH] test ecx, ecx je SHORT G_M000_IG10 G_M000_IG09: jmp SHORT G_M000_IG11 G_M000_IG10: mov ecx, eax mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_METHOD mov ecx, eax G_M000_IG11: call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov eax, gword ptr [eax] G_M000_IG12: pop ecx pop esi pop ebp ret ; Total bytes of code 107 914: JIT compiled System.SZArrayHelper:GetEnumerator[System.__Canon]() [Tier1 with Static PGO, IL size=24, code size=107] ; Assembly listing for method System.SZGenericArrayEnumeratorBase:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: ret ; Total bytes of code 1 915: JIT compiled System.SZGenericArrayEnumeratorBase:Dispose() [Tier1, IL size=1, code size=1] ; Assembly listing for method System.RuntimeType:IsValueTypeImpl():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1615492 ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+0CH] test al, 2 jne SHORT G_M000_IG04 mov eax, dword ptr [eax] and eax, 0xD1FFAB1E cmp eax, 0xD1FFAB1E sete al movzx eax, al G_M000_IG03: ret G_M000_IG04: mov edx, 0xD1FFAB1E call [System.RuntimeType:IsSubclassOf(System.Type):bool:this] G_M000_IG05: ret ; Total bytes of code 38 916: JIT compiled System.RuntimeType:IsValueTypeImpl() [Tier1 with Static PGO, IL size=54, code size=38] ; Assembly listing for method System.Text.StringBuilder:ExpandByABlock(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 69598 ; 4 inlinees with PGO data; 8 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi 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_IG06 cmp eax, edx jl G_M000_IG06 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_IG07 cmp edx, 0x400 jl SHORT G_M000_IG05 mov ecx, dword ptr [D1FFAB1EH] push 16 call System.GC:AllocateNewArray(int,int,int):System.Array mov edi, eax G_M000_IG03: 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_IG04: pop esi pop edi pop ebp ret G_M000_IG05: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov edi, eax jmp SHORT G_M000_IG03 G_M000_IG06: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x17D2C mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax call [System.SR:get_ArgumentOutOfRange_SmallCapacity():System.String] push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG07: 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 266 917: JIT compiled System.Text.StringBuilder:ExpandByABlock(int) [Tier1 with Static PGO, IL size=144, code size=266] ; Assembly listing for method System.Text.StringBuilder:AppendWithExpansion(byref,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 54708 ; 6 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 push eax mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov ecx, dword ptr [esi+10H] mov eax, dword ptr [esi+0CH] add ecx, eax add ecx, ebx cmp ecx, dword ptr [esi+14H] jg G_M000_IG08 mov dword ptr [ebp+08H], ebx cmp ecx, ebx jl G_M000_IG08 mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] sub edx, eax mov dword ptr [ebp-10H], edx test edx, edx jle SHORT G_M000_IG05 G_M000_IG03: mov ecx, gword ptr [esi+04H] test ecx, ecx je G_M000_IG09 cmp dword ptr [ecx+04H], eax jb G_M000_IG10 lea ebx, bword ptr [ecx+2*eax+08H] mov ecx, dword ptr [ecx+04H] sub ecx, eax G_M000_IG04: cmp edx, ecx ja G_M000_IG12 lea ecx, [edx+edx] push ecx mov ecx, ebx mov edx, edi call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, gword ptr [esi+04H] mov ecx, dword ptr [ecx+04H] mov dword ptr [esi+0CH], ecx mov edx, dword ptr [ebp-10H] G_M000_IG05: mov ebx, dword ptr [ebp+08H] sub ebx, edx mov ecx, esi mov edx, ebx call [System.Text.StringBuilder:ExpandByABlock(int):this] mov eax, dword ptr [ebp-10H] lea edx, bword ptr [edi+2*eax] mov ecx, gword ptr [esi+04H] test ecx, ecx je SHORT G_M000_IG11 lea eax, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] cmp ebx, ecx ja SHORT G_M000_IG12 G_M000_IG06: lea ecx, [ebx+ebx] push ecx mov ecx, eax call [System.Buffer:Memmove(byref,byref,uint)] mov dword ptr [esi+0CH], ebx G_M000_IG07: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x17D16 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax call [System.SR:get_ArgumentOutOfRange_LengthGreaterThanCapacity():System.String] push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG09: test eax, eax jne SHORT G_M000_IG10 xor eax, eax xor ecx, ecx mov ebx, eax jmp G_M000_IG04 G_M000_IG10: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG11: xor eax, eax xor ecx, ecx cmp ebx, ecx jbe SHORT G_M000_IG06 G_M000_IG12: call [System.ThrowHelper:ThrowArgumentException_DestinationTooShort()] int3 ; Total bytes of code 273 918: JIT compiled System.Text.StringBuilder:AppendWithExpansion(byref,int) [Tier1 with Static PGO, IL size=155, code size=273] ; Assembly listing for method System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 30883 ; 3 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, 20 xor eax, eax mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-10H], eax mov esi, edx G_M000_IG02: mov edi, gword ptr [ecx] mov gword ptr [ebp-20H], edi test edi, edi je SHORT G_M000_IG07 G_M000_IG03: mov eax, esi test eax, eax je SHORT G_M000_IG05 G_M000_IG04: cmp dword ptr [eax], 0xD1FFAB1E je SHORT G_M000_IG09 G_M000_IG05: cmp dword ptr [esi], 0xD1FFAB1E jne G_M000_IG26 G_M000_IG06: mov ecx, esi call [System.Reflection.RuntimeMethodInfo:GetHashCode():int:this] jmp G_M000_IG27 G_M000_IG07: xor eax, eax G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG09: lea edx, bword ptr [eax+08H] mov bword ptr [ebp-18H], edx mov edx, bword ptr [ebp-18H] mov ecx, 0xD1FFAB1E mov ebx, 0xD1FFAB1E mov eax, dword ptr [eax+04H] cmp eax, 2 jle SHORT G_M000_IG11 G_M000_IG10: add eax, -4 mov edi, ecx rol edi, 5 add ecx, edi xor ecx, dword ptr [edx] mov edi, ebx rol edi, 5 add ebx, edi xor ebx, dword ptr [edx+04H] add edx, 8 cmp eax, 2 jg SHORT G_M000_IG10 G_M000_IG11: test eax, eax jle SHORT G_M000_IG13 G_M000_IG12: mov eax, ebx rol eax, 5 add eax, ebx mov ebx, eax xor ebx, dword ptr [edx] G_M000_IG13: imul eax, ebx, 0xD1FFAB1E add eax, ecx xor edx, edx mov bword ptr [ebp-18H], edx G_M000_IG14: mov edx, eax not edx test eax, eax cmovl eax, edx mov edi, gword ptr [ebp-20H] mov ebx, gword ptr [edi+04H] cdq idiv edx:eax, dword ptr [ebx+04H] mov eax, edx jmp G_M000_IG32 G_M000_IG15: push dword ptr [ecx] mov ecx, ebx mov dword ptr [ebp-14H], eax mov edx, eax call CORINFO_HELP_LDELEMA_REF mov ecx, gword ptr [eax] test ecx, ecx je SHORT G_M000_IG28 G_M000_IG16: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG30 G_M000_IG17: cmp ecx, esi je SHORT G_M000_IG22 G_M000_IG18: mov edx, esi cmp dword ptr [edx], 0xD1FFAB1E jne SHORT G_M000_IG24 G_M000_IG19: mov eax, dword ptr [ecx+04H] cmp eax, dword ptr [edx+04H] jne SHORT G_M000_IG24 G_M000_IG20: lea edi, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] add ecx, ecx push ecx add edx, 8 mov ecx, edi call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] G_M000_IG21: test eax, eax je SHORT G_M000_IG24 G_M000_IG22: mov edi, gword ptr [ebp-20H] mov eax, gword ptr [edi+08H] mov esi, dword ptr [ebp-14H] cmp esi, dword ptr [eax+04H] jae SHORT G_M000_IG33 mov eax, gword ptr [eax+4*esi+08H] G_M000_IG23: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG24: mov eax, dword ptr [ebp-14H] inc eax mov dword ptr [ebp-14H], eax cmp dword ptr [ebx+04H], eax mov eax, dword ptr [ebp-14H] mov ecx, dword ptr [ebp-1CH] jg SHORT G_M000_IG15 G_M000_IG25: jmp SHORT G_M000_IG31 G_M000_IG26: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this G_M000_IG27: jmp G_M000_IG14 G_M000_IG28: xor eax, eax G_M000_IG29: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG30: mov edx, esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+08H]System.Object:Equals(System.Object):bool:this jmp SHORT G_M000_IG21 G_M000_IG31: sub eax, dword ptr [ebx+04H] G_M000_IG32: mov edx, dword ptr [ebp+08H] mov ecx, dword ptr [edx+20H] mov ecx, dword ptr [ecx] mov dword ptr [ebp-1CH], ecx jmp G_M000_IG15 G_M000_IG33: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 379 919: JIT compiled System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon) [Tier1 with Static PGO, IL size=138, code size=379] ; Assembly listing for method System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 14261 ; 3 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 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-48H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-34H], eax cmp dword ptr [ebx+08H], 0 jne SHORT G_M000_IG11 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_IG29 mov gword ptr [ebp-14H], eax lea eax, [ebp-14H] mov edx, gword ptr [ebp-14H] test edx, edx je G_M000_IG26 G_M000_IG04: mov ecx, dword ptr [edx+0CH] G_M000_IG05: push 1 push ecx push eax mov dword ptr [ebp-40H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-3CH], eax lea eax, G_M000_IG08 mov dword ptr [ebp-38H], eax mov byte ptr [esi+08H], 0 G_M000_IG06: mov eax, 0xD1FFAB1E G_M000_IG07: call eax ; 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-38H], eax mov edx, edi mov ebx, gword ptr [ebp-24H] lea ecx, bword ptr [ebx+08H] G_M000_IG10: lock cmpxchg dword ptr [ecx], edx test eax, eax jne G_M000_IG25 G_M000_IG11: mov ecx, dword ptr [ebx+08H] mov edx, gword ptr [ecx] mov edi, edx test edi, edi je SHORT G_M000_IG13 G_M000_IG12: mov ecx, 0xD1FFAB1E cmp dword ptr [edi], ecx jne G_M000_IG30 G_M000_IG13: test edi, edi jne G_M000_IG24 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov gword ptr [ebp-28H], 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-2CH], eax mov edx, gword ptr [eax+04H] test edx, edx jne SHORT G_M000_IG21 G_M000_IG15: 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-40H], 0xD1FFAB1E mov edx, esp mov dword ptr [ebp-3CH], edx lea edx, G_M000_IG18 mov dword ptr [ebp-38H], edx mov byte ptr [esi+08H], 0 G_M000_IG16: mov eax, 0xD1FFAB1E G_M000_IG17: call eax ; System.ModuleHandle:GetModuleType(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.ObjectHandleOnStack) G_M000_IG18: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG19 call CORINFO_HELP_STOP_FOR_GC G_M000_IG19: xor edx, edx mov dword ptr [ebp-38H], edx mov ecx, gword ptr [ebp-18H] G_M000_IG20: mov gword ptr [ebp-18H], edx mov edi, gword ptr [ebp-2CH] lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, ecx G_M000_IG21: mov ebx, gword ptr [ebp-24H] cmp edx, ebx sete cl mov edi, gword ptr [ebp-28H] 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_IG23 G_M000_IG22: mov ecx, 0xD1FFAB1E cmp dword ptr [eax], ecx jne SHORT G_M000_IG31 G_M000_IG23: test eax, eax cmovne edi, eax G_M000_IG24: mov eax, edi jmp SHORT G_M000_IG27 G_M000_IG25: lea ecx, [ebp-10H] call [System.RuntimeTypeHandle:FreeGCHandle(int):int:this] jmp G_M000_IG11 G_M000_IG26: xor ecx, ecx jmp G_M000_IG05 G_M000_IG27: mov ecx, bword ptr [ebp-44H] mov dword ptr [esi+0CH], ecx G_M000_IG28: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG29: 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_IG30: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG31: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 481 920: JIT compiled System.RuntimeType:InitializeCache() [Tier1 with Static PGO, IL size=121, code size=481] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache:.ctor(System.RuntimeType):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov ebx, edx G_M000_IG02: xor edx, edx mov dword ptr [esi+48H], edx lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EBX mov ecx, ebx call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov edi, eax mov ecx, gword ptr [edi+04H] test ecx, ecx jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, edi call [System.ModuleHandle:GetModuleType(System.Reflection.RuntimeModule):System.RuntimeType] mov ecx, eax lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG04: cmp ecx, ebx sete al mov byte ptr [esi+4CH], al G_M000_IG05: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 70 921: JIT compiled System.RuntimeType+RuntimeTypeCache:.ctor(System.RuntimeType) [Tier1, IL size=44, code size=70] ; Assembly listing for method System.Reflection.RuntimeModule:get_RuntimeType():System.RuntimeType:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 14232 ; 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, 44 xor edx, edx mov dword ptr [ebp-10H], edx mov dword ptr [ebp-14H], edx mov ebx, ecx G_M000_IG02: lea edi, [ebp-34H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-20H], eax mov eax, gword ptr [ebx+04H] test eax, eax jne SHORT G_M000_IG09 G_M000_IG03: mov gword ptr [ebp-18H], ebx mov gword ptr [ebp-14H], ebx xor eax, eax mov gword ptr [ebp-10H], eax lea eax, [ebp-14H] mov edx, gword ptr [ebp-14H] mov edx, dword ptr [edx+10H] lea ecx, [ebp-10H] push ecx push edx push eax mov dword ptr [ebp-2CH], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-28H], eax lea eax, G_M000_IG06 mov dword ptr [ebp-24H], eax mov byte ptr [esi+08H], 0 G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: call eax ; System.ModuleHandle:GetModuleType(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.ObjectHandleOnStack) 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 edx, edx mov dword ptr [ebp-24H], edx mov eax, gword ptr [ebp-10H] G_M000_IG08: mov gword ptr [ebp-10H], edx mov ebx, gword ptr [ebp-18H] lea edx, bword ptr [ebx+04H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG09: mov edx, bword ptr [ebp-30H] mov dword ptr [esi+0CH], edx G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 151 922: JIT compiled System.Reflection.RuntimeModule:get_RuntimeType() [Tier1 with Static PGO, IL size=26, code size=151] ; Assembly listing for method System.ModuleHandle:GetModuleType(System.Reflection.RuntimeModule):System.RuntimeType ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 xor edx, edx mov dword ptr [ebp-14H], edx mov gword ptr [ebp-10H], ecx G_M000_IG02: lea edi, [ebp-30H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-1CH], eax lea eax, [ebp-10H] mov edx, gword ptr [ebp-10H] mov edx, dword ptr [edx+10H] lea ecx, [ebp-14H] push ecx push edx push eax mov dword ptr [ebp-28H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-24H], eax lea eax, G_M000_IG05 mov dword ptr [ebp-20H], eax mov byte ptr [esi+08H], 0 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: call eax ; System.ModuleHandle:GetModuleType(System.Runtime.CompilerServices.QCallModule,System.Runtime.CompilerServices.ObjectHandleOnStack) G_M000_IG05: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-20H], eax mov eax, gword ptr [ebp-14H] mov edx, bword ptr [ebp-2CH] mov dword ptr [esi+0CH], edx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 117 923: JIT compiled System.ModuleHandle:GetModuleType(System.Reflection.RuntimeModule) [Tier1, IL size=23, code size=117] ; Assembly listing for method System.RuntimeType:GetCachedName(int):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, edx G_M000_IG02: mov eax, dword ptr [ecx+08H] test eax, eax je SHORT G_M000_IG05 G_M000_IG03: mov eax, gword ptr [eax] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] G_M000_IG06: mov ecx, eax mov edx, esi cmp dword ptr [ecx], ecx call [System.RuntimeType+RuntimeTypeCache:GetName(int):System.String:this] G_M000_IG07: pop esi pop ebp ret ; Total bytes of code 42 924: JIT compiled System.RuntimeType:GetCachedName(int) [Tier1, IL size=13, code size=42] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache:GetName(int):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 9 inlinees with PGO data; 17 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 vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor ebx, ebx mov dword ptr [ebp-14H], ebx mov dword ptr [ebp-10H], ebx 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 edx, 2 ja G_M000_IG43 lea eax, [@RWD00] mov eax, dword ptr [eax+4*edx] lea ecx, G_M000_IG02 add eax, ecx jmp eax G_M000_IG03: lea edi, bword ptr [ebx+0CH] mov bword ptr [ebp-28H], edi mov eax, gword ptr [edi] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: jmp G_M000_IG38 G_M000_IG05: mov eax, gword ptr [ebx+04H] xor edx, edx mov gword ptr [ebp-10H], edx test eax, eax je G_M000_IG40 mov gword ptr [ebp-14H], eax lea eax, [ebp-14H] mov edx, gword ptr [ebp-14H] test edx, edx je SHORT G_M000_IG13 G_M000_IG06: mov ecx, dword ptr [edx+0CH] G_M000_IG07: lea edx, [ebp-10H] push edx push 0 push ecx push eax mov dword ptr [ebp-44H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-40H], eax lea eax, G_M000_IG10 mov dword ptr [ebp-3CH], eax mov byte ptr [esi+08H], 0 G_M000_IG08: mov eax, 0xD1FFAB1E G_M000_IG09: call eax ; System.RuntimeTypeHandle:ConstructName(System.Runtime.CompilerServices.QCallTypeHandle,int,System.Runtime.CompilerServices.StringHandleOnStack) G_M000_IG10: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG11 call CORINFO_HELP_STOP_FOR_GC G_M000_IG11: xor edx, edx mov dword ptr [ebp-3CH], edx mov eax, gword ptr [ebp-10H] G_M000_IG12: mov gword ptr [ebp-10H], edx mov edx, bword ptr [ebp-28H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG04 G_M000_IG13: xor ecx, ecx jmp SHORT G_M000_IG07 G_M000_IG14: mov ecx, gword ptr [ebx+04H] cmp dword ptr [ecx], ecx call [System.Type:GetRootElementType():System.Type:this] mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+38H] call [eax+08H]System.Type:get_IsGenericTypeDefinition():bool:this test eax, eax jne SHORT G_M000_IG16 mov ecx, gword ptr [ebx+04H] cmp dword ptr [ecx], ecx call [System.RuntimeType:get_ContainsGenericParameters():bool:this] test eax, eax je SHORT G_M000_IG16 G_M000_IG15: xor eax, eax jmp G_M000_IG38 G_M000_IG16: mov ecx, gword ptr [ebx+04H] cmp byte ptr [ecx], cl call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 27 je SHORT G_M000_IG15 lea edi, bword ptr [ebx+10H] mov bword ptr [ebp-2CH], edi mov eax, gword ptr [edi] test eax, eax je SHORT G_M000_IG18 G_M000_IG17: jmp G_M000_IG38 G_M000_IG18: mov eax, gword ptr [ebx+04H] xor edx, edx mov gword ptr [ebp-18H], edx test eax, eax je G_M000_IG41 mov gword ptr [ebp-1CH], eax lea eax, [ebp-1CH] mov edx, gword ptr [ebp-1CH] test edx, edx je SHORT G_M000_IG26 G_M000_IG19: mov ecx, dword ptr [edx+0CH] G_M000_IG20: lea edx, [ebp-18H] push edx push 3 push ecx push eax mov dword ptr [ebp-44H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-40H], eax lea eax, G_M000_IG23 mov dword ptr [ebp-3CH], eax mov byte ptr [esi+08H], 0 G_M000_IG21: mov eax, 0xD1FFAB1E G_M000_IG22: call eax ; System.RuntimeTypeHandle:ConstructName(System.Runtime.CompilerServices.QCallTypeHandle,int,System.Runtime.CompilerServices.StringHandleOnStack) G_M000_IG23: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG24 call CORINFO_HELP_STOP_FOR_GC G_M000_IG24: xor edx, edx mov dword ptr [ebp-3CH], edx mov eax, gword ptr [ebp-18H] G_M000_IG25: mov gword ptr [ebp-18H], edx mov edx, bword ptr [ebp-2CH] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG17 G_M000_IG26: xor ecx, ecx jmp SHORT G_M000_IG20 G_M000_IG27: lea edi, bword ptr [ebx+14H] mov bword ptr [ebp-30H], edi mov eax, gword ptr [edi] test eax, eax je SHORT G_M000_IG29 G_M000_IG28: jmp SHORT G_M000_IG38 G_M000_IG29: mov eax, gword ptr [ebx+04H] xor edx, edx mov gword ptr [ebp-20H], edx test eax, eax je G_M000_IG42 mov gword ptr [ebp-24H], eax lea eax, [ebp-24H] mov edx, gword ptr [ebp-24H] test edx, edx je SHORT G_M000_IG37 G_M000_IG30: mov ecx, dword ptr [edx+0CH] G_M000_IG31: lea edx, [ebp-20H] push edx 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_IG34 mov dword ptr [ebp-3CH], eax mov byte ptr [esi+08H], 0 G_M000_IG32: mov eax, 0xD1FFAB1E G_M000_IG33: call eax ; System.RuntimeTypeHandle:ConstructName(System.Runtime.CompilerServices.QCallTypeHandle,int,System.Runtime.CompilerServices.StringHandleOnStack) G_M000_IG34: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG35 call CORINFO_HELP_STOP_FOR_GC G_M000_IG35: xor edx, edx mov dword ptr [ebp-3CH], edx mov eax, gword ptr [ebp-20H] G_M000_IG36: mov gword ptr [ebp-20H], edx mov edx, bword ptr [ebp-30H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG28 G_M000_IG37: xor ecx, ecx jmp SHORT G_M000_IG31 G_M000_IG38: mov ecx, bword ptr [ebp-48H] mov dword ptr [esi+0CH], ecx G_M000_IG39: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG40: 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_IG41: 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_IG42: 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_IG43: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.InvalidOperationException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 RWD00 dd G_M000_IG03 - G_M000_IG02 dd G_M000_IG27 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 ; Total bytes of code 674 925: JIT compiled System.RuntimeType+RuntimeTypeCache:GetName(int) [Tier1, IL size=116, code size=674] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache:ConstructName(byref,int):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 93601 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi push eax xor eax, eax mov dword ptr [esp], eax mov esi, edx G_M000_IG02: mov eax, gword ptr [esi] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: pop ecx pop esi ret 4 G_M000_IG04: mov ecx, gword ptr [ecx+04H] mov gword ptr [esp], ecx lea ecx, [esp] mov edx, dword ptr [esp+0CH] call [System.RuntimeTypeHandle:ConstructName(int):System.String:this] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG03 ; Total bytes of code 48 926: JIT compiled System.RuntimeType+RuntimeTypeCache:ConstructName(byref,int) [Tier1 with Static PGO, IL size=32, code size=48] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Populate(System.String,int,int):System.__Canon[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 10537 ; 4 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 56 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-28H], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-40H], 0xD1FFAB1E mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+0CH] mov eax, dword ptr [ebp+08H] G_M000_IG02: test esi, esi je G_M000_IG13 G_M000_IG03: cmp dword ptr [esi+04H], 0 je G_M000_IG13 cmp eax, 1 je G_M000_IG18 G_M000_IG04: mov dword ptr [ebp+08H], eax G_M000_IG05: mov edx, dword ptr [esi+04H] mov dword ptr [ebp-18H], edx lea ecx, bword ptr [esi+08H] mov bword ptr [ebp-20H], ecx mov ecx, bword ptr [ebp-20H] mov dword ptr [ebp-1CH], ecx mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-3CH], eax cmp byte ptr [eax], al test ecx, ecx je G_M000_IG14 G_M000_IG06: lea eax, [ebp-34H] push eax lea eax, [ebp-38H] push eax call [System.Text.Unicode.Utf16Utility:GetPointerToFirstInvalidChar(uint,int,byref,byref):uint] sub eax, dword ptr [ebp-1CH] mov ecx, eax shr ecx, 31 add eax, ecx sar eax, 1 mov ecx, eax mov edx, ecx sar edx, 31 add ecx, dword ptr [ebp-34H] adc edx, dword ptr [ebp-30H] cmp ecx, 0xD1FFAB1E sbb edx, 0 jae G_M000_IG16 mov edx, ecx mov ecx, dword ptr [ebp-18H] cmp eax, ecx jne G_M000_IG15 G_M000_IG07: mov eax, edx mov dword ptr [ebp-24H], eax cmp eax, 0x400 jg G_M000_IG17 mov edx, eax test edx, edx je SHORT G_M000_IG09 add edx, 3 and edx, -4 neg edx add edx, esp jb SHORT G_M000_IG08 xor edx, edx G_M000_IG08: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, edx jae SHORT G_M000_IG08 mov esp, edx lea edx, [esp] G_M000_IG09: mov dword ptr [ebp-10H], esp push ecx push edx push eax push ebx push dword ptr [ebp+08H] mov ecx, edi mov edx, dword ptr [ebp-1CH] call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:GetListByName(uint,int,uint,int,int,int):System.__Canon[]:this] mov gword ptr [ebp-14H], eax G_M000_IG10: xor edx, edx mov bword ptr [ebp-20H], edx G_M000_IG11: push esi push ebx lea edx, [ebp-14H] mov ecx, edi call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Insert(byref,System.String,int):this] mov eax, gword ptr [ebp-14H] cmp dword ptr [ebp-40H], 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 8 G_M000_IG13: push 0 push 0 push 0 push ebx push eax mov ecx, edi xor edx, edx call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:GetListByName(uint,int,uint,int,int,int):System.__Canon[]:this] mov gword ptr [ebp-14H], eax jmp SHORT G_M000_IG11 G_M000_IG14: mov ecx, 14 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG15: mov dword ptr [ebp-2CH], edx push ecx push eax mov ecx, gword ptr [ebp-3CH] mov edx, dword ptr [ebp-1CH] call [System.Text.Encoding:GetByteCountWithFallback(uint,int,int):int:this] mov edx, eax add edx, dword ptr [ebp-2CH] mov ecx, dword ptr [ebp-18H] jns G_M000_IG07 G_M000_IG16: call [System.Text.Encoding:ThrowConversionOverflow()] int3 G_M000_IG17: mov edx, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC cmp dword ptr [eax+04H], 0 jbe SHORT G_M000_IG21 add eax, 8 mov bword ptr [ebp-28H], eax mov edx, dword ptr [ebp-1CH] push dword ptr [ebp-18H] mov ecx, bword ptr [ebp-28H] push ecx push dword ptr [ebp-24H] push ebx push dword ptr [ebp+08H] mov ecx, edi call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:GetListByName(uint,int,uint,int,int,int):System.__Canon[]:this] mov gword ptr [ebp-14H], eax xor eax, eax mov bword ptr [ebp-28H], eax jmp G_M000_IG10 G_M000_IG18: cmp word ptr [esi+08H], 46 je SHORT G_M000_IG20 cmp word ptr [esi+08H], 42 je SHORT G_M000_IG19 jmp G_M000_IG13 G_M000_IG19: mov dword ptr [ebp+08H], eax jmp G_M000_IG05 G_M000_IG20: mov dword ptr [ebp+08H], eax jmp G_M000_IG05 G_M000_IG21: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 472 927: JIT compiled System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Populate(System.String,int,int) [Tier1 with Static PGO, IL size=180, code size=472] ; Assembly listing for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:GetListByName(uint,int,uint,int,int,int):System.__Canon[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 10544 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 24 mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+18H] mov eax, dword ptr [ebp+14H] mov edx, dword ptr [ebp+10H] G_M000_IG02: test ebx, ebx je SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-24H], ecx cmp byte ptr [ecx], cl test esi, esi je G_M000_IG21 test eax, eax je G_M000_IG20 mov ecx, ebx or ecx, edx jl G_M000_IG23 mov dword ptr [ebp+14H], eax push eax mov dword ptr [ebp+10H], edx push edx lea ecx, [ebp-1CH] push ecx lea ecx, [ebp-20H] push ecx mov ecx, esi mov edx, ebx call [System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref):int] mov ecx, dword ptr [ebp-1CH] sub ecx, esi mov edx, ecx shr edx, 31 add ecx, edx sar ecx, 1 mov edx, dword ptr [ebp-20H] mov eax, dword ptr [ebp+14H] sub edx, eax cmp ecx, ebx je SHORT G_M000_IG05 push ebx mov dword ptr [ebp+14H], eax push eax mov ebx, dword ptr [ebp+10H] push ebx push ecx push edx push 1 mov ecx, gword ptr [ebp-24H] mov edx, esi call [System.Text.Encoding:GetBytesWithFallback(uint,int,uint,int,int,int,bool):int:this] mov edx, ebx mov eax, dword ptr [ebp+14H] G_M000_IG04: mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], edx mov esi, dword ptr [ebp+0CH] mov dword ptr [ebp-10H], esi xor esi, esi mov ecx, dword ptr [ebp+08H] cmp ecx, 6 ja SHORT G_M000_IG12 lea eax, [@RWD00] mov eax, dword ptr [eax+4*ecx] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG05: mov edx, dword ptr [ebp+10H] jmp SHORT G_M000_IG04 G_M000_IG06: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG07: mov eax, esi test eax, eax je SHORT G_M000_IG10 G_M000_IG08: cmp dword ptr [eax], edx je SHORT G_M000_IG10 G_M000_IG09: mov ecx, edx mov edx, esi call [CORINFO_HELP_CHKCASTARRAY] G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 G_M000_IG11: push dword ptr [ebp-10H] push dword ptr [ebp-14H] push dword ptr [ebp-18H] mov ecx, edi call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateInterfaces(System.RuntimeType+RuntimeTypeCache+Filter):System.RuntimeType[]:this] mov esi, eax G_M000_IG12: mov ecx, dword ptr [edi] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+20H] test edx, edx je SHORT G_M000_IG06 G_M000_IG13: jmp SHORT G_M000_IG07 G_M000_IG14: push dword ptr [ebp-10H] push dword ptr [ebp-14H] push dword ptr [ebp-18H] mov ecx, edi call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimePropertyInfo[]:this] mov esi, eax jmp SHORT G_M000_IG12 G_M000_IG15: push dword ptr [ebp-10H] push dword ptr [ebp-14H] push dword ptr [ebp-18H] mov ecx, edi call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateConstructors(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeConstructorInfo[]:this] mov esi, eax jmp SHORT G_M000_IG12 G_M000_IG16: push dword ptr [ebp-10H] push dword ptr [ebp-14H] push dword ptr [ebp-18H] mov ecx, edi call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateMethods(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeMethodInfo[]:this] mov esi, eax jmp SHORT G_M000_IG12 G_M000_IG17: push dword ptr [ebp-10H] push dword ptr [ebp-14H] push dword ptr [ebp-18H] mov ecx, edi call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateFields(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeFieldInfo[]:this] mov esi, eax jmp SHORT G_M000_IG12 G_M000_IG18: push dword ptr [ebp-10H] push dword ptr [ebp-14H] push dword ptr [ebp-18H] mov ecx, edi call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateNestedClasses(System.RuntimeType+RuntimeTypeCache+Filter):System.RuntimeType[]:this] mov esi, eax jmp SHORT G_M000_IG12 G_M000_IG19: push dword ptr [ebp-10H] push dword ptr [ebp-14H] push dword ptr [ebp-18H] mov ecx, edi call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateEvents(System.RuntimeType+RuntimeTypeCache+Filter):System.Reflection.RuntimeEventInfo[]:this] mov esi, eax jmp G_M000_IG12 G_M000_IG20: mov ecx, 10 jmp SHORT G_M000_IG22 G_M000_IG21: mov ecx, 14 G_M000_IG22: mov edx, 49 call [System.ThrowHelper:ThrowArgumentNullException(int,int)] int3 G_M000_IG23: mov ecx, 16 mov edx, 12 test ebx, ebx cmovge ecx, edx mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] int3 RWD00 dd G_M000_IG16 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 dd G_M000_IG19 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG18 - G_M000_IG02 ; Total bytes of code 447 928: JIT compiled System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:GetListByName(uint,int,uint,int,int,int) [Tier1 with Static PGO, IL size=145, code size=447] ; Assembly listing for method System.ModuleHandle:ResolveMethodHandle(int,System.RuntimeTypeHandle[],System.RuntimeTypeHandle[]):System.RuntimeMethodHandle:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 38527 ; 4 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 132 xor eax, eax mov dword ptr [ebp-58H], eax mov dword ptr [ebp-64H], eax mov dword ptr [ebp-10H], 0xD1FFAB1E mov esi, edx G_M000_IG02: mov edi, gword ptr [ebp+08H] mov ebx, gword ptr [ebp+0CH] mov eax, gword ptr [ecx] mov gword ptr [ebp-7CH], eax test ebx, ebx jne G_M000_IG16 xor edx, edx G_M000_IG03: mov ebx, edx test ebx, ebx je SHORT G_M000_IG06 G_M000_IG04: mov ecx, 0xD1FFAB1E cmp dword ptr [ebx], ecx je SHORT G_M000_IG06 G_M000_IG05: call [CORINFO_HELP_CHKCASTARRAY] mov ebx, eax G_M000_IG06: test edi, edi jne G_M000_IG17 xor edx, edx G_M000_IG07: mov edi, edx test edi, edi je SHORT G_M000_IG10 G_M000_IG08: mov ecx, 0xD1FFAB1E cmp dword ptr [edi], ecx je SHORT G_M000_IG10 G_M000_IG09: call [CORINFO_HELP_CHKCASTARRAY] mov edi, eax G_M000_IG10: mov ecx, ebx lea edx, [ebp-30H] test ecx, ecx jne G_M000_IG18 G_M000_IG11: xor ecx, ecx mov dword ptr [ebp-58H], ecx mov dword ptr [ebp-54H], ecx G_M000_IG12: mov ecx, bword ptr [ebp-58H] mov bword ptr [ebp-84H], ecx mov edx, dword ptr [ebp-54H] mov eax, edi lea ecx, [ebp-50H] test eax, eax jne G_M000_IG23 G_M000_IG13: xor ecx, ecx mov dword ptr [ebp-64H], ecx mov dword ptr [ebp-60H], ecx G_M000_IG14: push edx push bword ptr [ebp-84H] push dword ptr [ebp-60H] push bword ptr [ebp-64H] mov ecx, gword ptr [ebp-7CH] mov edx, esi call [System.ModuleHandle:ResolveMethodHandleInternal(System.Reflection.RuntimeModule,int,System.ReadOnlySpan`1[int],System.ReadOnlySpan`1[int]):int] mov esi, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-80H], eax mov ecx, esi call System.RuntimeMethodHandle:GetLoaderAllocator(int):System.Reflection.LoaderAllocator mov ecx, gword ptr [ebp-80H] lea edx, bword ptr [ecx+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov dword ptr [ecx+28H], esi mov eax, ecx 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 8 G_M000_IG16: mov ecx, ebx call [System.Object:MemberwiseClone():System.Object:this] mov edx, eax jmp G_M000_IG03 G_M000_IG17: mov ecx, edi call [System.Object:MemberwiseClone():System.Object:this] mov edx, eax jmp G_M000_IG07 G_M000_IG18: cmp dword ptr [ebx+04H], 0 je G_M000_IG11 cmp dword ptr [ebx+04H], 8 jle SHORT G_M000_IG19 mov edx, dword ptr [ebx+04H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC lea edx, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] jmp SHORT G_M000_IG20 G_M000_IG19: mov ecx, dword ptr [ebx+04H] cmp ecx, 8 ja G_M000_IG25 mov eax, ecx G_M000_IG20: mov bword ptr [ebp-88H], edx mov dword ptr [ebp-74H], eax xor ecx, ecx jmp SHORT G_M000_IG22 G_M000_IG21: cmp ecx, eax jae G_M000_IG30 mov dword ptr [ebp-5CH], ecx lea ecx, bword ptr [ebx+4*ecx+08H] call [System.RuntimeTypeHandle:get_Value():int:this] mov ecx, bword ptr [ebp-88H] mov edx, dword ptr [ebp-5CH] mov dword ptr [ecx+4*edx], eax inc edx mov bword ptr [ebp-88H], ecx mov ecx, edx mov eax, dword ptr [ebp-74H] G_M000_IG22: cmp dword ptr [ebx+04H], ecx jg SHORT G_M000_IG21 push eax push bword ptr [ebp-88H] lea ecx, [ebp-58H] call [System.Span`1[int]:op_Implicit(System.Span`1[int]):System.ReadOnlySpan`1[int]] jmp G_M000_IG12 G_M000_IG23: cmp dword ptr [edi+04H], 0 je G_M000_IG13 cmp dword ptr [edi+04H], 8 jle SHORT G_M000_IG24 mov dword ptr [ebp-70H], edx mov edx, dword ptr [edi+04H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC lea edx, bword ptr [eax+08H] mov eax, dword ptr [eax+04H] jmp SHORT G_M000_IG27 G_M000_IG24: mov eax, dword ptr [edi+04H] cmp eax, 8 mov dword ptr [ebp-70H], edx mov bword ptr [ebp-8CH], ecx mov dword ptr [ebp-6CH], eax jbe SHORT G_M000_IG26 G_M000_IG25: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG26: mov edx, bword ptr [ebp-8CH] mov ecx, dword ptr [ebp-6CH] mov eax, ecx G_M000_IG27: mov bword ptr [ebp-90H], edx mov dword ptr [ebp-78H], eax xor ecx, ecx jmp SHORT G_M000_IG29 G_M000_IG28: cmp ecx, eax jae SHORT G_M000_IG30 mov dword ptr [ebp-68H], ecx lea ecx, bword ptr [edi+4*ecx+08H] call [System.RuntimeTypeHandle:get_Value():int:this] mov ecx, bword ptr [ebp-90H] mov edx, dword ptr [ebp-68H] mov dword ptr [ecx+4*edx], eax inc edx mov bword ptr [ebp-90H], ecx mov ecx, edx mov eax, dword ptr [ebp-78H] G_M000_IG29: cmp dword ptr [edi+04H], ecx jg SHORT G_M000_IG28 push eax push bword ptr [ebp-90H] lea ecx, [ebp-64H] call [System.Span`1[int]:op_Implicit(System.Span`1[int]):System.ReadOnlySpan`1[int]] mov edx, dword ptr [ebp-70H] jmp G_M000_IG14 G_M000_IG30: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 578 929: JIT compiled System.ModuleHandle:ResolveMethodHandle(int,System.RuntimeTypeHandle[],System.RuntimeTypeHandle[]) [Tier1 with Static PGO, IL size=151, code size=578] ; Assembly listing for method System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:GetHashCodeHelper(System.__Canon):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 40445 ; 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 xor eax, eax mov dword ptr [ebp-0CH], eax G_M000_IG02: mov eax, ecx test eax, eax je SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [eax], 0xD1FFAB1E je SHORT G_M000_IG07 G_M000_IG04: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG13 G_M000_IG05: call [System.Reflection.RuntimeMethodInfo:GetHashCode():int:this] G_M000_IG06: pop ecx pop esi pop edi pop ebp ret G_M000_IG07: lea edx, bword ptr [eax+08H] mov bword ptr [ebp-0CH], edx mov edx, bword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E mov esi, 0xD1FFAB1E mov eax, dword ptr [eax+04H] cmp eax, 2 jle SHORT G_M000_IG09 align [9 bytes for IG08] G_M000_IG08: add eax, -4 mov edi, ecx rol edi, 5 add ecx, edi xor ecx, dword ptr [edx] mov edi, esi rol edi, 5 add esi, edi xor esi, dword ptr [edx+04H] add edx, 8 cmp eax, 2 jg SHORT G_M000_IG08 G_M000_IG09: test eax, eax jle SHORT G_M000_IG11 G_M000_IG10: mov eax, esi rol eax, 5 add eax, esi mov esi, eax xor esi, dword ptr [edx] G_M000_IG11: imul eax, esi, 0xD1FFAB1E add eax, ecx xor edx, edx mov bword ptr [ebp-0CH], edx G_M000_IG12: pop ecx pop esi pop edi pop ebp ret G_M000_IG13: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+0CH]System.Object:GetHashCode():int:this jmp SHORT G_M000_IG06 ; Total bytes of code 153 930: JIT compiled System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:GetHashCodeHelper(System.__Canon) [Tier1 with Static PGO, IL size=34, code size=153] ; Assembly listing for method System.Text.ValueStringBuilder:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 8 vzeroupper xor eax, eax mov dword ptr [ebp-10H], eax mov esi, ecx G_M000_IG02: lea ecx, bword ptr [esi+08H] mov eax, dword ptr [esi+04H] mov edx, dword ptr [ecx+04H] cmp eax, edx ja SHORT G_M000_IG06 mov ecx, bword ptr [ecx] mov bword ptr [ebp-10H], ecx mov dword ptr [ebp-0CH], eax lea ecx, [ebp-10H] call [System.Span`1[ushort]:ToString():System.String:this] mov edi, eax mov edx, gword ptr [esi] xor ecx, ecx vxorps xmm0, xmm0 vmovq qword ptr [esi], xmm0 vmovq qword ptr [esi+08H], xmm0 test edx, edx jne SHORT G_M000_IG05 G_M000_IG03: mov eax, edi G_M000_IG04: lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG05: push 0 mov ecx, gword ptr [D1FFAB1EH] cmp dword ptr [ecx], ecx call [System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[ushort]:Return(ushort[],bool):this] jmp SHORT G_M000_IG03 G_M000_IG06: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 105 931: JIT compiled System.Text.ValueStringBuilder:ToString() [Tier1, IL size=41, code size=105] ; Assembly listing for method System.Span`1[ushort]:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 49835 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, bword ptr [ecx] mov edx, dword ptr [ecx+04H] push edx push eax call System.String:.ctor(System.ReadOnlySpan`1[ushort]):this G_M000_IG03: pop ebp ret ; Total bytes of code 17 932: JIT compiled System.Span`1[ushort]:ToString() [Tier1 with Static PGO, IL size=144, code size=17] ; Assembly listing for method System.Reflection.RuntimePropertyInfo:GetSetMethod(bool):System.Reflection.RuntimeMethodInfo:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 10727 ; 2 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, gword ptr [ecx+10H] mov ecx, eax test ecx, ecx je SHORT G_M000_IG06 G_M000_IG03: test dl, dl je SHORT G_M000_IG05 G_M000_IG04: pop ebp ret G_M000_IG05: mov edx, dword ptr [ecx+30H] and edx, 7 cmp edx, 6 je SHORT G_M000_IG04 G_M000_IG06: xor eax, eax G_M000_IG07: pop ebp ret ; Total bytes of code 33 933: JIT compiled System.Reflection.RuntimePropertyInfo:GetSetMethod(bool) [Tier1 with Static PGO, IL size=23, code size=33] ; Assembly listing for method System.Number:TryUInt32ToDecStr[ushort](uint,System.Span`1[ushort],byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 9 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi push eax xor eax, eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov eax, ecx or eax, 1 lzcnt eax, eax xor eax, 31 lea eax, [8*eax+D1FFAB1EH] mov esi, dword ptr [eax] mov eax, dword ptr [eax+04H] add esi, ecx adc eax, 0 cmp eax, dword ptr [ebp+0CH] jg SHORT G_M000_IG12 G_M000_IG03: mov dword ptr [edx], eax mov edx, bword ptr [ebp+08H] mov bword ptr [ebp-08H], edx lea esi, [edx+2*eax] cmp ecx, 10 jb SHORT G_M000_IG09 cmp ecx, 100 jb SHORT G_M000_IG08 align [0 bytes for IG04] G_M000_IG04: 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 lea eax, bword ptr [eax+4*ecx+08H] mov eax, dword ptr [eax] mov dword ptr [esi], eax cmp edx, 100 jae SHORT G_M000_IG07 G_M000_IG05: cmp edx, 10 jb SHORT G_M000_IG06 lea eax, [esi-04H] mov ecx, gword ptr [D1FFAB1EH] cmp byte ptr [ecx], cl lea edx, bword ptr [ecx+4*edx+08H] mov edx, dword ptr [edx] mov dword ptr [eax], edx jmp SHORT G_M000_IG10 G_M000_IG06: mov ecx, edx jmp SHORT G_M000_IG09 G_M000_IG07: mov ecx, edx jmp SHORT G_M000_IG04 G_M000_IG08: mov edx, ecx jmp SHORT G_M000_IG05 G_M000_IG09: lea eax, [ecx+30H] mov word ptr [esi-02H], ax G_M000_IG10: xor eax, eax mov bword ptr [ebp-08H], eax mov eax, 1 G_M000_IG11: pop ecx pop esi pop ebp ret 8 G_M000_IG12: xor eax, eax mov dword ptr [edx], eax G_M000_IG13: pop ecx pop esi pop ebp ret 8 ; Total bytes of code 176 934: JIT compiled System.Number:TryUInt32ToDecStr[ushort](uint,System.Span`1[ushort],byref) [Tier1, IL size=58, code size=176] ; Assembly listing for method System.Reflection.Emit.ILGenerator:InternalEmit(System.Reflection.Emit.OpCode):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 68044 ; 2 inlinees with PGO data; 9 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx G_M000_IG02: movsx ebx, word ptr [ebp+08H] mov esi, dword ptr [ebp+0CH] mov eax, esi sar eax, 22 and eax, 3 cmp eax, 1 jne SHORT G_M000_IG11 G_M000_IG03: mov eax, gword ptr [ecx+0CH] mov edx, dword ptr [ecx+30H] lea edi, [edx+01H] mov dword ptr [ecx+30H], edi cmp edx, dword ptr [eax+04H] jae G_M000_IG18 mov byte ptr [eax+edx+08H], bl G_M000_IG04: mov eax, esi sar esi, 28 cmp dword ptr [ecx+4CH], 0 jl SHORT G_M000_IG13 G_M000_IG05: add esi, dword ptr [ecx+4CH] mov dword ptr [ecx+4CH], esi test esi, esi jl SHORT G_M000_IG14 G_M000_IG06: cmp dword ptr [ecx+54H], esi jl SHORT G_M000_IG09 G_M000_IG07: mov edx, dword ptr [ecx+4CH] mov dword ptr [ecx+50H], edx test eax, 0xD1FFAB1E jne SHORT G_M000_IG10 G_M000_IG08: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG09: mov dword ptr [ecx+54H], esi jmp SHORT G_M000_IG07 G_M000_IG10: mov dword ptr [ecx+4CH], -1 jmp SHORT G_M000_IG08 G_M000_IG11: mov eax, gword ptr [ecx+0CH] mov edi, dword ptr [ecx+30H] test eax, eax je SHORT G_M000_IG15 cmp dword ptr [eax+04H], edi jb SHORT G_M000_IG16 lea edx, bword ptr [eax+edi+08H] mov eax, dword ptr [eax+04H] sub eax, edi G_M000_IG12: ror bx, 8 movsx edi, bx cmp eax, 2 jb SHORT G_M000_IG17 mov word ptr [edx], di add dword ptr [ecx+30H], 2 jmp SHORT G_M000_IG04 G_M000_IG13: xor edx, edx mov dword ptr [ecx+4CH], edx jmp SHORT G_M000_IG05 G_M000_IG14: lea edx, bword ptr [ecx+04H] mov ebx, dword ptr [edx] mov edx, dword ptr [edx+04H] mov edi, esi sar edi, 31 sub ebx, esi sbb edx, edi lea esi, bword ptr [ecx+04H] mov dword ptr [esi], ebx mov dword ptr [esi+04H], edx xor edx, edx mov dword ptr [ecx+4CH], edx jmp SHORT G_M000_IG07 G_M000_IG15: test edi, edi jne SHORT G_M000_IG16 xor edx, edx xor eax, eax jmp SHORT G_M000_IG12 G_M000_IG16: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG17: mov ecx, 40 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int)] int3 G_M000_IG18: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 230 935: JIT compiled System.Reflection.Emit.ILGenerator:InternalEmit(System.Reflection.Emit.OpCode) [Tier1 with Static PGO, IL size=98, code size=230] ; Assembly listing for method System.Reflection.Emit.SignatureHelper:AddElementType(ubyte):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 19957 ; 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 mov esi, ecx mov ebx, edx G_M000_IG02: mov edx, dword ptr [esi+0CH] inc edx mov ecx, gword ptr [esi+04H] cmp edx, dword ptr [ecx+04H] jg SHORT G_M000_IG05 G_M000_IG03: mov eax, gword ptr [esi+04H] mov edx, dword ptr [esi+0CH] lea ecx, [edx+01H] mov dword ptr [esi+0CH], ecx cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG06 mov byte ptr [eax+edx+08H], bl G_M000_IG04: pop ebx pop esi pop ebp ret G_M000_IG05: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG03 G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 76 936: JIT compiled System.Reflection.Emit.SignatureHelper:AddElementType(ubyte) [Tier1 with Static PGO, IL size=61, code size=76] ; Assembly listing for method System.Reflection.RuntimeMethodInfo:FetchNonReturnParameters():System.Reflection.ParameterInfo[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 43733 ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi push eax xor eax, eax mov dword ptr [ebp-08H], eax mov esi, ecx G_M000_IG02: mov eax, gword ptr [esi+10H] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: pop ecx pop esi pop ebp ret G_M000_IG04: mov eax, gword ptr [esi+18H] test eax, eax je SHORT G_M000_IG06 G_M000_IG05: push eax lea ecx, [ebp-08H] push ecx push 0 mov ecx, esi mov edx, esi call [System.Reflection.RuntimeParameterInfo:GetParameters(System.IRuntimeMethodInfo,System.Reflection.MemberInfo,System.Signature,byref,bool):System.Reflection.ParameterInfo[]] xor edx, edx mov gword ptr [ebp-08H], edx lea edx, bword ptr [esi+10H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG03 G_M000_IG06: mov ecx, esi call [System.Reflection.RuntimeMethodInfo:g__LazyCreateSignature|25_0():System.Signature:this] jmp SHORT G_M000_IG05 ; Total bytes of code 72 937: JIT compiled System.Reflection.RuntimeMethodInfo:FetchNonReturnParameters() [Tier1 with Static PGO, IL size=33, code size=72] ; Assembly listing for method System.Reflection.Emit.DynamicResolver:GetJitContext(byref):System.RuntimeType:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 20023 G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: xor eax, eax mov ecx, gword ptr [ecx+0CH] cmp byte ptr [ecx+3EH], 0 jne SHORT G_M000_IG06 G_M000_IG03: mov esi, 1 cmp byte ptr [ecx+3DH], 0 cmovne eax, esi G_M000_IG04: mov ecx, gword ptr [ecx+1CH] mov dword ptr [edx], eax mov eax, ecx G_M000_IG05: pop esi pop ebp ret G_M000_IG06: mov eax, 2 jmp SHORT G_M000_IG04 ; Total bytes of code 44 938: JIT compiled System.Reflection.Emit.DynamicResolver:GetJitContext(byref) [Tier1 with Static PGO, IL size=55, code size=44] ; Assembly listing for method System.String:Concat(System.String,System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 96147 ; 7 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov edi, ecx mov esi, edx G_M000_IG02: test edi, edi je SHORT G_M000_IG06 G_M000_IG03: mov ebx, dword ptr [edi+04H] test ebx, ebx je SHORT G_M000_IG06 G_M000_IG04: test esi, esi je SHORT G_M000_IG10 G_M000_IG05: jmp SHORT G_M000_IG12 G_M000_IG06: test esi, esi je SHORT G_M000_IG15 G_M000_IG07: mov edi, dword ptr [esi+04H] test edi, edi je SHORT G_M000_IG15 G_M000_IG08: mov eax, esi G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG10: mov eax, edi G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG12: mov ecx, dword ptr [esi+04H] mov eax, ecx test eax, eax je SHORT G_M000_IG10 G_M000_IG13: mov edx, ebx mov dword ptr [ebp-10H], edx mov dword ptr [ebp-14H], eax lea ecx, [eax+edx] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-18H], eax cmp dword ptr [eax+04H], ebx jl SHORT G_M000_IG18 lea ecx, bword ptr [eax+08H] lea edx, bword ptr [edi+08H] mov edi, dword ptr [ebp-10H] lea ebx, [edi+edi] push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, gword ptr [ebp-18H] mov ecx, dword ptr [ebx+04H] sub ecx, edi mov edx, dword ptr [ebp-14H] cmp ecx, edx jl SHORT G_M000_IG17 lea ecx, bword ptr [ebx+2*edi+08H] add esi, 8 add edx, edx push edx mov edx, esi call [System.Buffer:Memmove(byref,byref,uint)] mov eax, ebx G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG15: mov eax, 0xD1FFAB1E G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG17: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 224 939: JIT compiled System.String:Concat(System.String,System.String) [Tier1 with Static PGO, IL size=73, code size=224] ; Assembly listing for method System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 22 inlinees with PGO data; 36 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 mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, edi mov ebx, dword ptr [edi] mov eax, dword ptr [ebx+34H] mov dword ptr [ebp-24H], eax call [eax+18H]System.Type:get_IsGenericParameter():bool:this test eax, eax je G_M000_IG12 G_M000_IG03: mov ecx, edi mov eax, dword ptr [ebx+30H] call [eax+1CH]System.Type:get_DeclaringMethod():System.Reflection.MethodBase:this test eax, eax je SHORT G_M000_IG08 mov edx, dword ptr [esi+0CH] inc edx mov ecx, gword ptr [esi+04H] cmp edx, dword ptr [ecx+04H] jg SHORT G_M000_IG05 G_M000_IG04: mov edx, gword ptr [esi+04H] mov ecx, dword ptr [esi+0CH] lea eax, [ecx+01H] mov dword ptr [esi+0CH], eax cmp ecx, dword ptr [edx+04H] jae G_M000_IG73 mov byte ptr [edx+ecx+08H], 30 jmp SHORT G_M000_IG10 G_M000_IG05: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG04 G_M000_IG06: mov ecx, gword ptr [esi+08H] mov edx, edi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.Reflection.Emit.ModuleBuilder:GetTypeMetadataToken(System.Type):int:this mov edi, eax mov ecx, dword ptr [esi+0CH] inc ecx mov edx, gword ptr [esi+04H] cmp ecx, dword ptr [edx+04H] jle G_M000_IG28 G_M000_IG07: jmp G_M000_IG25 G_M000_IG08: mov edx, dword ptr [esi+0CH] inc edx mov ecx, gword ptr [esi+04H] cmp edx, dword ptr [ecx+04H] jg SHORT G_M000_IG11 G_M000_IG09: mov ecx, gword ptr [esi+04H] mov eax, dword ptr [esi+0CH] lea edx, [eax+01H] mov dword ptr [esi+0CH], edx cmp eax, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+eax+08H], 19 G_M000_IG10: mov ecx, edi mov eax, dword ptr [ebx+40H] call [eax]System.Type:get_GenericParameterPosition():int:this mov edx, eax mov ecx, esi call [System.Reflection.Emit.SignatureHelper:AddData(int):this] jmp G_M000_IG68 G_M000_IG11: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG09 G_M000_IG12: mov ecx, edi mov eax, dword ptr [ebx+38H] mov dword ptr [ebp-20H], eax call [eax+04H]System.Type:get_IsGenericType():bool:this test eax, eax je G_M000_IG18 mov ecx, edi mov eax, dword ptr [ebp-20H] call [eax+08H]System.Type:get_IsGenericTypeDefinition():bool:this test eax, eax je SHORT G_M000_IG13 cmp byte ptr [ebp+08H], 0 jne G_M000_IG18 G_M000_IG13: mov edx, dword ptr [esi+0CH] inc edx mov ecx, gword ptr [esi+04H] cmp edx, dword ptr [ecx+04H] jg SHORT G_M000_IG17 G_M000_IG14: mov ecx, gword ptr [esi+04H] mov eax, dword ptr [esi+0CH] lea edx, [eax+01H] mov dword ptr [esi+0CH], edx cmp eax, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+eax+08H], 21 mov ecx, edi mov eax, dword ptr [ebx+3CH] call [eax+0CH]System.Type:GetGenericTypeDefinition():System.Type:this mov edx, eax push 1 mov ecx, esi call [System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,bool):this] mov ecx, edi mov eax, dword ptr [ebx+3CH] call [eax+14H]System.Type:GetGenericArguments():System.Type[]:this mov edi, eax mov ebx, dword ptr [edi+04H] mov edx, ebx mov ecx, esi call [System.Reflection.Emit.SignatureHelper:AddData(int):this] xor eax, eax test ebx, ebx jle G_M000_IG68 G_M000_IG15: mov dword ptr [ebp-10H], eax mov edx, gword ptr [edi+4*eax+08H] push 0 mov ecx, esi call [System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,bool):this] mov eax, dword ptr [ebp-10H] inc eax cmp ebx, eax jg SHORT G_M000_IG15 G_M000_IG16: jmp G_M000_IG68 G_M000_IG17: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp G_M000_IG14 G_M000_IG18: mov eax, edi mov gword ptr [ebp-28H], eax cmp ebx, 0xD1FFAB1E jne G_M000_IG30 mov ecx, gword ptr [eax+08H] mov edx, gword ptr [esi+08H] cmp dword ptr [ecx], ecx call [System.Reflection.Emit.RuntimeModuleBuilder:Equals(System.Object):bool:this] test eax, eax je SHORT G_M000_IG20 mov eax, gword ptr [ebp-28H] cmp byte ptr [eax+5EH], 0 je SHORT G_M000_IG19 mov ecx, eax call [System.Reflection.Emit.RuntimeTypeBuilder:ThrowIfCreated():this] mov eax, gword ptr [ebp-28H] G_M000_IG19: mov eax, dword ptr [eax+3CH] mov dword ptr [ebp-14H], eax jmp SHORT G_M000_IG21 G_M000_IG20: mov ecx, gword ptr [esi+08H] mov edx, edi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.Reflection.Emit.ModuleBuilder:GetTypeMetadataToken(System.Type):int:this mov dword ptr [ebp-14H], eax G_M000_IG21: mov ecx, edi mov edx, dword ptr [ebx+44H] call [edx+04H]System.Type:IsValueTypeImpl():bool:this test eax, eax je SHORT G_M000_IG26 mov edx, dword ptr [esi+0CH] inc edx mov ecx, gword ptr [esi+04H] cmp edx, dword ptr [ecx+04H] jg SHORT G_M000_IG24 G_M000_IG22: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [esi+0CH] lea eax, [edx+01H] mov dword ptr [esi+0CH], eax cmp edx, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+edx+08H], 17 G_M000_IG23: mov ecx, esi mov edx, dword ptr [ebp-14H] call [System.Reflection.Emit.SignatureHelper:AddToken(int):this] jmp G_M000_IG68 G_M000_IG24: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG22 G_M000_IG25: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG28 G_M000_IG26: mov edx, dword ptr [esi+0CH] inc edx mov ecx, gword ptr [esi+04H] cmp edx, dword ptr [ecx+04H] jg SHORT G_M000_IG29 G_M000_IG27: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [esi+0CH] lea eax, [edx+01H] mov dword ptr [esi+0CH], eax cmp edx, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+edx+08H], 18 jmp SHORT G_M000_IG23 G_M000_IG28: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [esi+0CH] lea eax, [edx+01H] mov dword ptr [esi+0CH], eax cmp edx, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+edx+08H], 18 mov ecx, esi mov edx, edi call [System.Reflection.Emit.SignatureHelper:AddToken(int):this] jmp G_M000_IG68 G_M000_IG29: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG27 G_M000_IG30: mov ecx, edi cmp ebx, 0xD1FFAB1E jne G_M000_IG44 mov eax, gword ptr [ecx+04H] mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [eax+08H] mov edx, gword ptr [esi+08H] cmp dword ptr [ecx], ecx call [System.Reflection.Emit.RuntimeModuleBuilder:Equals(System.Object):bool:this] test eax, eax je SHORT G_M000_IG32 mov eax, gword ptr [ebp-2CH] cmp byte ptr [eax+5EH], 0 je SHORT G_M000_IG31 mov ecx, eax call [System.Reflection.Emit.RuntimeTypeBuilder:ThrowIfCreated():this] mov eax, gword ptr [ebp-2CH] G_M000_IG31: mov eax, dword ptr [eax+3CH] mov dword ptr [ebp-18H], eax jmp SHORT G_M000_IG33 G_M000_IG32: mov ecx, gword ptr [esi+08H] mov edx, edi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.Reflection.Emit.ModuleBuilder:GetTypeMetadataToken(System.Type):int:this mov dword ptr [ebp-18H], eax G_M000_IG33: mov ecx, edi mov edx, dword ptr [ebx+44H] call [edx+04H]System.Type:IsValueTypeImpl():bool:this test eax, eax je SHORT G_M000_IG38 mov edx, dword ptr [esi+0CH] inc edx mov ecx, gword ptr [esi+04H] cmp edx, dword ptr [ecx+04H] jg SHORT G_M000_IG36 G_M000_IG34: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [esi+0CH] lea eax, [edx+01H] mov dword ptr [esi+0CH], eax cmp edx, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+edx+08H], 17 G_M000_IG35: mov ecx, esi mov edx, dword ptr [ebp-18H] call [System.Reflection.Emit.SignatureHelper:AddToken(int):this] jmp G_M000_IG68 G_M000_IG36: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG34 G_M000_IG37: test eax, eax je G_M000_IG06 jmp SHORT G_M000_IG40 G_M000_IG38: mov edx, dword ptr [esi+0CH] inc edx mov ecx, gword ptr [esi+04H] cmp edx, dword ptr [ecx+04H] jg SHORT G_M000_IG42 G_M000_IG39: mov ecx, gword ptr [esi+04H] mov eax, dword ptr [esi+0CH] lea edx, [eax+01H] mov dword ptr [esi+0CH], edx cmp eax, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+eax+08H], 18 jmp SHORT G_M000_IG35 G_M000_IG40: mov ecx, gword ptr [esi+08H] mov edx, edi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.Reflection.Emit.ModuleBuilder:GetTypeMetadataToken(System.Type):int:this mov edi, eax mov ecx, dword ptr [esi+0CH] inc ecx mov edx, gword ptr [esi+04H] cmp ecx, dword ptr [edx+04H] jle G_M000_IG51 G_M000_IG41: jmp SHORT G_M000_IG43 G_M000_IG42: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG39 G_M000_IG43: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp G_M000_IG51 G_M000_IG44: cmp ebx, 0xD1FFAB1E jne SHORT G_M000_IG47 mov ecx, edi call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 16 je SHORT G_M000_IG48 mov ecx, edi call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 15 je G_M000_IG53 mov ecx, edi call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 20 je G_M000_IG69 cmp eax, 29 sete al movzx eax, al G_M000_IG45: test eax, eax je G_M000_IG63 mov ecx, edi mov edx, dword ptr [ebp-20H] call [edx+0CH]System.Type:get_IsSZArray():bool:this test eax, eax je G_M000_IG58 mov ecx, dword ptr [esi+0CH] inc ecx mov eax, gword ptr [esi+04H] cmp ecx, dword ptr [eax+04H] jle G_M000_IG57 G_M000_IG46: jmp G_M000_IG56 G_M000_IG47: mov ecx, edi mov eax, dword ptr [ebp-24H] call [eax+0CH]System.Type:IsByRefImpl():bool:this test eax, eax je G_M000_IG52 G_M000_IG48: mov edx, dword ptr [esi+0CH] inc edx mov ecx, gword ptr [esi+04H] cmp edx, dword ptr [ecx+04H] jg SHORT G_M000_IG50 G_M000_IG49: mov ecx, gword ptr [esi+04H] mov eax, dword ptr [esi+0CH] lea edx, [eax+01H] mov dword ptr [esi+0CH], edx cmp eax, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+eax+08H], 16 mov ecx, edi mov eax, dword ptr [ebx+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this mov edx, eax push 0 mov ecx, esi call [System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,bool):this] jmp G_M000_IG68 G_M000_IG50: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG49 G_M000_IG51: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [esi+0CH] lea eax, [edx+01H] mov dword ptr [esi+0CH], eax cmp edx, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+edx+08H], 17 mov ecx, esi mov edx, edi call [System.Reflection.Emit.SignatureHelper:AddToken(int):this] jmp G_M000_IG68 G_M000_IG52: mov eax, dword ptr [ebp-24H] mov ecx, edi mov dword ptr [ebp-24H], eax call [eax+10H]System.Type:IsPointerImpl():bool:this test eax, eax je G_M000_IG70 G_M000_IG53: mov edx, dword ptr [esi+0CH] inc edx mov ecx, gword ptr [esi+04H] cmp edx, dword ptr [ecx+04H] jg SHORT G_M000_IG55 G_M000_IG54: mov ecx, gword ptr [esi+04H] mov eax, dword ptr [esi+0CH] lea edx, [eax+01H] mov dword ptr [esi+0CH], edx cmp eax, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+eax+08H], 15 mov ecx, edi mov eax, dword ptr [ebx+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this mov edx, eax push 0 mov ecx, esi call [System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,bool):this] jmp G_M000_IG68 G_M000_IG55: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG54 G_M000_IG56: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG57: mov ecx, gword ptr [esi+04H] mov eax, dword ptr [esi+0CH] lea edx, [eax+01H] mov dword ptr [esi+0CH], edx cmp eax, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+eax+08H], 29 mov ecx, edi mov eax, dword ptr [ebx+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this mov edx, eax push 0 mov ecx, esi call [System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,bool):this] jmp G_M000_IG68 G_M000_IG58: mov edx, dword ptr [esi+0CH] inc edx mov ecx, gword ptr [esi+04H] cmp edx, dword ptr [ecx+04H] jg SHORT G_M000_IG62 G_M000_IG59: mov ecx, gword ptr [esi+04H] mov eax, dword ptr [esi+0CH] lea edx, [eax+01H] mov dword ptr [esi+0CH], edx cmp eax, dword ptr [ecx+04H] jae G_M000_IG73 mov byte ptr [ecx+eax+08H], 20 mov ecx, edi mov eax, dword ptr [ebx+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this mov edx, eax push 0 mov ecx, esi call [System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,bool):this] mov ecx, edi mov eax, dword ptr [ebx+3CH] call [eax+08H]System.Type:GetArrayRank():int:this mov ebx, eax mov ecx, esi mov edx, ebx call [System.Reflection.Emit.SignatureHelper:AddData(int):this] mov ecx, esi xor edx, edx call [System.Reflection.Emit.SignatureHelper:AddData(int):this] mov ecx, esi mov edx, ebx call [System.Reflection.Emit.SignatureHelper:AddData(int):this] xor edi, edi test ebx, ebx jle G_M000_IG68 G_M000_IG60: mov ecx, esi xor edx, edx call [System.Reflection.Emit.SignatureHelper:AddData(int):this] inc edi cmp edi, ebx jl SHORT G_M000_IG60 G_M000_IG61: jmp G_M000_IG68 G_M000_IG62: mov ecx, gword ptr [esi+04H] mov edx, dword ptr [ecx+04H] add edx, edx call [System.Reflection.Emit.SignatureHelper:ExpandArray(ubyte[],int):ubyte[]] lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX jmp G_M000_IG59 G_M000_IG63: mov eax, 34 cmp ebx, 0xD1FFAB1E jne SHORT G_M000_IG64 mov ecx, 0xD1FFAB1E cmp ebx, ecx jne G_M000_IG71 mov ecx, edi call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte mov ecx, eax cmp ecx, 18 jne SHORT G_M000_IG65 mov eax, 14 cmp edi, 0xD1FFAB1E cmove ecx, eax mov eax, 28 cmp edi, 0xD1FFAB1E cmove ecx, eax mov eax, ecx G_M000_IG64: mov dword ptr [ebp-1CH], eax mov ecx, eax call [System.Reflection.Emit.SignatureHelper:IsSimpleType(ubyte):bool] test eax, eax je SHORT G_M000_IG66 mov ecx, esi mov edx, dword ptr [ebp-1CH] call [System.Reflection.Emit.SignatureHelper:AddElementType(ubyte):this] jmp SHORT G_M000_IG68 G_M000_IG65: mov eax, ecx jmp SHORT G_M000_IG64 G_M000_IG66: cmp gword ptr [esi+08H], 0 jne SHORT G_M000_IG67 mov ecx, esi mov edx, edi call [System.Reflection.Emit.SignatureHelper:InternalAddRuntimeType(System.Type):this] jmp SHORT G_M000_IG68 G_M000_IG67: cmp ebx, 0xD1FFAB1E jne SHORT G_M000_IG72 mov ecx, edi call [System.RuntimeType:IsValueTypeImpl():bool:this] jmp G_M000_IG37 G_M000_IG68: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG69: mov eax, 1 jmp G_M000_IG45 G_M000_IG70: mov eax, dword ptr [ebp-24H] mov ecx, edi call [eax+08H]System.Type:IsArrayImpl():bool:this jmp G_M000_IG45 G_M000_IG71: mov edx, edi call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG72: mov ecx, edi mov eax, dword ptr [ebx+44H] call [eax+04H]System.Type:IsValueTypeImpl():bool:this jmp G_M000_IG37 G_M000_IG73: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1809 940: JIT compiled System.Reflection.Emit.SignatureHelper:AddOneArgTypeHelperWorker(System.Type,bool) [Tier1, IL size=661, code size=1809] ; Assembly listing for method System.RuntimeType:get_IsGenericParameter():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: call System.RuntimeTypeHandle:IsGenericVariable(System.RuntimeType):bool G_M000_IG03: ret ; Total bytes of code 6 941: JIT compiled System.RuntimeType:get_IsGenericParameter() [Tier1, IL size=7, code size=6] ; Assembly listing for method System.Reflection.Emit.DynamicScope:get_Item(int):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: and edx, 0xD1FFAB1E jl SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ecx+04H] mov esi, dword ptr [ecx+08H] cmp edx, esi jle SHORT G_M000_IG06 G_M000_IG04: xor eax, eax G_M000_IG05: pop esi pop ebp ret G_M000_IG06: cmp edx, esi jae SHORT G_M000_IG08 mov eax, gword ptr [ecx+04H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG09 mov eax, gword ptr [eax+4*edx+08H] G_M000_IG07: pop esi pop ebp ret G_M000_IG08: call [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()] int3 G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 59 942: JIT compiled System.Reflection.Emit.DynamicScope:get_Item(int) [Tier1, IL size=42, code size=59] ; Assembly listing for method System.RuntimeType:GetPropertyCandidates(System.String,int,System.Type[],bool):System.RuntimeType+ListBuilder`1[System.Reflection.PropertyInfo]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 20177 ; 5 inlinees with PGO data; 11 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-28H], eax mov dword ptr [ebp-24H], eax mov edi, ecx mov esi, edx mov eax, gword ptr [ebp+14H] mov ebx, dword ptr [ebp+10H] G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-10H], ecx xor edx, edx mov dword ptr [ebp-14H], edx test eax, eax jne G_M000_IG28 G_M000_IG03: xor edx, edx mov dword ptr [ebp-18H], edx G_M000_IG04: mov edx, dword ptr [edi+08H] test edx, edx je G_M000_IG25 G_M000_IG05: mov edx, gword ptr [edx] test edx, edx je G_M000_IG24 G_M000_IG06: mov edi, edx G_M000_IG07: mov edx, dword ptr [ebp-18H] mov dword ptr [ebp-30H], edx mov gword ptr [ebp+14H], eax mov gword ptr [ebp-44H], eax mov ecx, edi cmp byte ptr [ecx], cl lea ecx, bword ptr [edi+30H] mov bword ptr [ebp-48H], ecx mov eax, gword ptr [ecx] test eax, eax jne SHORT G_M000_IG09 G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+08H] call CORINFO_HELP_ASSIGN_REF_EDI mov edi, eax push 0 mov ecx, bword ptr [ebp-48H] mov edx, edi call System.Threading.Interlocked:CompareExchange(byref,System.Object,System.Object):System.Object test eax, eax cmove eax, edi G_M000_IG09: mov edi, eax mov eax, edi cmp byte ptr [eax], al mov edx, dword ptr [ebp-30H] cmp edx, 1 je G_M000_IG33 G_M000_IG10: cmp edx, 2 je G_M000_IG39 G_M000_IG11: cmp byte ptr [edi+0CH], 0 je G_M000_IG37 G_M000_IG12: mov edi, gword ptr [edi+04H] G_M000_IG13: mov gword ptr [ebp-3CH], edi xor ebx, 2 mov eax, dword ptr [edi+04H] mov dword ptr [ebp-38H], eax mov ecx, eax xor edx, edx mov gword ptr [ebp-28H], edx G_M000_IG14: mov gword ptr [ebp-24H], edx G_M000_IG15: mov dword ptr [ebp-20H], edx mov dword ptr [ebp-1CH], ecx G_M000_IG16: test eax, eax jle SHORT G_M000_IG22 G_M000_IG17: mov dword ptr [ebp-2CH], edx mov ecx, gword ptr [edi+4*edx+08H] mov gword ptr [ebp-40H], ecx mov edi, dword ptr [ecx+30H] mov dword ptr [ebp+10H], ebx and ebx, edi cmp ebx, edi jne SHORT G_M000_IG21 G_M000_IG18: mov ebx, dword ptr [ebp-10H] test ebx, ebx jne G_M000_IG43 G_M000_IG19: mov edi, gword ptr [ebp+0CH] test edi, edi jne SHORT G_M000_IG26 G_M000_IG20: push 0xD1FFAB1E lea ecx, [ebp-28H] mov edx, gword ptr [ebp-40H] call [System.RuntimeType+ListBuilder`1[System.__Canon]:Add(System.__Canon):this] mov dword ptr [ebp-10H], ebx mov gword ptr [ebp+0CH], edi G_M000_IG21: mov edx, dword ptr [ebp-2CH] inc edx mov eax, dword ptr [ebp-38H] cmp eax, edx mov ebx, dword ptr [ebp+10H] mov edi, gword ptr [ebp-3CH] jg SHORT G_M000_IG17 G_M000_IG22: mov eax, gword ptr [ebp-28H] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX lea edx, bword ptr [esi+04H] mov ecx, gword ptr [ebp-24H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov ecx, dword ptr [ebp-20H] mov dword ptr [esi+08H], ecx mov ecx, dword ptr [ebp-1CH] mov dword ptr [esi+0CH], ecx G_M000_IG23: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG24: mov gword ptr [ebp+14H], eax jmp G_M000_IG35 G_M000_IG25: mov gword ptr [ebp+14H], eax jmp G_M000_IG35 G_M000_IG26: call [System.Reflection.RuntimePropertyInfo:GetIndexParametersNoCopy():System.Reflection.ParameterInfo[]:this] mov gword ptr [ebp-4CH], eax mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-34H], ecx test ecx, ecx jne G_M000_IG42 G_M000_IG27: mov ecx, dword ptr [eax+04H] cmp ecx, dword ptr [edi+04H] mov dword ptr [ebp-10H], ebx mov gword ptr [ebp+0CH], edi jne SHORT G_M000_IG21 mov ecx, gword ptr [ebp-40H] mov ebx, dword ptr [ebp-10H] mov edi, gword ptr [ebp+0CH] jmp G_M000_IG20 G_M000_IG28: test bl, 1 jne G_M000_IG38 G_M000_IG29: mov dword ptr [ebp-18H], 1 G_M000_IG30: cmp byte ptr [ebp+08H], 0 je G_M000_IG04 G_M000_IG31: mov gword ptr [ebp+14H], eax mov ecx, eax mov edx, 42 cmp dword ptr [ecx], ecx call [System.String:EndsWith(ushort):bool:this] test eax, eax jne G_M000_IG44 G_M000_IG32: mov eax, gword ptr [ebp+14H] jmp G_M000_IG04 G_M000_IG33: lea ecx, bword ptr [edi+10H] push 0xD1FFAB1E mov edx, gword ptr [ebp-44H] call [System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this] test eax, eax je SHORT G_M000_IG36 G_M000_IG34: mov edi, eax jmp G_M000_IG13 G_M000_IG35: mov ecx, edi call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] mov edi, eax mov eax, gword ptr [ebp+14H] jmp G_M000_IG07 G_M000_IG36: push 1 push 3 mov ecx, edi mov edx, gword ptr [ebp-44H] call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Populate(System.String,int,int):System.__Canon[]:this] jmp SHORT G_M000_IG34 G_M000_IG37: push edx push 3 mov ecx, edi xor edx, edx call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Populate(System.String,int,int):System.__Canon[]:this] mov edi, eax jmp G_M000_IG13 G_M000_IG38: mov ecx, gword ptr [D1FFAB1EH] mov edx, eax cmp dword ptr [ecx], ecx call [System.Globalization.TextInfo:ToLower(System.String):System.String:this] mov gword ptr [ebp+14H], eax mov dword ptr [ebp-14H], 1 mov ecx, 2 mov dword ptr [ebp-18H], ecx mov eax, gword ptr [ebp+14H] jmp G_M000_IG30 G_M000_IG39: lea ecx, bword ptr [edi+14H] push 0xD1FFAB1E mov edx, gword ptr [ebp-44H] call [System.Reflection.CerHashtable`2[System.__Canon,System.__Canon]:get_Item(System.__Canon):System.__Canon:this] test eax, eax jne SHORT G_M000_IG41 G_M000_IG40: push 2 push 3 mov ecx, edi mov edx, gword ptr [ebp-44H] call [System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:Populate(System.String,int,int):System.__Canon[]:this] G_M000_IG41: mov edi, eax jmp G_M000_IG13 G_M000_IG42: mov edx, ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-50H], eax push dword ptr [ebp-34H] mov ecx, gword ptr [ebp-4CH] mov edx, eax call [System.Array:Copy(System.Array,System.Array,int)] mov eax, gword ptr [ebp-50H] jmp G_M000_IG27 G_M000_IG43: mov edi, dword ptr [ebp-14H] push edi mov edx, gword ptr [ebp+14H] call [System.RuntimeType:FilterApplyPrefixLookup(System.Reflection.MemberInfo,System.String,bool):bool] test eax, eax mov dword ptr [ebp-10H], ebx mov dword ptr [ebp-14H], edi je G_M000_IG21 mov ecx, gword ptr [ebp-40H] mov ebx, dword ptr [ebp-10H] jmp G_M000_IG19 G_M000_IG44: mov eax, gword ptr [ebp+14H] mov ecx, dword ptr [eax+04H] dec ecx push ecx mov ecx, eax xor edx, edx call [System.String:Substring(int,int):System.String:this] mov edx, 1 mov dword ptr [ebp-10H], edx jmp G_M000_IG03 ; Total bytes of code 734 943: JIT compiled System.RuntimeType:GetPropertyCandidates(System.String,int,System.Type[],bool) [Tier1 with Static PGO, IL size=130, code size=734] ; Assembly listing for method System.Diagnostics.Tracing.ManifestBuilder:GetTypeName(System.Type):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 4 inlinees with PGO data; 10 single block inlinees; 4 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax vzeroupper mov edi, ecx mov esi, edx G_M000_IG02: mov ecx, esi mov ebx, dword ptr [esi] mov eax, dword ptr [ebx+40H] call [eax+18H]System.Type:get_IsEnum():bool:this test eax, eax je G_M000_IG13 G_M000_IG03: mov ecx, esi mov eax, dword ptr [ebx+58H] call [eax+0CH]System.Type:GetEnumUnderlyingType():System.Type:this mov edx, eax mov ecx, edi call [System.Diagnostics.Tracing.ManifestBuilder:GetTypeName(System.Type):System.String:this] test eax, eax je G_M000_IG12 G_M000_IG04: cmp dword ptr [eax+04H], 8 jne SHORT G_M000_IG06 G_M000_IG05: vmovups xmm0, xmmword ptr [eax+08H] vpxor xmm0, xmm0, xmmword ptr [@RWD00] vptest xmm0, xmm0 sete cl movzx ecx, cl test ecx, ecx jne G_M000_IG09 G_M000_IG06: cmp dword ptr [eax+04H], 9 jne SHORT G_M000_IG07 vmovups xmm0, xmmword ptr [eax+08H] vpxor xmm0, xmm0, xmmword ptr [@RWD16] vmovups xmm1, xmmword ptr [eax+0AH] vpxor xmm1, xmm1, xmmword ptr [@RWD32] vpor xmm0, xmm0, xmm1 vptest xmm0, xmm0 sete cl movzx ecx, cl test ecx, ecx jne SHORT G_M000_IG10 G_M000_IG07: cmp dword ptr [eax+04H], 9 jne SHORT G_M000_IG08 vmovups xmm0, xmmword ptr [eax+08H] vpxor xmm0, xmm0, xmmword ptr [@RWD48] vmovups xmm1, xmmword ptr [eax+0AH] vpxor xmm1, xmm1, xmmword ptr [@RWD64] vpor xmm0, xmm0, xmm1 vptest xmm0, xmm0 sete cl movzx ecx, cl test ecx, ecx jne SHORT G_M000_IG11 G_M000_IG08: cmp dword ptr [eax+04H], 9 jne SHORT G_M000_IG12 vmovups xmm0, xmmword ptr [eax+08H] vpxor xmm0, xmm0, xmmword ptr [@RWD80] vmovups xmm1, xmmword ptr [eax+0AH] vpxor xmm1, xmm1, xmmword ptr [@RWD96] vpor xmm0, xmm0, xmm1 vptest xmm0, xmm0 sete cl movzx ecx, cl test ecx, ecx je SHORT G_M000_IG12 mov eax, 0xD1FFAB1E jmp SHORT G_M000_IG12 G_M000_IG09: mov eax, 0xD1FFAB1E jmp SHORT G_M000_IG12 G_M000_IG10: mov eax, 0xD1FFAB1E jmp SHORT G_M000_IG12 G_M000_IG11: mov eax, 0xD1FFAB1E G_M000_IG12: jmp G_M000_IG37 G_M000_IG13: mov ecx, esi mov eax, dword ptr [ebx+54H] call [eax+08H]System.Type:GetTypeCodeImpl():int:this add eax, -3 cmp eax, 15 ja G_M000_IG27 lea ecx, [@RWD112] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG14: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG15: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG16: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG17: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG18: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG19: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG20: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG21: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG22: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG23: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG24: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG25: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG26: mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG27: cmp esi, 0xD1FFAB1E jne SHORT G_M000_IG28 mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG28: cmp esi, 0xD1FFAB1E jne SHORT G_M000_IG29 mov eax, 0xD1FFAB1E jmp G_M000_IG37 G_M000_IG29: cmp ebx, 0xD1FFAB1E jne G_M000_IG39 mov ecx, esi call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 20 je G_M000_IG38 cmp eax, 29 sete al movzx eax, al G_M000_IG30: test eax, eax jne SHORT G_M000_IG32 cmp ebx, 0xD1FFAB1E jne SHORT G_M000_IG31 mov ecx, esi call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 15 jne SHORT G_M000_IG33 jmp SHORT G_M000_IG32 G_M000_IG31: mov ecx, esi mov eax, dword ptr [ebx+34H] call [eax+10H]System.Type:IsPointerImpl():bool:this test eax, eax je SHORT G_M000_IG33 G_M000_IG32: mov ecx, esi mov eax, dword ptr [ebx+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this cmp eax, 0xD1FFAB1E jne SHORT G_M000_IG33 mov eax, 0xD1FFAB1E jmp SHORT G_M000_IG37 G_M000_IG33: mov ecx, 0xD1FFAB1E call [System.SR:GetResourceString(System.String):System.String] mov gword ptr [ebp-10H], eax mov ecx, esi mov edx, dword ptr [ebx+28H] call [edx+18H]System.Reflection.MemberInfo:get_Name():System.String:this mov edx, eax mov ecx, gword ptr [ebp-10H] call [System.SR:Format(System.String,System.Object):System.String] mov esi, eax test byte ptr [edi+48H], 1 je SHORT G_M000_IG40 mov ecx, gword ptr [edi+38H] inc dword ptr [ecx+0CH] mov edx, gword ptr [ecx+04H] mov eax, dword ptr [ecx+08H] cmp dword ptr [edx+04H], eax jbe SHORT G_M000_IG35 G_M000_IG34: lea edi, [eax+01H] mov dword ptr [ecx+08H], edi push esi mov ecx, edx mov edx, eax call CORINFO_HELP_ARRADDR_ST jmp SHORT G_M000_IG36 G_M000_IG35: mov edx, esi call [System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this] G_M000_IG36: mov eax, 0xD1FFAB1E G_M000_IG37: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG38: mov eax, 1 jmp G_M000_IG30 G_M000_IG39: mov ecx, esi mov eax, dword ptr [ebx+34H] call [eax+08H]System.Type:IsArrayImpl():bool:this jmp G_M000_IG30 G_M000_IG40: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov ecx, edi mov edx, esi call [System.ArgumentException:.ctor(System.String):this] mov ecx, edi call CORINFO_HELP_THROW int3 RWD00 dq 003A006E00690077h, 00380074006E0049h RWD16 dq 003A006E00690077h, 00310074006E0049h RWD32 dq 0049003A006E0069h, 003600310074006Eh RWD48 dq 003A006E00690077h, 00330074006E0049h RWD64 dq 0049003A006E0069h, 003200330074006Eh RWD80 dq 003A006E00690077h, 00360074006E0049h RWD96 dq 0049003A006E0069h, 003400360074006Eh RWD112 dd G_M000_IG14 - G_M000_IG02 dd G_M000_IG16 - G_M000_IG02 dd G_M000_IG19 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 dd G_M000_IG20 - G_M000_IG02 dd G_M000_IG16 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG22 - G_M000_IG02 dd G_M000_IG18 - G_M000_IG02 dd G_M000_IG24 - G_M000_IG02 dd G_M000_IG25 - G_M000_IG02 dd G_M000_IG27 - G_M000_IG02 dd G_M000_IG26 - G_M000_IG02 dd G_M000_IG27 - G_M000_IG02 dd G_M000_IG23 - G_M000_IG02 ; Total bytes of code 730 944: JIT compiled System.Diagnostics.Tracing.ManifestBuilder:GetTypeName(System.Type) [Tier1, IL size=392, code size=730] ; Assembly listing for method System.String:Equals(System.Object):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 172956 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: cmp ecx, edx je SHORT G_M000_IG10 G_M000_IG03: test edx, edx je SHORT G_M000_IG05 G_M000_IG04: cmp dword ptr [edx], 0xD1FFAB1E je SHORT G_M000_IG07 G_M000_IG05: xor eax, eax G_M000_IG06: pop ebp ret G_M000_IG07: mov eax, dword ptr [ecx+04H] cmp eax, dword ptr [edx+04H] je SHORT G_M000_IG12 G_M000_IG08: xor eax, eax G_M000_IG09: pop ebp ret G_M000_IG10: mov eax, 1 G_M000_IG11: pop ebp ret G_M000_IG12: lea eax, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] add ecx, ecx push ecx add edx, 8 mov ecx, eax call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] G_M000_IG13: pop ebp ret ; Total bytes of code 64 945: JIT compiled System.String:Equals(System.Object) [Tier1 with Static PGO, IL size=42, code size=64] ; Assembly listing for method System.Reflection.RuntimePropertyInfo:get_Signature():System.Signature:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 75425 ; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 24 xor eax, eax mov dword ptr [ebp-24H], eax mov esi, ecx G_M000_IG02: cmp gword ptr [esi+1CH], 0 je SHORT G_M000_IG05 G_M000_IG03: mov eax, gword ptr [esi+1CH] G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: mov ecx, gword ptr [esi+18H] cmp byte ptr [ecx], cl call System.RuntimeTypeHandle:GetModule(System.RuntimeType):System.Reflection.RuntimeModule mov edi, eax mov ebx, edi cmp byte ptr [ebx], bl mov ecx, edi call System.ModuleHandle:_GetMetadataImport(System.Reflection.RuntimeModule):int mov gword ptr [ebp-24H], edi mov dword ptr [ebp-20H], eax mov edx, dword ptr [esi+24H] lea ecx, [ebp-18H] push ecx lea ecx, [ebp-1CH] push ecx lea ecx, [ebp-14H] push ecx lea ecx, [ebp-24H] call [System.Reflection.MetadataImport:GetPropertyProps(int,byref,byref,byref):this] mov edi, dword ptr [ebp-10H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax push dword ptr [ebp-14H] push gword ptr [esi+18H] mov ecx, ebx mov edx, edi call [System.Signature:.ctor(uint,int,System.RuntimeType):this] lea edx, bword ptr [esi+1CH] call CORINFO_HELP_ASSIGN_REF_EBX jmp SHORT G_M000_IG03 ; Total bytes of code 127 946: JIT compiled System.Reflection.RuntimePropertyInfo:get_Signature() [Tier1 with Static PGO, IL size=86, code size=127] ; Assembly listing for method System.Reflection.RuntimeMethodInfo:Invoke(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 18288 ; 17 inlinees with PGO data; 14 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 104 vzeroupper vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-34H], xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov esi, ecx mov edi, edx mov ebx, gword ptr [ebp+0CH] G_M000_IG02: cmp gword ptr [esi+24H], 0 je G_M000_IG37 G_M000_IG03: mov ecx, gword ptr [esi+24H] mov edx, dword ptr [ecx+10H] test dl, 1 je G_M000_IG35 G_M000_IG04: test edx, 258 jne G_M000_IG49 G_M000_IG05: test byte ptr [esi+30H], 16 jne SHORT G_M000_IG09 G_M000_IG06: test edi, edi je G_M000_IG50 mov ecx, gword ptr [esi+04H] cmp byte ptr [ecx+4CH], 0 jne G_M000_IG51 mov ecx, gword ptr [esi+1CH] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG19 G_M000_IG07: mov edx, edi call System.RuntimeTypeHandle:IsInstanceOfType(System.RuntimeType,System.Object):bool G_M000_IG08: test eax, eax je G_M000_IG53 G_M000_IG09: test ebx, ebx jne SHORT G_M000_IG20 G_M000_IG10: xor edx, edx G_M000_IG11: mov dword ptr [ebp-10H], edx mov ecx, gword ptr [esi+18H] test ecx, ecx je G_M000_IG33 G_M000_IG12: mov ecx, gword ptr [ecx+04H] mov edx, dword ptr [ebp-10H] cmp dword ptr [ecx+04H], edx jne G_M000_IG60 test edx, edx jne G_M000_IG32 G_M000_IG13: cmp gword ptr [esi+24H], 0 je G_M000_IG39 G_M000_IG14: mov ecx, gword ptr [esi+24H] cmp gword ptr [ecx+0CH], 0 je SHORT G_M000_IG16 G_M000_IG15: mov eax, dword ptr [ebp+14H] test eax, 0xD1FFAB1E mov dword ptr [ebp+14H], eax jne G_M000_IG54 G_M000_IG16: push 0 push dword ptr [ebp+14H] mov edx, edi call [System.Reflection.MethodInvoker:Invoke(System.Object,uint,int):System.Object:this] mov ebx, eax G_M000_IG17: mov eax, ebx G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG19: mov gword ptr [ebp+0CH], ebx jmp G_M000_IG52 G_M000_IG20: mov edx, dword ptr [ebx+04H] jmp SHORT G_M000_IG11 G_M000_IG21: push dword ptr [ebp-38H] push dword ptr [ebp+14H] mov edx, edi call [System.Reflection.MethodInvoker:Invoke(System.Object,uint,int):System.Object:this] G_M000_IG22: mov esi, eax xor edi, edi mov edx, dword ptr [ebp-3CH] test edx, edx jle SHORT G_M000_IG26 G_M000_IG23: mov ecx, bword ptr [ebp-6CH] movzx eax, byte ptr [ecx+edi] test eax, eax jne G_M000_IG58 G_M000_IG24: inc edi cmp edi, edx mov bword ptr [ebp-6CH], ecx jl SHORT G_M000_IG23 G_M000_IG25: mov ebx, esi jmp SHORT G_M000_IG17 G_M000_IG26: mov ebx, esi jmp SHORT G_M000_IG17 G_M000_IG27: lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-74H], ecx mov ecx, dword ptr [ebx+04H] mov dword ptr [ebp-48H], ecx G_M000_IG28: mov ecx, bword ptr [ebp-74H] mov bword ptr [ebp-70H], ecx mov ecx, dword ptr [ebp-48H] mov dword ptr [ebp-44H], ecx mov ecx, gword ptr [esi+18H] test ecx, ecx je G_M000_IG34 G_M000_IG29: push dword ptr [ebp-40H] push bword ptr [ebp-68H] push dword ptr [ebp-10H] push bword ptr [ebp-6CH] push dword ptr [ebp-44H] push bword ptr [ebp-70H] push gword ptr [ecx+04H] push gword ptr [ebp+10H] push gword ptr [ebp+08H] push dword ptr [ebp+14H] mov ecx, esi mov edx, dword ptr [ebp-38H] call [System.Reflection.MethodBase:CheckArguments(System.Span`1[System.Object],uint,System.Span`1[ubyte],System.ReadOnlySpan`1[System.Object],System.RuntimeType[],System.Reflection.Binder,System.Globalization.CultureInfo,int):this] cmp gword ptr [esi+24H], 0 je G_M000_IG41 G_M000_IG30: mov ecx, gword ptr [esi+24H] cmp gword ptr [ecx+0CH], 0 je G_M000_IG21 G_M000_IG31: mov esi, dword ptr [ebp+14H] test esi, 0xD1FFAB1E jne G_M000_IG57 mov dword ptr [ebp+14H], esi jmp G_M000_IG21 G_M000_IG32: cmp edx, 4 jg G_M000_IG55 xor ecx, ecx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-24H], xmm0 mov dword ptr [ebp-14H], ecx lea ecx, bword ptr [ebp-24H] mov bword ptr [ebp-68H], ecx mov dword ptr [ebp-3CH], edx lea eax, bword ptr [ebp-14H] mov bword ptr [ebp-6CH], eax vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-34H], xmm0 lea ecx, [ebp-34H] mov dword ptr [ebp-38H], ecx mov dword ptr [ebp-10H], edx mov dword ptr [ebp-40H], edx test ebx, ebx je G_M000_IG56 jmp G_M000_IG27 G_M000_IG33: mov ecx, esi call [System.Reflection.RuntimeMethodInfo:g__LazyCreateSignature|25_0():System.Signature:this] mov ecx, eax jmp G_M000_IG12 G_M000_IG34: mov ecx, esi call [System.Reflection.RuntimeMethodInfo:g__LazyCreateSignature|25_0():System.Signature:this] mov ecx, eax jmp G_M000_IG29 G_M000_IG35: cmp gword ptr [esi+24H], 0 je G_M000_IG46 G_M000_IG36: mov ecx, esi mov edx, gword ptr [ecx+24H] cmp byte ptr [edx], dl add edx, 16 mov ecx, esi call [System.Reflection.RuntimeMethodInfo:ComputeAndUpdateInvocationFlags(System.Reflection.MethodInfo,byref):uint] mov edx, eax jmp G_M000_IG04 G_M000_IG37: mov edx, gword ptr [esi+18H] mov gword ptr [ebp-50H], edx test edx, edx je G_M000_IG43 G_M000_IG38: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-4CH], eax push gword ptr [ebp-50H] mov ecx, eax mov edx, esi call [System.Reflection.MethodInvoker:.ctor(System.Reflection.MethodBase,System.Signature):this] lea edx, bword ptr [esi+24H] mov ecx, gword ptr [ebp-4CH] call CORINFO_HELP_ASSIGN_REF_ECX jmp G_M000_IG03 G_M000_IG39: mov ebx, gword ptr [esi+18H] test ebx, ebx je SHORT G_M000_IG44 G_M000_IG40: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-5CH], eax push ebx mov ecx, eax mov edx, esi call [System.Reflection.MethodInvoker:.ctor(System.Reflection.MethodBase,System.Signature):this] lea edx, bword ptr [esi+24H] mov ebx, gword ptr [ebp-5CH] call CORINFO_HELP_ASSIGN_REF_EBX jmp G_M000_IG14 G_M000_IG41: mov eax, gword ptr [esi+18H] mov gword ptr [ebp-64H], eax test eax, eax je SHORT G_M000_IG45 G_M000_IG42: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-60H], eax push gword ptr [ebp-64H] mov ecx, eax mov edx, esi call [System.Reflection.MethodInvoker:.ctor(System.Reflection.MethodBase,System.Signature):this] lea edx, bword ptr [esi+24H] mov ecx, gword ptr [ebp-60H] call CORINFO_HELP_ASSIGN_REF_ECX jmp G_M000_IG30 G_M000_IG43: mov ecx, esi call [System.Reflection.RuntimeMethodInfo:g__LazyCreateSignature|25_0():System.Signature:this] mov ecx, eax mov gword ptr [ebp-50H], ecx jmp G_M000_IG38 G_M000_IG44: mov ecx, esi call [System.Reflection.RuntimeMethodInfo:g__LazyCreateSignature|25_0():System.Signature:this] mov ebx, eax jmp SHORT G_M000_IG40 G_M000_IG45: mov ecx, esi call [System.Reflection.RuntimeMethodInfo:g__LazyCreateSignature|25_0():System.Signature:this] mov ecx, eax mov gword ptr [ebp-64H], ecx jmp SHORT G_M000_IG42 G_M000_IG46: mov edx, gword ptr [esi+18H] test edx, edx mov gword ptr [ebp-58H], edx je SHORT G_M000_IG48 G_M000_IG47: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-54H], eax push gword ptr [ebp-58H] mov ecx, eax mov edx, esi call [System.Reflection.MethodInvoker:.ctor(System.Reflection.MethodBase,System.Signature):this] lea edx, bword ptr [esi+24H] mov ecx, gword ptr [ebp-54H] call CORINFO_HELP_ASSIGN_REF_ECX jmp G_M000_IG36 G_M000_IG48: mov ecx, esi call [System.Reflection.RuntimeMethodInfo:g__LazyCreateSignature|25_0():System.Signature:this] mov gword ptr [ebp-58H], eax jmp SHORT G_M000_IG47 G_M000_IG49: mov ecx, esi call [System.Reflection.RuntimeMethodInfo:ThrowNoInvokeException():this] jmp G_M000_IG05 G_M000_IG50: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax call [System.SR:get_RFLCT_Targ_StatMethReqTarg():System.String] mov edx, eax push 0 mov ecx, edi call [System.Reflection.TargetException:.ctor(System.String,System.Exception):this] mov ecx, edi call CORINFO_HELP_THROW G_M000_IG51: xor ecx, ecx cmp dword ptr [ecx], 0xD1FFAB1E je G_M000_IG07 mov gword ptr [ebp+0CH], ebx G_M000_IG52: mov edx, edi mov ebx, dword ptr [ecx] mov ebx, dword ptr [ebx+58H] call [ebx+04H]System.Type:IsInstanceOfType(System.Object):bool:this mov ebx, gword ptr [ebp+0CH] jmp G_M000_IG08 G_M000_IG53: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax call [System.SR:get_RFLCT_Targ_ITargMismatch():System.String] mov edx, eax push 0 mov ecx, edi call [System.Reflection.TargetException:.ctor(System.String,System.Exception):this] mov ecx, edi call CORINFO_HELP_THROW G_M000_IG54: mov eax, gword ptr [ecx+0CH] push 0 mov ecx, gword ptr [eax+04H] mov edx, edi call [eax+0CH]System.Reflection.InvokerEmitUtil+InvokeFunc:Invoke(System.Object,uint):System.Object:this mov ebx, eax jmp G_M000_IG17 G_M000_IG55: push edi push dword ptr [ebp+14H] push gword ptr [ebp+10H] push ebx push gword ptr [ebp+08H] mov ecx, esi call [System.Reflection.RuntimeMethodInfo:InvokeWithManyArguments(System.Reflection.RuntimeMethodInfo,int,System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object] mov esi, eax mov ebx, esi jmp G_M000_IG17 G_M000_IG56: xor ecx, ecx mov bword ptr [ebp-74H], ecx xor ecx, ecx mov dword ptr [ebp-48H], ecx jmp G_M000_IG28 G_M000_IG57: mov esi, gword ptr [ecx+0CH] push dword ptr [ebp-38H] mov ecx, gword ptr [esi+04H] mov edx, edi call [esi+0CH]System.Reflection.InvokerEmitUtil+InvokeFunc:Invoke(System.Object,uint):System.Object:this jmp G_M000_IG22 G_M000_IG58: cmp eax, 1 jne SHORT G_M000_IG59 mov bword ptr [ebp-6CH], ecx mov dword ptr [ebp-3CH], edx mov eax, bword ptr [ebp-68H] push gword ptr [eax+4*edi] mov ecx, ebx mov edx, edi call CORINFO_HELP_ARRADDR_ST mov ecx, bword ptr [ebp-6CH] mov edx, dword ptr [ebp-3CH] jmp G_M000_IG24 G_M000_IG59: mov bword ptr [ebp-6CH], ecx mov dword ptr [ebp-3CH], edx mov eax, bword ptr [ebp-68H] mov ecx, gword ptr [eax+4*edi] call System.RuntimeMethodHandle:ReboxFromNullable(System.Object):System.Object push eax mov edx, edi mov ecx, ebx call CORINFO_HELP_ARRADDR_ST mov ecx, bword ptr [ebp-6CH] mov edx, dword ptr [ebp-3CH] jmp G_M000_IG24 G_M000_IG60: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Arg_ParmCnt():System.String] mov edx, eax mov ecx, esi call [System.Reflection.TargetParameterCountException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 1142 947: JIT compiled System.Reflection.RuntimeMethodInfo:Invoke(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo) [Tier1 with Static PGO, IL size=279, code size=1142] ; Assembly listing for method System.Reflection.MethodBase:ValidateInvokeTarget(System.Object):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 19147 ; 2 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 mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, dword ptr [esi] cmp ebx, 0xD1FFAB1E jne SHORT G_M000_IG09 G_M000_IG03: mov eax, dword ptr [esi+30H] G_M000_IG04: test al, 16 jne SHORT G_M000_IG08 G_M000_IG05: test edi, edi je SHORT G_M000_IG14 cmp ebx, 0xD1FFAB1E jne SHORT G_M000_IG11 mov ecx, esi mov ecx, gword ptr [ecx+04H] cmp byte ptr [ecx+4CH], 0 jne SHORT G_M000_IG10 mov ecx, gword ptr [esi+1CH] G_M000_IG06: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG12 mov edx, edi call System.RuntimeTypeHandle:IsInstanceOfType(System.RuntimeType,System.Object):bool G_M000_IG07: test eax, eax je SHORT G_M000_IG13 G_M000_IG08: pop ebx pop esi pop edi pop ebp ret G_M000_IG09: mov ecx, esi mov eax, dword ptr [ebx+30H] call [eax+10H]System.Reflection.MethodBase:get_Attributes():int:this jmp SHORT G_M000_IG04 G_M000_IG10: xor ecx, ecx jmp SHORT G_M000_IG06 G_M000_IG11: mov ecx, esi mov eax, dword ptr [ebx+28H] call [eax+1CH]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this mov ecx, eax G_M000_IG12: mov edx, edi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+58H] call [eax+04H]System.Type:IsInstanceOfType(System.Object):bool:this jmp SHORT G_M000_IG07 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_RFLCT_Targ_ITargMismatch():System.String] mov edx, eax push 0 mov ecx, esi call [System.Reflection.TargetException:.ctor(System.String,System.Exception):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_RFLCT_Targ_StatMethReqTarg():System.String] mov edx, eax push 0 mov ecx, esi call [System.Reflection.TargetException:.ctor(System.String,System.Exception):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 188 948: JIT compiled System.Reflection.MethodBase:ValidateInvokeTarget(System.Object) [Tier1 with Static PGO, IL size=48, code size=188] ; Assembly listing for method System.Reflection.MethodInvoker:Invoke(System.Object,uint,int):System.Object:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 xor eax, eax mov dword ptr [ebp-18H], eax mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+0CH] G_M000_IG02: cmp byte ptr [esi+15H], 0 jne SHORT G_M000_IG05 G_M000_IG03: cmp byte ptr [esi+14H], 0 jne SHORT G_M000_IG04 mov byte ptr [esi+14H], 1 jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, gword ptr [esi+08H] call [System.Reflection.InvokerEmitUtil:CreateInvokeDelegate(System.Reflection.MethodBase):System.Reflection.InvokerEmitUtil+InvokeFunc] lea edx, bword ptr [esi+0CH] call CORINFO_HELP_ASSIGN_REF_EAX mov byte ptr [esi+15H], 1 G_M000_IG05: test dword ptr [ebp+08H], 0xD1FFAB1E jne SHORT G_M000_IG09 G_M000_IG06: mov eax, gword ptr [esi+0CH] test eax, eax je SHORT G_M000_IG07 push ebx mov ecx, gword ptr [eax+04H] mov edx, edi call [eax+0CH]System.Reflection.InvokerEmitUtil+InvokeFunc:Invoke(System.Object,uint):System.Object:this jmp SHORT G_M000_IG11 G_M000_IG07: push gword ptr [esi+04H] push 0 mov ecx, edi mov edx, ebx call System.RuntimeMethodHandle:InvokeMethod(System.Object,uint,System.Signature,bool):System.Object jmp SHORT G_M000_IG11 G_M000_IG08: mov esi, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov ecx, edi mov edx, esi call [System.Reflection.TargetInvocationException:.ctor(System.Exception):this] mov ecx, edi call CORINFO_HELP_THROW int3 G_M000_IG09: mov eax, gword ptr [esi+0CH] test eax, eax je SHORT G_M000_IG10 push ebx mov ecx, gword ptr [eax+04H] mov edx, edi call [eax+0CH]System.Reflection.InvokerEmitUtil+InvokeFunc:Invoke(System.Object,uint):System.Object:this jmp SHORT G_M000_IG11 G_M000_IG10: push gword ptr [esi+04H] push 0 mov ecx, edi mov edx, ebx call System.RuntimeMethodHandle:InvokeMethod(System.Object,uint,System.Signature,bool):System.Object G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 177 949: JIT compiled System.Reflection.MethodInvoker:Invoke(System.Object,uint,int) [Tier1, IL size=143, code size=177] ; Assembly listing for method System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller+ManagedToUnmanagedIn:FromManaged(System.String,System.Span`1[ubyte]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 16 ; 2 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, 8 mov edi, ecx mov esi, edx G_M000_IG02: mov byte ptr [edi+04H], 0 test esi, esi je SHORT G_M000_IG06 mov eax, dword ptr [esi+04H] mov ecx, 3 imul edx:eax, ecx mov ecx, dword ptr [ebp+0CH] mov ebx, ecx sar ebx, 31 cmp eax, ecx sbb edx, ebx jge SHORT G_M000_IG08 G_M000_IG03: mov ecx, bword ptr [ebp+08H] mov dword ptr [edi], ecx mov ecx, gword ptr [D1FFAB1EH] lea eax, bword ptr [esi+08H] mov edx, dword ptr [esi+04H] push edx push eax push dword ptr [ebp+0CH] push bword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this] cmp eax, dword ptr [ebp+0CH] jae SHORT G_M000_IG10 mov ecx, bword ptr [ebp+08H] mov byte ptr [ecx+eax], 0 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: call CORINFO_HELP_OVERFLOW G_M000_IG06: xor ecx, ecx mov dword ptr [edi], ecx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG08: mov ecx, gword ptr [D1FFAB1EH] mov edx, esi call [System.Text.UTF8Encoding:GetByteCount(System.String):int:this] mov ebx, eax add ebx, 1 jo SHORT G_M000_IG05 cmp ebx, dword ptr [ebp+0CH] jle SHORT G_M000_IG03 mov ecx, ebx call [System.Runtime.InteropServices.NativeMemory:Alloc(uint):uint] test ebx, ebx jge SHORT G_M000_IG09 call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG09: mov bword ptr [ebp+08H], eax mov dword ptr [ebp+0CH], ebx mov byte ptr [edi+04H], 1 jmp G_M000_IG03 G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 185 950: JIT compiled System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller+ManagedToUnmanagedIn:FromManaged(System.String,System.Span`1[ubyte]) [Tier1 with Static PGO, IL size=131, code size=185] ; Assembly listing for method System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 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, 24 mov esi, ecx G_M000_IG02: mov edi, bword ptr [ebp+10H] mov bword ptr [ebp-10H], edi mov ebx, bword ptr [ebp+08H] mov bword ptr [ebp-14H], ebx mov eax, dword ptr [ebp+14H] mov dword ptr [ebp-18H], eax mov edx, dword ptr [ebp+0CH] mov dword ptr [ebp-1CH], edx mov ecx, esi cmp byte ptr [ecx], cl push ebx push edx lea ecx, [ebp-20H] push ecx lea ecx, [ebp-24H] push ecx mov ecx, edi mov edx, eax call [System.Text.Unicode.Utf8Utility:TranscodeToUtf8(uint,int,uint,int,byref,byref):int] mov ecx, dword ptr [ebp-20H] sub ecx, edi mov edx, ecx shr edx, 31 add ecx, edx sar ecx, 1 mov eax, dword ptr [ebp-24H] sub eax, ebx mov edx, dword ptr [ebp-18H] cmp ecx, edx jne SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: push edx push ebx push dword ptr [ebp-1CH] push ecx push eax push 1 mov ecx, esi mov edx, edi call [System.Text.Encoding:GetBytesWithFallback(uint,int,uint,int,int,int,bool):int:this] G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 ; Total bytes of code 116 951: JIT compiled System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]) [Tier1, IL size=44, code size=116] ; Assembly listing for method System.RuntimeType:GetPropertyImpl(System.String,int,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 15361 ; 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, 16 xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], eax mov ebx, dword ptr [ebp+18H] mov edi, gword ptr [ebp+10H] mov esi, gword ptr [ebp+0CH] G_M000_IG02: test edx, edx je G_M000_IG22 push edx push ebx push esi push 0 lea edx, [ebp-1CH] call [System.RuntimeType:GetPropertyCandidates(System.String,int,System.Type[],bool):System.RuntimeType+ListBuilder`1[System.Reflection.PropertyInfo]:this] cmp dword ptr [ebp-14H], 0 je G_M000_IG16 G_M000_IG03: test esi, esi je SHORT G_M000_IG05 G_M000_IG04: cmp dword ptr [esi+04H], 0 jne G_M000_IG20 G_M000_IG05: cmp dword ptr [ebp-14H], 1 jne G_M000_IG25 cmp gword ptr [ebp-1CH], 0 je SHORT G_M000_IG12 G_M000_IG06: mov ecx, gword ptr [ebp-1CH] cmp dword ptr [ecx+04H], 0 jbe G_M000_IG26 mov ecx, gword ptr [ebp-1CH] mov esi, gword ptr [ecx+08H] G_M000_IG07: test edi, edi je G_M000_IG18 G_M000_IG08: cmp dword ptr [esi], 0xD1FFAB1E jne G_M000_IG23 mov ecx, esi call [System.Reflection.RuntimePropertyInfo:get_Signature():System.Signature:this] mov edx, gword ptr [eax+0CH] cmp dword ptr [edi], 0xD1FFAB1E jne G_M000_IG24 mov ecx, edi test edx, edx je SHORT G_M000_IG16 G_M000_IG09: cmp dword ptr [edx], 0xD1FFAB1E jne SHORT G_M000_IG16 G_M000_IG10: cmp edx, ecx je SHORT G_M000_IG18 G_M000_IG11: call System.RuntimeTypeHandle:IsEquivalentTo(System.RuntimeType,System.RuntimeType):bool jmp SHORT G_M000_IG15 G_M000_IG12: mov esi, gword ptr [ebp-18H] jmp SHORT G_M000_IG07 G_M000_IG13: mov eax, gword ptr [ebp+14H] test eax, eax mov gword ptr [ebp+14H], eax jne SHORT G_M000_IG14 call [System.Type:get_DefaultBinder():System.Reflection.Binder] mov gword ptr [ebp+14H], eax G_M000_IG14: lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.RuntimeType+ListBuilder`1[System.__Canon]:ToArray():System.__Canon[]:this] push eax push edi push esi push gword ptr [ebp+08H] mov edx, ebx mov ecx, gword ptr [ebp+14H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+2CH] call [eax+04H]System.Reflection.Binder:SelectProperty(int,System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo:this mov esi, eax jmp SHORT G_M000_IG18 G_M000_IG15: test eax, eax jne SHORT G_M000_IG18 G_M000_IG16: xor eax, eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 G_M000_IG18: mov eax, esi G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 G_M000_IG20: test ebx, 0x10000 je SHORT G_M000_IG13 G_M000_IG21: lea ecx, [ebp-1CH] mov edx, 0xD1FFAB1E call [System.RuntimeType+ListBuilder`1[System.__Canon]:ToArray():System.__Canon[]:this] mov ecx, eax push esi mov edx, edi call [System.DefaultBinder:ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[]):System.Reflection.PropertyInfo] mov esi, eax jmp SHORT G_M000_IG18 G_M000_IG22: mov ecx, 799 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG23: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+30H] call [eax+08H]System.Reflection.PropertyInfo:get_PropertyType():System.Type:this mov edx, eax G_M000_IG24: mov ecx, edi mov eax, dword ptr [edi] mov eax, dword ptr [eax+58H] call [eax+08H]System.Type:IsEquivalentTo(System.Type):bool:this jmp SHORT G_M000_IG15 G_M000_IG25: test edi, edi jne SHORT G_M000_IG20 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.Reflection.AmbiguousMatchException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG26: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 386 952: JIT compiled System.RuntimeType:GetPropertyImpl(System.String,int,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]) [Tier1 with Static PGO, IL size=152, code size=386] ; Assembly listing for method System.Reflection.MethodBase:CheckArguments(System.Span`1[System.Object],uint,System.Span`1[ubyte],System.ReadOnlySpan`1[System.Object],System.RuntimeType[],System.Reflection.Binder,System.Globalization.CultureInfo,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 35569 ; 2 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, 40 xor eax, eax mov dword ptr [ebp-1CH], eax mov gword ptr [ebp-24H], ecx mov dword ptr [ebp-10H], edx mov edi, gword ptr [ebp+14H] G_M000_IG02: xor eax, eax mov gword ptr [ebp-28H], eax xor eax, eax mov edx, dword ptr [ebp+1CH] mov dword ptr [ebp-20H], edx test edx, edx jle G_M000_IG12 G_M000_IG03: xor ecx, ecx mov dword ptr [ebp-18H], ecx mov ecx, bword ptr [ebp+18H] mov ecx, gword ptr [ecx+4*eax] mov gword ptr [ebp-1CH], ecx cmp eax, dword ptr [edi+04H] jae G_M000_IG25 mov dword ptr [ebp-14H], eax mov ecx, gword ptr [edi+4*eax+08H] mov gword ptr [ebp-2CH], ecx mov ebx, gword ptr [ebp-1CH] cmp ebx, gword ptr [D1FFAB1EH] je G_M000_IG19 G_M000_IG04: cmp gword ptr [ebp-1CH], 0 je G_M000_IG14 G_M000_IG05: mov ecx, gword ptr [ebp-1CH] call System.Object:GetType():System.Type:this mov ebx, gword ptr [ebp-2CH] cmp eax, ebx jne SHORT G_M000_IG07 G_M000_IG06: mov ecx, eax call System.RuntimeTypeHandle:IsValueType(System.RuntimeType):bool mov ebx, eax jmp SHORT G_M000_IG09 G_M000_IG07: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 16 je G_M000_IG23 G_M000_IG08: lea edx, [ebp-18H] push edx push gword ptr [ebp+10H] push gword ptr [ebp+0CH] push dword ptr [ebp+08H] lea edx, [ebp-1CH] mov ecx, ebx cmp dword ptr [ecx], ecx call [System.RuntimeType:CheckValue(byref,byref,System.Reflection.Binder,System.Globalization.CultureInfo,int):bool:this] mov ebx, eax G_M000_IG09: mov ecx, dword ptr [ebp-14H] cmp ecx, dword ptr [ebp+24H] jae G_M000_IG25 mov edx, bword ptr [ebp+20H] mov eax, dword ptr [ebp-18H] mov byte ptr [edx+ecx], al cmp ecx, dword ptr [ebp+2CH] jae G_M000_IG25 mov edx, bword ptr [ebp+28H] lea eax, bword ptr [edx+4*ecx] mov esi, gword ptr [ebp-1CH] mov edx, eax call CORINFO_HELP_CHECKED_ASSIGN_REF_ESI test ebx, ebx jne SHORT G_M000_IG13 G_M000_IG10: mov esi, dword ptr [ebp-10H] mov bword ptr [esi+4*ecx], eax G_M000_IG11: inc ecx mov ebx, dword ptr [ebp-20H] cmp ecx, ebx mov dword ptr [ebp-10H], esi mov eax, ecx jl G_M000_IG03 G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 40 G_M000_IG13: mov eax, bword ptr [ebp+28H] mov eax, gword ptr [eax+4*ecx] cmp byte ptr [eax], al add eax, 4 mov esi, dword ptr [ebp-10H] mov bword ptr [esi+4*ecx], eax jmp SHORT G_M000_IG11 G_M000_IG14: call System.RuntimeTypeHandle:IsValueType(System.RuntimeType):bool mov ebx, eax test ebx, ebx jne SHORT G_M000_IG17 G_M000_IG15: mov ecx, gword ptr [ebp-2CH] call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 16 jne SHORT G_M000_IG09 G_M000_IG16: mov ebx, gword ptr [ebp-2CH] jmp G_M000_IG08 G_M000_IG17: mov ebx, gword ptr [ebp-2CH] jmp G_M000_IG08 G_M000_IG18: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Arg_VarMissNull():System.String] mov edi, eax mov ecx, 0x1949B 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 G_M000_IG19: mov ebx, gword ptr [ebp-28H] test ebx, ebx jne SHORT G_M000_IG20 mov ecx, gword ptr [ebp-24H] mov gword ptr [ebp-24H], ecx mov ebx, dword ptr [ecx] mov ebx, dword ptr [ebx+30H] call [ebx+08H]System.Reflection.MethodBase:GetParametersNoCopy():System.Reflection.ParameterInfo[]:this mov ebx, eax G_M000_IG20: mov eax, dword ptr [ebp-14H] cmp eax, dword ptr [ebx+04H] jae G_M000_IG25 mov gword ptr [ebp-28H], ebx mov dword ptr [ebp-14H], eax mov ebx, gword ptr [ebx+4*eax+08H] mov gword ptr [ebp-30H], ebx mov ecx, ebx mov ebx, dword ptr [ebx] mov ebx, dword ptr [ebx+2CH] call [ebx+04H]System.Reflection.ParameterInfo:get_DefaultValue():System.Object:this cmp eax, gword ptr [D1FFAB1EH] je SHORT G_M000_IG18 mov ecx, gword ptr [ebp-30H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+2CH] call [eax+04H]System.Reflection.ParameterInfo:get_DefaultValue():System.Object:this mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp-2CH] cmp dword ptr [ecx], ecx call [System.RuntimeType:get_IsNullableOfT():bool:this] test eax, eax je SHORT G_M000_IG22 mov dword ptr [ebp-18H], 2 cmp gword ptr [ebp-1CH], 0 mov ecx, gword ptr [ebp-2CH] je G_M000_IG04 call [System.RuntimeType:GetGenericArguments():System.Type[]:this] cmp dword ptr [eax+04H], 0 jbe G_M000_IG25 mov ebx, gword ptr [eax+08H] mov ecx, ebx mov eax, dword ptr [ebx] mov eax, dword ptr [eax+40H] call [eax+18H]System.Type:get_IsEnum():bool:this test eax, eax je SHORT G_M000_IG21 mov ecx, ebx mov edx, gword ptr [ebp-1CH] call [System.Enum:ToObject(System.Type,System.Object):System.Object] mov gword ptr [ebp-1CH], eax mov ecx, gword ptr [ebp-2CH] jmp G_M000_IG04 G_M000_IG21: mov ecx, gword ptr [ebp-2CH] jmp G_M000_IG04 G_M000_IG22: mov dword ptr [ebp-18H], 1 mov ecx, gword ptr [ebp-2CH] jmp G_M000_IG04 G_M000_IG23: mov ecx, ebx call System.RuntimeTypeHandle:GetElementType(System.RuntimeType):System.RuntimeType mov gword ptr [ebp-34H], eax mov ecx, gword ptr [ebp-1CH] call System.Object:GetType():System.Type:this mov edx, gword ptr [ebp-34H] cmp eax, edx jne G_M000_IG08 mov gword ptr [ebp-34H], edx mov ecx, edx cmp dword ptr [ecx], ecx call [System.RuntimeType:IsValueTypeImpl():bool:this] mov ebx, eax test ebx, ebx je SHORT G_M000_IG24 mov ecx, gword ptr [ebp-34H] mov edx, gword ptr [ebp-1CH] call System.RuntimeType:AllocateValueType(System.RuntimeType,System.Object):System.Object mov gword ptr [ebp-1CH], eax G_M000_IG24: mov dword ptr [ebp-18H], 1 jmp G_M000_IG09 G_M000_IG25: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 642 953: JIT compiled System.Reflection.MethodBase:CheckArguments(System.Span`1[System.Object],uint,System.Span`1[ubyte],System.ReadOnlySpan`1[System.Object],System.RuntimeType[],System.Reflection.Binder,System.Globalization.CultureInfo,int) [Tier1 with Static PGO, IL size=366, code size=642] ; Assembly listing for method System.Reflection.RuntimeAssembly:GetTypeCore(System.String,System.ReadOnlySpan`1[System.String],bool,bool):System.Type:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 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, 48 xor eax, eax mov dword ptr [ebp-28H], eax mov dword ptr [ebp-18H], eax mov edi, ecx mov esi, edx G_M000_IG02: mov gword ptr [ebp-24H], edi G_M000_IG03: cmp byte ptr [ebp+08H], 0 je SHORT G_M000_IG05 xor ecx, ecx mov dword ptr [ebp-38H], ecx mov dword ptr [ebp-34H], ecx lea ecx, [ebp-24H] mov dword ptr [ebp-38H], ecx mov ecx, gword ptr [ebp-24H] lea ebx, bword ptr [ebp-38H] test ecx, ecx je SHORT G_M000_IG08 mov eax, dword ptr [ecx+10H] G_M000_IG04: mov dword ptr [ebx+04H], eax mov ecx, dword ptr [ebp-38H] mov edx, dword ptr [ebp-34H] mov eax, dword ptr [ebp+14H] lea ebx, [ebp-28H] push edx push ecx push dword ptr [ebp+14H] push bword ptr [ebp+10H] push ebx mov ecx, esi mov edx, eax call [System.Reflection.RuntimeAssembly:GetTypeCoreIgnoreCase(System.Runtime.CompilerServices.QCallAssembly,System.String,System.ReadOnlySpan`1[System.String],int,System.Runtime.CompilerServices.ObjectHandleOnStack)] jmp SHORT G_M000_IG13 G_M000_IG05: xor ecx, ecx mov dword ptr [ebp-30H], ecx mov dword ptr [ebp-2CH], ecx lea ecx, [ebp-24H] mov dword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-24H] lea ebx, bword ptr [ebp-30H] test ecx, ecx je SHORT G_M000_IG07 mov eax, dword ptr [ecx+10H] G_M000_IG06: mov dword ptr [ebx+04H], eax mov ecx, dword ptr [ebp-30H] mov edx, dword ptr [ebp-2CH] mov eax, dword ptr [ebp+14H] lea ebx, [ebp-28H] push edx push ecx push dword ptr [ebp+14H] push bword ptr [ebp+10H] push ebx mov ecx, esi mov edx, eax call [System.Reflection.RuntimeAssembly:GetTypeCore(System.Runtime.CompilerServices.QCallAssembly,System.String,System.ReadOnlySpan`1[System.String],int,System.Runtime.CompilerServices.ObjectHandleOnStack)] jmp SHORT G_M000_IG13 G_M000_IG07: xor eax, eax jmp SHORT G_M000_IG06 G_M000_IG08: xor eax, eax jmp SHORT G_M000_IG04 G_M000_IG09: mov edx, eax mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG10 xor eax, eax jmp SHORT G_M000_IG11 G_M000_IG10: xor eax, eax cmp byte ptr [ebp+0CH], 0 sete al G_M000_IG11: ret G_M000_IG12: call CORINFO_HELP_ENDCATCH jmp SHORT G_M000_IG15 G_M000_IG13: xor eax, eax cmp gword ptr [ebp-28H], 0 sete al movzx edx, byte ptr [ebp+0CH] test eax, edx jne SHORT G_M000_IG17 mov eax, gword ptr [ebp-28H] G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG15: xor eax, eax G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG17: call [System.SR:get_ClassLoad_General():System.String] mov ebx, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-3CH], eax mov ecx, edi cmp dword ptr [ecx], ecx call [System.Reflection.RuntimeAssembly:get_FullName():System.String:this] push eax mov edx, esi mov ecx, ebx call [System.SR:Format(System.String,System.Object,System.Object):System.String] mov edx, eax mov ecx, gword ptr [ebp-3CH] call [System.TypeLoadException:.ctor(System.String):this] mov ecx, gword ptr [ebp-3CH] call CORINFO_HELP_THROW int3 ; Total bytes of code 306 954: JIT compiled System.Reflection.RuntimeAssembly:GetTypeCore(System.String,System.ReadOnlySpan`1[System.String],bool,bool) [Tier1, IL size=133, code size=306] ; Assembly listing for method System.Reflection.RuntimeAssembly:GetTypeCore(System.Runtime.CompilerServices.QCallAssembly,System.String,System.ReadOnlySpan`1[System.String],int,System.Runtime.CompilerServices.ObjectHandleOnStack) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 6 inlinees with PGO data; 15 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 112 vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-4CH], xmm4 vmovdqu xmmword ptr [ebp-3CH], xmm4 xor ebx, ebx mov dword ptr [ebp-2CH], ebx mov dword ptr [ebp-1CH], ebx mov dword ptr [ebp-10H], esp mov dword ptr [ebp-5CH], 0xD1FFAB1E mov dword ptr [ebp-28H], edx mov ebx, ecx G_M000_IG02: lea edi, [ebp-78H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov dword ptr [ebp-50H], esi mov ecx, ebp mov dword ptr [ebp-64H], ecx xor ecx, ecx mov dword ptr [ebp-44H], ecx mov dword ptr [ebp-40H], ecx G_M000_IG03: mov ecx, bword ptr [ebp+0CH] mov edx, dword ptr [ebp+10H] mov eax, -512 add eax, esp jb SHORT G_M000_IG04 xor eax, eax G_M000_IG04: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, eax jae SHORT G_M000_IG04 mov esp, eax lea eax, [esp] mov dword ptr [ebp-10H], esp push edx push ecx push 128 push eax lea ecx, [ebp-3CH] mov edx, 0xD1FFAB1E call [System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:FromManaged(System.ReadOnlySpan`1[System.__Canon],System.Span`1[int]):this] mov esi, bword ptr [ebp-3CH] mov edi, dword ptr [ebp-38H] mov eax, bword ptr [ebp-30H] mov bword ptr [ebp-58H], eax mov edx, dword ptr [ebp-2CH] mov dword ptr [ebp-54H], edx xor ecx, ecx test edi, edi jle SHORT G_M000_IG06 G_M000_IG05: cmp ecx, edx jae G_M000_IG15 mov dword ptr [ebp-48H], ecx mov ecx, gword ptr [esi+4*ecx] call [System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller:ConvertToUnmanaged(System.String):uint] mov ecx, bword ptr [ebp-58H] mov edx, dword ptr [ebp-48H] mov dword ptr [ecx+4*edx], eax inc edx cmp edx, edi mov bword ptr [ebp-58H], ecx jl G_M000_IG14 G_M000_IG06: mov edx, ebx mov ecx, -256 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 ecx, [esp] mov dword ptr [ebp-10H], esp push 256 push ecx lea ecx, [ebp-44H] call [System.Runtime.InteropServices.Marshalling.Utf8StringMarshaller+ManagedToUnmanagedIn:FromManaged(System.String,System.Span`1[ubyte]):this] G_M000_IG08: mov eax, bword ptr [ebp-30H] mov edx, eax mov bword ptr [ebp-4CH], edx mov edx, dword ptr [ebp-44H] push dword ptr [ebp+08H] push dword ptr [ebp-28H] push eax push edx push dword ptr [ebp+18H] push dword ptr [ebp+14H] mov dword ptr [ebp-70H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-6CH], eax lea eax, G_M000_IG11 mov dword ptr [ebp-68H], eax mov eax, dword ptr [ebp-50H] mov byte ptr [eax+08H], 0 G_M000_IG09: mov eax, 0xD1FFAB1E G_M000_IG10: call eax ; System.Reflection.RuntimeAssembly:g____PInvoke|26_0(System.Runtime.CompilerServices.QCallAssembly,uint,uint,int,System.Runtime.CompilerServices.ObjectHandleOnStack) G_M000_IG11: mov eax, dword ptr [ebp-50H] mov byte ptr [eax+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-68H], ecx G_M000_IG13: xor ecx, ecx mov bword ptr [ebp-4CH], ecx mov dword ptr [ebp-20H], 0 mov dword ptr [ebp-1CH], 252 push G_M000_IG17 jmp SHORT G_M000_IG18 G_M000_IG14: mov ecx, edx mov edx, dword ptr [ebp-54H] jmp G_M000_IG05 G_M000_IG15: call CORINFO_HELP_RNGCHKFAIL int3 G_M000_IG16: xor eax, eax mov bword ptr [ebp-4CH], eax pop eax jmp eax G_M000_IG17: mov dword ptr [ebp-1CH], 0 jmp SHORT G_M000_IG26 G_M000_IG18: mov esi, bword ptr [ebp-30H] mov edi, dword ptr [ebp-2CH] xor ebx, ebx test edi, edi jle SHORT G_M000_IG22 G_M000_IG19: mov ecx, dword ptr [esi+4*ebx] mov eax, ecx mov edx, eax sar edx, 31 and eax, -0x10000 or eax, edx je SHORT G_M000_IG21 G_M000_IG20: call Interop+Ole32:CoTaskMemFree(int) G_M000_IG21: inc ebx cmp ebx, edi jl SHORT G_M000_IG19 G_M000_IG22: mov ecx, dword ptr [ebp-34H] test ecx, ecx je SHORT G_M000_IG23 call Interop+Ucrtbase:free(uint) G_M000_IG23: cmp byte ptr [ebp-40H], 0 je SHORT G_M000_IG25 G_M000_IG24: mov ecx, dword ptr [ebp-44H] test ecx, ecx je SHORT G_M000_IG25 call Interop+Ucrtbase:free(uint) G_M000_IG25: pop eax jmp eax G_M000_IG26: mov ecx, dword ptr [ebp-50H] mov eax, bword ptr [ebp-74H] mov dword ptr [ecx+0CH], eax cmp dword ptr [ebp-5CH], 0xD1FFAB1E je SHORT G_M000_IG27 call CORINFO_HELP_FAIL_FAST G_M000_IG27: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 ; Total bytes of code 496 955: JIT compiled System.Reflection.RuntimeAssembly:GetTypeCore(System.Runtime.CompilerServices.QCallAssembly,System.String,System.ReadOnlySpan`1[System.String],int,System.Runtime.CompilerServices.ObjectHandleOnStack) [Tier1, IL size=283, code size=496] ; Assembly listing for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:FromManaged(System.ReadOnlySpan`1[System.__Canon],System.Span`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov dword ptr [ebp-10H], edx mov ebx, ecx G_M000_IG02: xor ecx, ecx mov dword ptr [ebx+08H], ecx mov ecx, bword ptr [ebp+10H] test ecx, ecx jne SHORT G_M000_IG08 G_M000_IG03: mov ecx, dword ptr [edx+20H] mov ecx, dword ptr [ecx] mov eax, dword ptr [ecx+18H] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: jmp SHORT G_M000_IG06 G_M000_IG05: mov ecx, edx mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS G_M000_IG06: push eax mov ecx, ebx xor edx, edx call [System.ReadOnlySpan`1[System.__Canon]:op_Implicit(System.__Canon[]):System.ReadOnlySpan`1[System.__Canon]] xor ecx, ecx mov dword ptr [ebx+0CH], ecx mov dword ptr [ebx+10H], ecx G_M000_IG07: pop ecx pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG08: mov edi, ebx lea esi, bword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_BYREF movsd mov esi, dword ptr [ebp+14H] mov ecx, dword ptr [ebp+0CH] cmp esi, ecx jg SHORT G_M000_IG10 ja SHORT G_M000_IG13 mov ecx, bword ptr [ebp+08H] add ebx, 12 mov bword ptr [ebx], ecx mov dword ptr [ebx+04H], esi G_M000_IG09: pop ecx pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG10: imul ecx, esi, 4 jo SHORT G_M000_IG12 call [System.Runtime.InteropServices.NativeMemory:Alloc(uint):uint] mov dword ptr [ebx+08H], eax mov eax, dword ptr [ebx+08H] mov edx, esi test edx, edx jl SHORT G_M000_IG13 lea ecx, bword ptr [ebx+0CH] mov bword ptr [ecx], eax mov dword ptr [ecx+04H], edx G_M000_IG11: pop ecx pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG12: call CORINFO_HELP_OVERFLOW G_M000_IG13: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 170 956: JIT compiled System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:FromManaged(System.ReadOnlySpan`1[System.__Canon],System.Span`1[int]) [Tier1, IL size=144, code size=170] ; Assembly listing for method System.ReadOnlySpan`1[System.__Canon]:op_Implicit(System.__Canon[]):System.ReadOnlySpan`1[System.__Canon] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: test edx, edx je SHORT G_M000_IG06 G_M000_IG03: lea eax, bword ptr [edx+08H] mov edx, dword ptr [edx+04H] G_M000_IG04: mov bword ptr [ecx], eax mov dword ptr [ecx+04H], edx G_M000_IG05: pop ebp ret 4 G_M000_IG06: xor eax, eax xor edx, edx jmp SHORT G_M000_IG04 ; Total bytes of code 28 957: JIT compiled System.ReadOnlySpan`1[System.__Canon]:op_Implicit(System.__Canon[]) [Tier1, IL size=7, code size=28] ; Assembly listing for method System.Reflection.RuntimePropertyInfo:GetIndexParameters():System.Reflection.ParameterInfo[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 26101 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx G_M000_IG02: call [System.Reflection.RuntimePropertyInfo:GetIndexParametersNoCopy():System.Reflection.ParameterInfo[]:this] mov esi, eax mov edi, dword ptr [esi+04H] test edi, edi jne SHORT G_M000_IG05 G_M000_IG03: mov eax, esi G_M000_IG04: pop ebx pop esi pop edi pop ebp ret G_M000_IG05: mov edx, edi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_OBJ mov ebx, eax push edi mov ecx, esi mov edx, ebx call [System.Array:Copy(System.Array,System.Array,int)] mov eax, ebx G_M000_IG06: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 60 958: JIT compiled System.Reflection.RuntimePropertyInfo:GetIndexParameters() [Tier1 with Static PGO, IL size=33, code size=60] ; Assembly listing for method System.Reflection.RuntimePropertyInfo:GetIndexParametersNoCopy():System.Reflection.ParameterInfo[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 26067 ; 3 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, 20 mov esi, ecx G_M000_IG02: cmp gword ptr [esi+20H], 0 je SHORT G_M000_IG05 G_M000_IG03: mov eax, gword ptr [esi+20H] G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: xor edi, edi xor ebx, ebx mov ecx, gword ptr [esi+0CH] mov edx, 1 call [System.Reflection.Associates:IncludeAccessor(System.Reflection.MethodInfo,bool):bool] test eax, eax je G_M000_IG18 G_M000_IG06: mov ecx, gword ptr [esi+0CH] G_M000_IG07: test ecx, ecx je G_M000_IG25 call [System.Reflection.RuntimeMethodInfo:FetchNonReturnParameters():System.Reflection.ParameterInfo[]:this] mov ebx, eax mov edi, dword ptr [ebx+04H] test edi, edi jne G_M000_IG23 G_M000_IG08: mov edi, gword ptr [D1FFAB1EH] G_M000_IG09: xor eax, eax mov edx, dword ptr [edi+04H] mov dword ptr [ebp-14H], edx test edx, edx jg SHORT G_M000_IG11 G_M000_IG10: lea edx, bword ptr [esi+20H] call CORINFO_HELP_ASSIGN_REF_EDI jmp SHORT G_M000_IG03 G_M000_IG11: test ebx, ebx je SHORT G_M000_IG19 cmp dword ptr [ebx+04H], edx jl SHORT G_M000_IG17 G_M000_IG12: mov dword ptr [ebp-10H], eax mov ecx, gword ptr [ebx+4*eax+08H] mov gword ptr [ebp-18H], ecx mov gword ptr [ebp-1CH], ecx test ecx, ecx je SHORT G_M000_IG14 G_M000_IG13: mov ecx, 0xD1FFAB1E mov edx, gword ptr [ebp-1CH] cmp dword ptr [edx], ecx jne G_M000_IG24 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST push esi mov gword ptr [ebp-20H], eax mov ecx, eax mov edx, gword ptr [ebp-1CH] call [System.Reflection.RuntimeParameterInfo:.ctor(System.Reflection.RuntimeParameterInfo,System.Reflection.RuntimePropertyInfo):this] push gword ptr [ebp-20H] mov ecx, edi mov edx, dword ptr [ebp-10H] call CORINFO_HELP_ARRADDR_ST mov edx, dword ptr [ebp-10H] inc edx mov eax, dword ptr [ebp-14H] cmp eax, edx jg SHORT G_M000_IG16 G_M000_IG15: jmp SHORT G_M000_IG10 G_M000_IG16: mov eax, edx jmp SHORT G_M000_IG12 G_M000_IG17: mov edx, dword ptr [ebp-14H] jmp SHORT G_M000_IG19 G_M000_IG18: xor ecx, ecx jmp G_M000_IG07 G_M000_IG19: cmp eax, dword ptr [ebx+04H] jae G_M000_IG27 mov dword ptr [ebp-10H], eax mov ecx, gword ptr [ebx+4*eax+08H] mov gword ptr [ebp-18H], ecx mov gword ptr [ebp-1CH], ecx test ecx, ecx jne SHORT G_M000_IG22 G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST push esi mov gword ptr [ebp-20H], eax mov ecx, eax mov edx, gword ptr [ebp-1CH] call [System.Reflection.RuntimeParameterInfo:.ctor(System.Reflection.RuntimeParameterInfo,System.Reflection.RuntimePropertyInfo):this] push gword ptr [ebp-20H] mov ecx, edi mov edx, dword ptr [ebp-10H] call CORINFO_HELP_ARRADDR_ST mov ecx, dword ptr [ebp-10H] inc ecx mov eax, dword ptr [ebp-14H] cmp eax, ecx mov edx, eax jg SHORT G_M000_IG21 jmp G_M000_IG10 G_M000_IG21: mov eax, ecx jmp SHORT G_M000_IG19 G_M000_IG22: mov ecx, 0xD1FFAB1E mov eax, gword ptr [ebp-1CH] cmp dword ptr [eax], ecx jne SHORT G_M000_IG24 jmp SHORT G_M000_IG20 G_M000_IG23: mov edx, edi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_OBJ mov edi, eax jmp G_M000_IG09 G_M000_IG24: mov edx, gword ptr [ebp-18H] call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG25: mov ecx, esi mov edx, 1 call [System.Reflection.RuntimePropertyInfo:GetSetMethod(bool):System.Reflection.RuntimeMethodInfo:this] mov ecx, eax test ecx, ecx je SHORT G_M000_IG26 call [System.Reflection.RuntimeMethodInfo:FetchNonReturnParameters():System.Reflection.ParameterInfo[]:this] mov ebx, eax mov edi, dword ptr [ebx+04H] dec edi G_M000_IG26: test edi, edi jne SHORT G_M000_IG23 jmp G_M000_IG08 G_M000_IG27: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 396 959: JIT compiled System.Reflection.RuntimePropertyInfo:GetIndexParametersNoCopy() [Tier1 with Static PGO, IL size=140, code size=396] ; Assembly listing for method System.RuntimeType:IsEquivalentTo(System.Type):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 22719 G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: test edx, edx je SHORT G_M000_IG09 G_M000_IG03: cmp dword ptr [edx], 0xD1FFAB1E jne SHORT G_M000_IG09 G_M000_IG04: cmp edx, ecx jne SHORT G_M000_IG07 G_M000_IG05: mov eax, 1 G_M000_IG06: pop ebp ret G_M000_IG07: call System.RuntimeTypeHandle:IsEquivalentTo(System.RuntimeType,System.RuntimeType):bool G_M000_IG08: pop ebp ret G_M000_IG09: xor eax, eax G_M000_IG10: pop ebp ret ; Total bytes of code 37 960: JIT compiled System.RuntimeType:IsEquivalentTo(System.Type) [Tier1 with Static PGO, IL size=31, code size=37] ; Assembly listing for method System.String:StartsWith(ushort):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 57528 G_M000_IG01: G_M000_IG02: cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG05 G_M000_IG03: movzx eax, word ptr [ecx+08H] movzx edx, dx cmp eax, edx sete al movzx eax, al G_M000_IG04: ret G_M000_IG05: xor eax, eax G_M000_IG06: ret ; Total bytes of code 25 961: JIT compiled System.String:StartsWith(ushort) [Tier1 with Static PGO, IL size=41, code size=25] ; Assembly listing for method System.Diagnostics.Tracing.ManifestBuilder:WriteMessageAttrib(System.Text.StringBuilder,System.String,System.String,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 3096 ; 20 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 76 xor eax, eax mov dword ptr [ebp-54H], eax mov edi, ecx mov esi, edx mov edx, gword ptr [ebp+10H] mov ebx, gword ptr [ebp+0CH] mov eax, gword ptr [ebp+08H] G_M000_IG02: xor ecx, ecx cmp gword ptr [edi+34H], 0 jne G_M000_IG36 G_M000_IG03: mov gword ptr [ebp+08H], eax test eax, eax jne SHORT G_M000_IG05 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG05: test ecx, ecx jne G_M000_IG14 test edx, edx je SHORT G_M000_IG09 G_M000_IG06: mov ecx, dword ptr [edx+04H] test ecx, ecx je SHORT G_M000_IG09 G_M000_IG07: test ebx, ebx je G_M000_IG21 G_M000_IG08: jmp SHORT G_M000_IG10 G_M000_IG09: mov edx, ebx mov ecx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] mov ecx, eax jmp G_M000_IG13 G_M000_IG10: cmp dword ptr [ebx+04H], 0 je G_M000_IG21 G_M000_IG11: mov gword ptr [ebp+10H], edx mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-28H], ecx lea ecx, [eax+ecx+01H] call System.String:FastAllocateString(int):System.String mov ecx, eax mov gword ptr [ebp-30H], ecx mov eax, dword ptr [ebp-28H] cmp dword ptr [ecx+04H], eax jl G_M000_IG37 lea edx, bword ptr [ecx+08H] mov bword ptr [ebp-34H], edx mov edx, gword ptr [ebp+10H] add edx, 8 mov bword ptr [ebp-38H], edx mov dword ptr [ebp-28H], eax mov edx, eax add edx, edx mov dword ptr [ebp-24H], edx push edx mov ecx, bword ptr [ebp-34H] mov edx, bword ptr [ebp-38H] call [System.Buffer:Memmove(byref,byref,uint)] mov eax, dword ptr [ebp-28H] mov dword ptr [ebp-10H], eax mov edx, gword ptr [ebp-30H] mov ecx, dword ptr [edx+04H] sub ecx, dword ptr [ebp-10H] cmp ecx, 1 jl G_M000_IG38 mov ecx, dword ptr [ebp-24H] lea ecx, bword ptr [edx+ecx+08H] mov bword ptr [ebp-3CH], ecx mov ecx, 0xD1FFAB1E add ecx, 8 mov bword ptr [ebp-40H], ecx push 2 mov ecx, bword ptr [ebp-3CH] mov edx, bword ptr [ebp-40H] call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-28H] inc ecx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-58H], edx mov eax, gword ptr [ebp-30H] mov edx, dword ptr [eax+04H] sub edx, ecx cmp dword ptr [ebp-58H], edx jg G_M000_IG39 lea ecx, bword ptr [eax+2*ecx+08H] lea edx, bword ptr [ebx+08H] mov ebx, dword ptr [ebx+04H] add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, gword ptr [ebp-30H] G_M000_IG12: mov ecx, ebx G_M000_IG13: mov gword ptr [ebp-2CH], ecx mov ecx, gword ptr [ebp-2CH] G_M000_IG14: mov edx, 0xD1FFAB1E add edx, 8 mov ebx, gword ptr [esi+04H] mov eax, dword ptr [esi+0CH] mov dword ptr [ebp-14H], eax add eax, 19 mov dword ptr [ebp-20H], eax cmp eax, dword ptr [ebx+04H] ja G_M000_IG28 G_M000_IG15: mov gword ptr [ebp-2CH], ecx mov eax, dword ptr [ebp-14H] lea eax, bword ptr [ebx+2*eax+08H] push 38 mov ecx, eax call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, dword ptr [ebp-20H] mov dword ptr [esi+0CH], ebx G_M000_IG16: mov ebx, gword ptr [ebp-2CH] test ebx, ebx je SHORT G_M000_IG23 mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-18H], eax lea edx, bword ptr [ebx+08H] mov bword ptr [ebp-48H], edx test eax, eax je SHORT G_M000_IG23 G_M000_IG17: mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-44H], ecx mov ecx, dword ptr [esi+0CH] mov dword ptr [ebp-1CH], ecx add ecx, eax mov edx, gword ptr [ebp-44H] cmp ecx, dword ptr [edx+04H] ja SHORT G_M000_IG22 G_M000_IG18: mov ecx, dword ptr [ebp-1CH] lea edx, bword ptr [edx+2*ecx+08H] mov bword ptr [ebp-4CH], edx cmp eax, 2 jle SHORT G_M000_IG25 G_M000_IG19: lea edx, [eax+eax] push edx mov ecx, bword ptr [ebp-4CH] mov edx, bword ptr [ebp-48H] call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG20: mov ecx, dword ptr [ebp-18H] add ecx, dword ptr [ebp-1CH] mov dword ptr [esi+0CH], ecx jmp SHORT G_M000_IG23 G_M000_IG21: mov ecx, edx mov edx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] mov ecx, eax jmp G_M000_IG13 G_M000_IG22: push eax mov ecx, esi mov edx, bword ptr [ebp-48H] call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG23: mov edx, 0xD1FFAB1E add edx, 8 mov bword ptr [ebp-50H], edx mov eax, gword ptr [esi+04H] mov ecx, dword ptr [esi+0CH] lea edx, [ecx+02H] cmp edx, dword ptr [eax+04H] ja G_M000_IG35 G_M000_IG24: jmp SHORT G_M000_IG31 G_M000_IG25: mov ecx, bword ptr [ebp-48H] movzx edx, word ptr [ecx] mov ecx, bword ptr [ebp-4CH] mov word ptr [ecx], dx cmp eax, 2 jne SHORT G_M000_IG27 G_M000_IG26: mov edx, bword ptr [ebp-48H] movzx edx, word ptr [edx+02H] mov word ptr [ecx+02H], dx jmp SHORT G_M000_IG20 G_M000_IG27: jmp SHORT G_M000_IG20 G_M000_IG28: mov gword ptr [ebp-2CH], ecx push 19 mov ecx, esi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] jmp G_M000_IG16 G_M000_IG29: mov ecx, gword ptr [edi+20H] cmp byte ptr [ecx], cl push gword ptr [ebp+08H] push 1 mov edx, ebx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):bool:this] G_M000_IG30: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG31: lea ecx, bword ptr [eax+2*ecx+08H] mov word ptr [ecx], 41 mov word ptr [ecx+02H], 34 mov dword ptr [esi+0CH], edx G_M000_IG32: mov ecx, gword ptr [edi+20H] 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 SHORT G_M000_IG29 G_M000_IG33: mov ecx, gword ptr [eax] mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [System.String:Equals(System.String):bool:this] test eax, eax je G_M000_IG40 G_M000_IG34: jmp SHORT G_M000_IG29 G_M000_IG35: push 2 mov ecx, esi mov edx, bword ptr [ebp-50H] call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] jmp SHORT G_M000_IG32 G_M000_IG36: mov gword ptr [ebp+08H], eax mov gword ptr [ebp+0CH], ebx push ebx mov gword ptr [ebp+10H], edx mov ecx, edx mov edx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String,System.String):System.String] mov ecx, gword ptr [edi+34H] push gword ptr [D1FFAB1EH] mov gword ptr [ebp-2CH], eax mov edx, eax mov gword ptr [ebp-54H], edx mov edx, dword ptr [ecx] mov edx, dword ptr [edx+2CH] mov dword ptr [ebp-58H], edx mov edx, gword ptr [ebp-54H] mov ebx, dword ptr [ebp-58H] call [ebx+14H]System.Resources.ResourceManager:GetString(System.String,System.Globalization.CultureInfo):System.String:this test eax, eax cmove eax, gword ptr [ebp+08H] mov ebx, eax mov eax, ebx mov ecx, gword ptr [ebp-2CH] mov edx, gword ptr [ebp+10H] mov ebx, gword ptr [ebp+0CH] jmp G_M000_IG03 G_M000_IG37: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG38: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov ecx, edi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, edi call CORINFO_HELP_THROW G_M000_IG39: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG40: mov ecx, 0xD1FFAB1E call [System.SR:GetResourceString(System.String):System.String] mov ecx, eax mov edx, ebx call [System.SR:Format(System.String,System.Object):System.String] mov edx, eax push 1 mov ecx, edi call [System.Diagnostics.Tracing.ManifestBuilder:ManifestError(System.String,bool):this] G_M000_IG41: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 868 962: JIT compiled System.Diagnostics.Tracing.ManifestBuilder:WriteMessageAttrib(System.Text.StringBuilder,System.String,System.String,System.String) [Tier1 with Static PGO, IL size=156, code size=868] ; Assembly listing for method System.Diagnostics.Tracing.ManifestBuilder:AddEventParameter(System.Type,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 5940 ; 30 inlinees with PGO data; 33 single block inlinees; 6 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 92 mov edi, ecx mov esi, edx G_M000_IG02: cmp dword ptr [edi+4CH], 0 je G_M000_IG34 G_M000_IG03: cmp esi, 0xD1FFAB1E je G_M000_IG32 G_M000_IG04: inc dword ptr [edi+4CH] mov eax, gword ptr [edi+2CH] mov gword ptr [ebp-44H], eax mov edx, 0xD1FFAB1E add edx, 8 mov ecx, gword ptr [eax+04H] mov gword ptr [ebp-48H], ecx mov ecx, dword ptr [eax+0CH] mov dword ptr [ebp-14H], ecx lea ebx, [ecx+0FH] mov ecx, gword ptr [ebp-48H] cmp dword ptr [ecx+04H], ebx jb G_M000_IG45 G_M000_IG05: mov ebx, dword ptr [ebp-14H] lea ecx, bword ptr [ecx+2*ebx+08H] push 30 call [System.Buffer:Memmove(byref,byref,uint)] add ebx, 15 mov eax, gword ptr [ebp-44H] mov dword ptr [eax+0CH], ebx G_M000_IG06: mov ebx, gword ptr [ebp+08H] test ebx, ebx je SHORT G_M000_IG11 mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-18H], edx mov gword ptr [ebp+08H], ebx lea ecx, bword ptr [ebx+08H] mov bword ptr [ebp-50H], ecx test edx, edx je G_M000_IG16 G_M000_IG07: mov ebx, gword ptr [eax+04H] mov gword ptr [ebp-4CH], ebx mov ebx, dword ptr [eax+0CH] mov dword ptr [ebp-1CH], ebx add ebx, edx mov ecx, gword ptr [ebp-4CH] cmp ebx, dword ptr [ecx+04H] ja SHORT G_M000_IG15 G_M000_IG08: mov ebx, dword ptr [ebp-1CH] lea ecx, bword ptr [ecx+2*ebx+08H] mov bword ptr [ebp-54H], ecx cmp edx, 2 jle SHORT G_M000_IG12 G_M000_IG09: lea ecx, [edx+edx] push ecx mov ecx, bword ptr [ebp-54H] mov edx, bword ptr [ebp-50H] call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG10: mov ecx, dword ptr [ebp-18H] add ecx, dword ptr [ebp-1CH] mov ebx, gword ptr [ebp-44H] mov dword ptr [ebx+0CH], ecx mov eax, ebx jmp SHORT G_M000_IG16 G_M000_IG11: mov gword ptr [ebp+08H], ebx jmp SHORT G_M000_IG16 G_M000_IG12: mov ebx, bword ptr [ebp-50H] movzx ecx, word ptr [ebx] mov ebx, bword ptr [ebp-54H] mov word ptr [ebx], cx cmp edx, 2 jne SHORT G_M000_IG14 G_M000_IG13: mov ecx, bword ptr [ebp-50H] movzx ecx, word ptr [ecx+02H] mov word ptr [ebx+02H], cx jmp SHORT G_M000_IG10 G_M000_IG14: jmp SHORT G_M000_IG10 G_M000_IG15: mov eax, gword ptr [ebp-44H] push edx mov ecx, eax mov edx, bword ptr [ebp-50H] call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] mov eax, gword ptr [ebp-44H] G_M000_IG16: mov edx, 0xD1FFAB1E add edx, 8 mov ecx, gword ptr [eax+04H] mov gword ptr [ebp-58H], ecx mov ebx, dword ptr [eax+0CH] mov dword ptr [ebp-20H], ebx lea ecx, [ebx+0AH] mov ebx, gword ptr [ebp-58H] cmp dword ptr [ebx+04H], ecx jb G_M000_IG46 G_M000_IG17: mov ecx, dword ptr [ebp-20H] lea ebx, bword ptr [ebx+2*ecx+08H] push 20 mov ecx, ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, dword ptr [ebp-20H] add ebx, 10 mov eax, gword ptr [ebp-44H] mov dword ptr [eax+0CH], ebx G_M000_IG18: mov ebx, eax mov ecx, edi mov edx, esi call [System.Diagnostics.Tracing.ManifestBuilder:GetTypeName(System.Type):System.String:this] test eax, eax je G_M000_IG27 mov edx, dword ptr [eax+04H] mov dword ptr [ebp-24H], edx add eax, 8 mov bword ptr [ebp-60H], eax test edx, edx je SHORT G_M000_IG27 G_M000_IG19: mov ecx, gword ptr [ebx+04H] mov gword ptr [ebp-5CH], ecx mov ecx, dword ptr [ebx+0CH] mov dword ptr [ebp-28H], ecx add ecx, edx mov eax, gword ptr [ebp-5CH] cmp ecx, dword ptr [eax+04H] ja SHORT G_M000_IG26 G_M000_IG20: mov ecx, dword ptr [ebp-28H] lea eax, bword ptr [eax+2*ecx+08H] mov bword ptr [ebp-64H], eax cmp edx, 2 jle SHORT G_M000_IG23 G_M000_IG21: lea eax, [edx+edx] push eax mov ecx, bword ptr [ebp-64H] mov edx, bword ptr [ebp-60H] call [System.Buffer:Memmove(byref,byref,uint)] G_M000_IG22: mov ecx, dword ptr [ebp-24H] add ecx, dword ptr [ebp-28H] mov dword ptr [ebx+0CH], ecx jmp SHORT G_M000_IG27 G_M000_IG23: mov ecx, bword ptr [ebp-60H] movzx eax, word ptr [ecx] mov ecx, bword ptr [ebp-64H] mov word ptr [ecx], ax cmp edx, 2 jne SHORT G_M000_IG25 G_M000_IG24: mov eax, bword ptr [ebp-60H] movzx eax, word ptr [eax+02H] mov word ptr [ecx+02H], ax jmp SHORT G_M000_IG22 G_M000_IG25: jmp SHORT G_M000_IG22 G_M000_IG26: push edx mov ecx, ebx mov edx, bword ptr [ebp-60H] call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] G_M000_IG27: mov ecx, dword ptr [ebx+0CH] mov edx, gword ptr [ebx+04H] cmp dword ptr [edx+04H], ecx jbe G_M000_IG44 G_M000_IG28: mov word ptr [edx+2*ecx+08H], 34 inc dword ptr [ebx+0CH] G_M000_IG29: mov ebx, dword ptr [esi] cmp ebx, 0xD1FFAB1E jne G_M000_IG54 mov ecx, esi call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 20 je G_M000_IG53 cmp eax, 29 sete al movzx eax, al G_M000_IG30: test eax, eax jne G_M000_IG55 G_M000_IG31: cmp ebx, 0xD1FFAB1E jne G_M000_IG36 mov ecx, esi call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 15 jne G_M000_IG37 jmp G_M000_IG55 G_M000_IG32: mov ebx, gword ptr [ebp+08H] cmp gword ptr [edi+44H], 0 jne SHORT G_M000_IG33 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-38H], eax mov ecx, eax mov edx, 4 call [System.Collections.Generic.List`1[int]:.ctor(int):this] lea edx, bword ptr [edi+44H] mov ecx, gword ptr [ebp-38H] call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG33: mov ecx, gword ptr [edi+44H] mov edx, dword ptr [edi+4CH] mov dword ptr [ebp-10H], edx inc dword ptr [ecx+0CH] mov eax, gword ptr [ecx+04H] mov gword ptr [ebp-40H], eax mov edx, dword ptr [ecx+08H] cmp dword ptr [eax+04H], edx jbe G_M000_IG51 lea eax, [edx+01H] mov dword ptr [ecx+08H], eax mov eax, gword ptr [ebp-40H] mov ecx, dword ptr [ebp-10H] mov dword ptr [eax+4*edx+08H], ecx jmp G_M000_IG52 G_M000_IG34: mov eax, gword ptr [edi+2CH] mov gword ptr [ebp-3CH], eax cmp byte ptr [eax], al push 17 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, eax call [System.Text.StringBuilder:Append(byref,int):this] mov edx, gword ptr [edi+40H] test edx, edx je SHORT G_M000_IG35 mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, gword ptr [ebp-3CH] call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG35: push 6 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, gword ptr [ebp-3CH] call [System.Text.StringBuilder:Append(byref,int):this] push 2 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, gword ptr [ebp-3CH] call [System.Text.StringBuilder:Append(byref,int):this] jmp G_M000_IG03 G_M000_IG36: mov ecx, esi mov eax, dword ptr [ebx+34H] call [eax+10H]System.Type:IsPointerImpl():bool:this test eax, eax jne G_M000_IG55 G_M000_IG37: cmp ebx, 0xD1FFAB1E jne G_M000_IG57 mov ecx, esi mov ecx, dword ptr [ecx+0CH] test cl, 2 jne G_M000_IG56 mov ecx, dword ptr [ecx+10H] mov eax, dword ptr [D1FFAB1EH] cmp ecx, eax sete al movzx eax, al G_M000_IG38: test eax, eax jne G_M000_IG49 G_M000_IG39: mov edi, gword ptr [edi+2CH] mov edx, 0xD1FFAB1E add edx, 8 mov ecx, gword ptr [edi+04H] mov eax, dword ptr [edi+0CH] lea esi, [eax+02H] cmp dword ptr [ecx+04H], esi jb G_M000_IG47 G_M000_IG40: lea ecx, bword ptr [ecx+2*eax+08H] mov word ptr [ecx], 47 mov word ptr [ecx+02H], 62 add eax, 2 mov dword ptr [edi+0CH], eax G_M000_IG41: mov edx, 0xD1FFAB1E add edx, 8 mov ecx, gword ptr [edi+04H] mov eax, dword ptr [edi+0CH] lea esi, [eax+02H] cmp dword ptr [ecx+04H], esi jb SHORT G_M000_IG48 G_M000_IG42: cmp byte ptr [ecx], cl lea ecx, bword ptr [ecx+2*eax+08H] mov word ptr [ecx], 13 mov word ptr [ecx+02H], 10 add eax, 2 mov dword ptr [edi+0CH], eax G_M000_IG43: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG44: push 1 mov ecx, ebx mov edx, 34 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp G_M000_IG29 G_M000_IG45: mov eax, gword ptr [ebp-44H] push 15 mov ecx, eax call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] mov eax, gword ptr [ebp-44H] jmp G_M000_IG06 G_M000_IG46: mov eax, gword ptr [ebp-44H] push 10 mov ecx, eax call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] mov eax, gword ptr [ebp-44H] jmp G_M000_IG18 G_M000_IG47: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] jmp G_M000_IG41 G_M000_IG48: push 2 mov ecx, edi call [System.Text.StringBuilder:AppendWithExpansion(byref,int):this] jmp SHORT G_M000_IG43 G_M000_IG49: mov ecx, esi call [System.Enum:GetUnderlyingType(System.Type):System.Type] cmp eax, 0xD1FFAB1E je G_M000_IG39 mov ecx, esi call [System.Enum:GetUnderlyingType(System.Type):System.Type] cmp eax, 0xD1FFAB1E je G_M000_IG39 mov ecx, gword ptr [edi+2CH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov gword ptr [ebp-68H], eax mov ecx, esi mov ebx, dword ptr [ebx+28H] call [ebx+18H]System.Reflection.MemberInfo:get_Name():System.String:this mov edx, eax mov ecx, gword ptr [ebp-68H] cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, eax mov edx, 34 cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this] cmp gword ptr [edi+1CH], 0 jne SHORT G_M000_IG50 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-34H], eax push 0 mov ecx, eax xor edx, edx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] lea edx, bword ptr [edi+1CH] mov ecx, gword ptr [ebp-34H] call CORINFO_HELP_ASSIGN_REF_ECX G_M000_IG50: mov eax, gword ptr [edi+1CH] mov gword ptr [ebp-2CH], eax mov ecx, esi call [ebx+18H]System.Reflection.MemberInfo:get_Name():System.String:this mov edx, eax mov ecx, gword ptr [ebp-2CH] cmp byte ptr [ecx], cl call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this] test eax, eax jne G_M000_IG39 mov eax, gword ptr [edi+1CH] mov gword ptr [ebp-30H], eax mov ecx, esi call [ebx+18H]System.Reflection.MemberInfo:get_Name():System.String:this mov edx, eax mov ebx, gword ptr [ebp-30H] cmp byte ptr [ebx], bl push esi push 2 mov ecx, ebx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):bool:this] jmp G_M000_IG39 G_M000_IG51: mov edx, dword ptr [ebp-10H] call [System.Collections.Generic.List`1[int]:AddWithResize(int):this] G_M000_IG52: inc dword ptr [edi+4CH] mov ecx, gword ptr [edi+2CH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, eax mov edx, ebx cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, eax mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:AppendLine(System.String):System.Text.StringBuilder:this] mov gword ptr [ebp+08H], ebx jmp G_M000_IG04 G_M000_IG53: mov eax, 1 jmp G_M000_IG30 G_M000_IG54: mov ecx, esi mov eax, dword ptr [ebx+34H] call [eax+08H]System.Type:IsArrayImpl():bool:this test eax, eax je G_M000_IG31 G_M000_IG55: mov ecx, esi mov eax, dword ptr [ebx+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this cmp eax, 0xD1FFAB1E jne G_M000_IG37 mov ecx, gword ptr [edi+2CH] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, eax mov edx, gword ptr [ebp+08H] cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] mov ecx, eax mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.Text.StringBuilder:Append(System.String):System.Text.StringBuilder:this] jmp G_M000_IG37 G_M000_IG56: mov ecx, esi mov edx, 0xD1FFAB1E call [System.RuntimeType:IsSubclassOf(System.Type):bool:this] jmp G_M000_IG38 G_M000_IG57: mov ecx, esi mov eax, dword ptr [ebx+40H] call [eax+18H]System.Type:get_IsEnum():bool:this jmp G_M000_IG38 ; Total bytes of code 1408 963: JIT compiled System.Diagnostics.Tracing.ManifestBuilder:AddEventParameter(System.Type,System.String) [Tier1 with Static PGO, IL size=452, code size=1408] ; Assembly listing for method System.Reflection.CustomAttribute:GetCustomAttributes(System.Reflection.RuntimeModule,int,int,System.RuntimeType):System.Object[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 33540 ; 1 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 sub esp, 32 vzeroupper vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-28H], xmm4 vmovdqu xmmword ptr [ebp-18H], xmm4 mov eax, ecx mov esi, gword ptr [ebp+08H] G_M000_IG02: vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-18H], xmm0 vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-28H], xmm0 push edx push esi push 0 push dword ptr [ebp-1CH] push dword ptr [ebp-20H] push gword ptr [ebp-24H] push gword ptr [ebp-28H] lea ecx, [ebp-18H] mov edx, eax call [System.Reflection.CustomAttribute:AddCustomAttributes(byref,System.Reflection.RuntimeModule,int,System.RuntimeType,bool,System.RuntimeType+ListBuilder`1[System.Object])] mov edi, dword ptr [ebp+0CH] mov edx, edi add edx, dword ptr [ebp-10H] mov ecx, esi call [System.Reflection.CustomAttribute:CreateAttributeArrayHelper(System.RuntimeType,int):System.Object[]] mov esi, eax xor edi, edi cmp dword ptr [ebp-10H], 0 jle SHORT G_M000_IG06 G_M000_IG03: cmp gword ptr [ebp-18H], 0 je SHORT G_M000_IG08 G_M000_IG04: mov ecx, gword ptr [ebp-18H] cmp edi, dword ptr [ecx+04H] jae SHORT G_M000_IG09 mov ecx, gword ptr [ebp-18H] mov ecx, gword ptr [ecx+4*edi+08H] G_M000_IG05: push ecx mov ecx, esi mov edx, edi call CORINFO_HELP_ARRADDR_ST inc edi cmp edi, dword ptr [ebp-10H] jl SHORT G_M000_IG03 G_M000_IG06: mov eax, esi G_M000_IG07: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 8 G_M000_IG08: mov ecx, gword ptr [ebp-14H] jmp SHORT G_M000_IG05 G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 160 964: JIT compiled System.Reflection.CustomAttribute:GetCustomAttributes(System.Reflection.RuntimeModule,int,int,System.RuntimeType) [Tier1 with Static PGO, IL size=75, code size=160] ; Assembly listing for method System.Reflection.CustomAttribute:AddCustomAttributes(byref,System.Reflection.RuntimeModule,int,System.RuntimeType,bool,System.RuntimeType+ListBuilder`1[System.Object]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 7 inlinees with PGO data; 15 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 112 vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-54H], xmm4 vmovdqu xmmword ptr [ebp-44H], xmm4 vmovdqu xmmword ptr [ebp-34H], xmm4 xor eax, eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-18H], eax mov bword ptr [ebp-68H], ecx mov ebx, edx mov esi, dword ptr [ebp+20H] G_M000_IG02: mov ecx, ebx mov edx, esi call [System.Reflection.RuntimeCustomAttributeData:GetCustomAttributeRecords(System.Reflection.RuntimeModule,int):System.Reflection.CustomAttributeRecord[]] mov gword ptr [ebp-70H], eax cmp gword ptr [ebp+1CH], 0 jne SHORT G_M000_IG05 G_M000_IG03: cmp dword ptr [eax+04H], 0 jne SHORT G_M000_IG06 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG05: G_M000_IG06: cmp byte ptr [ebx], bl mov ecx, ebx call System.ModuleHandle:_GetMetadataImport(System.Reflection.RuntimeModule):int mov gword ptr [ebp-28H], ebx mov dword ptr [ebp-24H], eax xor eax, eax mov ecx, gword ptr [ebp-70H] cmp dword ptr [ecx+04H], 0 jle G_M000_IG31 G_M000_IG07: mov dword ptr [ebp-2CH], eax lea edx, [eax+2*eax] lea edx, bword ptr [ecx+4*edx+08H] mov edi, dword ptr [edx+04H] mov ecx, edi add ecx, dword ptr [edx] mov dword ptr [ebp-34H], ecx mov edx, dword ptr [edx+08H] mov dword ptr [ebp-64H], edx push ebx mov dword ptr [ebp+20H], esi push esi push gword ptr [ebp+1CH] movzx edx, byte ptr [ebp+18H] push edx lea edx, [ebp+08H] push edx lea edx, [ebp-38H] push edx lea edx, [ebp-3CH] push edx lea edx, [ebp-40H] push edx lea edx, [ebp-28H] mov ecx, dword ptr [ebp-64H] 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 G_M000_IG30 G_M000_IG08: movzx edx, byte ptr [ebp-40H] mov ecx, gword ptr [ebp-38H] call [System.Reflection.RuntimeConstructorInfo:CheckCanCreateInstance(System.Type,bool)] cmp gword ptr [ebp-3CH], 0 je SHORT G_M000_IG09 mov edx, gword ptr [ebp-38H] mov ecx, gword ptr [ebp-3CH] mov dword ptr [ebp-58H], edi push ecx lea ecx, [ebp-58H] push ecx mov edi, dword ptr [ebp-34H] push edi lea ecx, [ebp-5CH] push ecx mov ecx, ebx call System.Reflection.CustomAttribute:_CreateCaObject(System.Reflection.RuntimeModule,System.RuntimeType,System.IRuntimeMethodInfo,uint,uint,uint):System.Object mov ecx, dword ptr [ebp-58H] mov edx, ecx mov ecx, dword ptr [ebp-5CH] jmp SHORT G_M000_IG11 G_M000_IG09: push 0 mov ecx, gword ptr [ebp-38H] xor edx, edx cmp dword ptr [ecx], ecx call [System.RuntimeType:CreateInstanceDefaultCtor(bool,bool):System.Object:this] mov gword ptr [ebp-74H], eax mov ecx, dword ptr [ebp-34H] mov edx, ecx sub edx, edi jne SHORT G_M000_IG10 xor edx, edx mov esi, ecx mov ecx, edx mov edx, edi mov edi, esi mov eax, gword ptr [ebp-74H] jmp SHORT G_M000_IG11 G_M000_IG10: mov edx, dword ptr [edi] movzx esi, dx cmp esi, 1 jne G_M000_IG34 sar edx, 16 mov esi, edx add edi, 4 mov edx, edi mov edi, ecx mov ecx, esi mov eax, gword ptr [ebp-74H] G_M000_IG11: xor esi, esi mov dword ptr [ebp-44H], ecx test ecx, ecx mov gword ptr [ebp-74H], eax jle G_M000_IG24 G_M000_IG12: mov dword ptr [ebp-60H], edx mov dword ptr [ebp-34H], edi push edi lea edx, [ebp-48H] push edx lea edx, [ebp-4CH] push edx lea edx, [ebp-50H] push edx lea edx, [ebp-54H] push edx lea edx, [ebp-60H] mov gword ptr [ebp-6CH], ebx mov ecx, ebx call System.Reflection.CustomAttribute:_GetPropertyOrFieldData(System.Reflection.RuntimeModule,uint,uint,byref,byref,byref,byref) mov edx, dword ptr [ebp-60H] mov dword ptr [ebp-30H], edx G_M000_IG13: cmp byte ptr [ebp-4CH], 0 je G_M000_IG23 G_M000_IG14: cmp gword ptr [ebp-50H], 0 jne SHORT G_M000_IG15 cmp gword ptr [ebp-54H], 0 je SHORT G_M000_IG15 mov ecx, gword ptr [ebp-54H] call System.Object:GetType():System.Type:this mov gword ptr [ebp-50H], eax cmp gword ptr [ebp-50H], 0xD1FFAB1E jne SHORT G_M000_IG15 mov gword ptr [ebp-50H], 0xD1FFAB1E G_M000_IG15: cmp gword ptr [ebp-50H], 0 je G_M000_IG22 mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-48H] mov edi, gword ptr [ebp-50H] mov ebx, gword ptr [D1FFAB1EH] cmp byte ptr [ecx], cl test edx, edx je SHORT G_M000_IG18 test ebx, ebx je G_M000_IG21 push 28 push 0 push edi push ebx push 0 call [System.RuntimeType:GetPropertyImpl(System.String,int,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo:this] mov ecx, eax G_M000_IG16: test ecx, ecx je SHORT G_M000_IG19 mov edx, 1 mov eax, dword ptr [ecx] mov eax, dword ptr [eax+34H] call [eax+0CH]System.Reflection.PropertyInfo:GetSetMethod(bool):System.Reflection.MethodInfo:this mov gword ptr [ebp-78H], eax cmp dword ptr [eax], 0xD1FFAB1E jne G_M000_IG20 mov ecx, dword ptr [eax+30H] G_M000_IG17: and ecx, 7 cmp ecx, 6 jne G_M000_IG28 mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_OBJ lea edx, bword ptr [eax+08H] mov ecx, gword ptr [ebp-54H] call CORINFO_HELP_ASSIGN_REF_ECX push 0 push 0 push eax push 0 mov ecx, gword ptr [ebp-78H] mov edx, gword ptr [ebp-74H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+34H] call [eax+18H]System.Reflection.MethodBase:Invoke(System.Object,int,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo):System.Object:this jmp G_M000_IG28 G_M000_IG18: mov ecx, 799 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG19: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_RFLCT_InvalidPropFail():System.String] mov ecx, eax mov edx, gword ptr [ebp-48H] call [System.SR:Format(System.String,System.Object):System.String] mov edx, eax push 0 mov ecx, esi call [System.Reflection.CustomAttributeFormatException:.ctor(System.String,System.Exception):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG20: mov ecx, eax mov edx, dword ptr [eax] mov edx, dword ptr [edx+30H] call [edx+10H]System.Reflection.MethodBase:get_Attributes():int:this mov ecx, eax jmp G_M000_IG17 G_M000_IG21: mov ecx, 0x17D7 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG22: mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-48H] cmp byte ptr [ecx], cl test edx, edx je SHORT G_M000_IG18 push 28 push 0 push 0 push 0 push 0 call [System.RuntimeType:GetPropertyImpl(System.String,int,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.PropertyInfo:this] mov ecx, eax jmp G_M000_IG16 G_M000_IG23: mov ecx, gword ptr [ebp-38H] mov edx, gword ptr [ebp-48H] push 28 cmp dword ptr [ecx], ecx call [System.RuntimeType:GetField(System.String,int):System.Reflection.FieldInfo:this] mov gword ptr [ebp-7CH], eax mov edx, gword ptr [ebp-54H] push edx push 0 call [System.Type:get_DefaultBinder():System.Reflection.Binder] push eax push 0 mov edx, gword ptr [ebp-74H] mov ecx, gword ptr [ebp-7CH] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+34H] call [eax+04H]System.Reflection.FieldInfo:SetValue(System.Object,System.Object,int,System.Reflection.Binder,System.Globalization.CultureInfo):this jmp SHORT G_M000_IG28 G_M000_IG24: mov dword ptr [ebp-30H], edx mov gword ptr [ebp-6CH], ebx mov dword ptr [ebp-34H], edi jmp SHORT G_M000_IG29 G_M000_IG25: mov esi, eax cmp byte ptr [ebp-4CH], 0 jne SHORT G_M000_IG26 call [System.SR:get_RFLCT_InvalidFieldFail():System.String] mov edi, eax jmp SHORT G_M000_IG27 G_M000_IG26: call [System.SR:get_RFLCT_InvalidPropFail():System.String] mov edi, eax G_M000_IG27: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax mov ecx, edi mov edx, gword ptr [ebp-48H] call [System.SR:Format(System.String,System.Object):System.String] mov edx, eax push esi mov ecx, ebx call [System.Reflection.CustomAttributeFormatException:.ctor(System.String,System.Exception):this] mov ecx, ebx call CORINFO_HELP_THROW int3 G_M000_IG28: inc esi mov eax, dword ptr [ebp-44H] cmp esi, eax mov dword ptr [ebp-44H], eax jl SHORT G_M000_IG33 G_M000_IG29: mov esi, dword ptr [ebp-30H] cmp esi, dword ptr [ebp-34H] jne SHORT G_M000_IG35 push 0xD1FFAB1E mov ecx, bword ptr [ebp-68H] mov edx, gword ptr [ebp-74H] call [System.RuntimeType+ListBuilder`1[System.__Canon]:Add(System.__Canon):this] mov ebx, gword ptr [ebp-6CH] G_M000_IG30: mov edi, dword ptr [ebp-2CH] inc edi mov eax, gword ptr [ebp-70H] cmp dword ptr [eax+04H], edi mov ecx, eax mov esi, dword ptr [ebp+20H] jg SHORT G_M000_IG32 G_M000_IG31: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG32: mov eax, edi jmp G_M000_IG07 G_M000_IG33: mov edx, dword ptr [ebp-30H] mov ebx, gword ptr [ebp-6CH] mov edi, dword ptr [ebp-34H] jmp G_M000_IG12 G_M000_IG34: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.Reflection.CustomAttributeFormatException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG35: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.Reflection.CustomAttributeFormatException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 995 965: JIT compiled System.Reflection.CustomAttribute:AddCustomAttributes(byref,System.Reflection.RuntimeModule,int,System.RuntimeType,bool,System.RuntimeType+ListBuilder`1[System.Object]) [Tier1, IL size=512, code size=995] ; Assembly listing for method System.Reflection.RuntimeCustomAttributeData:GetCustomAttributeRecords(System.Reflection.RuntimeModule,int):System.Reflection.CustomAttributeRecord[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 52529 ; 1 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, 88 vxorps 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 dword ptr [ebp-10H], 0xD1FFAB1E mov esi, edx G_M000_IG02: cmp byte ptr [ecx], cl call System.ModuleHandle:_GetMetadataImport(System.Reflection.RuntimeModule):int mov edi, eax push esi lea ecx, [ebp-58H] push ecx mov ecx, edi mov edx, 0xD1FFAB1E call System.Reflection.MetadataImport:_Enum(int,int,int,byref) cmp dword ptr [ebp-54H], 0 jne SHORT G_M000_IG05 G_M000_IG03: mov eax, gword ptr [D1FFAB1EH] 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 G_M000_IG05: mov edx, dword ptr [ebp-54H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov esi, eax xor ebx, ebx mov eax, dword ptr [esi+04H] mov dword ptr [ebp-60H], eax test eax, eax jle SHORT G_M000_IG09 G_M000_IG06: cmp gword ptr [ebp-58H], 0 jne SHORT G_M000_IG11 G_M000_IG07: lea edx, bword ptr [ebp-50H] mov bword ptr [ebp-64H], edx mov ecx, bword ptr [ebp-64H] mov edx, dword ptr [ecx+4*ebx] G_M000_IG08: lea ecx, [ebx+2*ebx] lea eax, bword ptr [esi+4*ecx+10H] push eax lea ecx, bword ptr [esi+4*ecx+08H] push ecx mov ecx, edi call System.Reflection.MetadataImport:_GetCustomAttributeProps(int,int,byref,byref) inc ebx mov eax, dword ptr [ebp-60H] cmp eax, ebx jg SHORT G_M000_IG06 G_M000_IG09: mov eax, esi cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG10 call CORINFO_HELP_FAIL_FAST G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG11: mov ecx, gword ptr [ebp-58H] cmp ebx, dword ptr [ecx+04H] jae SHORT G_M000_IG12 mov edx, dword ptr [ecx+4*ebx+08H] jmp SHORT G_M000_IG08 G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 226 966: JIT compiled System.Reflection.RuntimeCustomAttributeData:GetCustomAttributeRecords(System.Reflection.RuntimeModule,int) [Tier1 with Static PGO, IL size=105, code size=226] ; Assembly listing for method System.Reflection.TypeNameParser:Parse():System.Type:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 3 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: mov ecx, esi call [System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this] mov edi, eax test edi, edi je G_M000_IG10 G_M000_IG03: xor ebx, ebx mov ecx, dword ptr [esi+10H] mov dword ptr [esi+14H], ecx mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jl SHORT G_M000_IG04 xor eax, eax jmp SHORT G_M000_IG05 G_M000_IG04: lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG14 mov eax, bword ptr [eax] movzx eax, word ptr [eax+2*ecx] G_M000_IG05: movzx ecx, ax call [System.Reflection.TypeNameParser:CharToToken(ushort):int] mov dword ptr [ebp-10H], eax test eax, eax je SHORT G_M000_IG06 cmp eax, 7 je SHORT G_M000_IG08 mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG07 inc ecx mov dword ptr [esi+10H], ecx mov eax, dword ptr [ebp-10H] G_M000_IG06: test eax, eax je SHORT G_M000_IG12 cmp eax, 3 je SHORT G_M000_IG09 mov ecx, esi call [System.Reflection.TypeNameParser:ParseError():this] jmp SHORT G_M000_IG10 G_M000_IG07: mov eax, dword ptr [ebp-10H] jmp SHORT G_M000_IG06 G_M000_IG08: mov eax, dword ptr [ebp-10H] jmp SHORT G_M000_IG06 G_M000_IG09: mov ecx, esi call [System.Reflection.TypeNameParser:CheckTopLevelAssemblyQualifiedName():bool:this] test eax, eax je SHORT G_M000_IG10 mov ecx, esi call [System.Reflection.TypeNameParser:GetNextAssemblyName():System.String:this] mov ebx, eax test ebx, ebx jne SHORT G_M000_IG12 G_M000_IG10: xor eax, eax G_M000_IG11: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG12: push ebx mov ecx, edi mov edx, esi mov eax, dword ptr [edi] mov eax, dword ptr [eax+28H] call [eax+10H]System.Reflection.TypeNameParser+TypeName:ResolveType(byref,System.String):System.Type:this G_M000_IG13: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG14: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 205 967: JIT compiled System.Reflection.TypeNameParser:Parse() [Tier1, IL size=67, code size=205] ; Assembly listing for method System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 15 inlinees with PGO data; 45 single block inlinees; 18 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: mov ecx, esi call [System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName():System.Reflection.TypeNameParser+TypeName:this] mov edi, eax test edi, edi jne SHORT G_M000_IG06 G_M000_IG03: xor eax, eax G_M000_IG04: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG05: inc dword ptr [esi+10H] G_M000_IG06: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG10 G_M000_IG07: mov ecx, dword ptr [esi+10H] lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG69 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG09 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG05 G_M000_IG08: jmp SHORT G_M000_IG10 G_M000_IG09: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG05 G_M000_IG10: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jl SHORT G_M000_IG12 G_M000_IG11: xor ecx, ecx jmp SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [esi+10H] lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG69 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] G_M000_IG13: movzx ecx, cx call [System.Reflection.TypeNameParser:CharToToken(ushort):int] mov ebx, eax test ebx, ebx je G_M000_IG67 cmp ebx, 5 je SHORT G_M000_IG15 cmp ebx, 6 je SHORT G_M000_IG23 cmp ebx, 1 jne G_M000_IG67 jmp G_M000_IG31 G_M000_IG14: inc dword ptr [esi+10H] G_M000_IG15: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG19 G_M000_IG16: mov ecx, dword ptr [esi+10H] lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG69 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG18 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG14 G_M000_IG17: jmp SHORT G_M000_IG19 G_M000_IG18: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG14 G_M000_IG19: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG21 G_M000_IG20: inc dword ptr [esi+10H] G_M000_IG21: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EDI mov dword ptr [eax+08H], -2 mov edi, eax jmp G_M000_IG06 G_M000_IG22: inc dword ptr [esi+10H] G_M000_IG23: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG27 G_M000_IG24: mov ecx, dword ptr [esi+10H] lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG69 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG26 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG22 G_M000_IG25: jmp SHORT G_M000_IG27 G_M000_IG26: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG22 G_M000_IG27: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG29 G_M000_IG28: inc dword ptr [esi+10H] G_M000_IG29: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EDI mov dword ptr [eax+08H], -3 mov edi, eax jmp G_M000_IG06 G_M000_IG30: inc dword ptr [esi+10H] G_M000_IG31: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG35 G_M000_IG32: mov ecx, dword ptr [esi+10H] lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG69 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG34 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG30 G_M000_IG33: jmp SHORT G_M000_IG35 G_M000_IG34: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG30 G_M000_IG35: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG37 G_M000_IG36: inc dword ptr [esi+10H] G_M000_IG37: mov ecx, dword ptr [esi+10H] mov dword ptr [esi+14H], ecx jmp SHORT G_M000_IG39 G_M000_IG38: inc dword ptr [esi+10H] G_M000_IG39: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG43 G_M000_IG40: mov ecx, dword ptr [esi+10H] lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG69 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG42 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG38 G_M000_IG41: jmp SHORT G_M000_IG43 G_M000_IG42: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG38 G_M000_IG43: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jl SHORT G_M000_IG45 G_M000_IG44: xor ecx, ecx jmp SHORT G_M000_IG46 G_M000_IG45: mov ecx, dword ptr [esi+10H] lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG69 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] G_M000_IG46: movzx ecx, cx call [System.Reflection.TypeNameParser:CharToToken(ushort):int] mov ebx, eax test ebx, ebx je SHORT G_M000_IG48 G_M000_IG47: cmp ebx, 7 je SHORT G_M000_IG48 mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG48 inc ecx mov dword ptr [esi+10H], ecx G_M000_IG48: cmp ebx, 5 jne SHORT G_M000_IG53 G_M000_IG49: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EDI mov dword ptr [eax+08H], 1 mov edi, eax mov ecx, dword ptr [esi+10H] mov dword ptr [esi+14H], ecx mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jl SHORT G_M000_IG50 xor eax, eax jmp SHORT G_M000_IG51 G_M000_IG50: lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG69 mov eax, bword ptr [eax] movzx eax, word ptr [eax+2*ecx] G_M000_IG51: movzx ecx, ax call [System.Reflection.TypeNameParser:CharToToken(ushort):int] mov ebx, eax test ebx, ebx je SHORT G_M000_IG52 cmp ebx, 7 je SHORT G_M000_IG52 mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG52 inc ecx mov dword ptr [esi+10H], ecx G_M000_IG52: jmp G_M000_IG64 G_M000_IG53: mov dword ptr [ebp-10H], 1 cmp ebx, 3 jne SHORT G_M000_IG56 G_M000_IG54: mov ecx, dword ptr [esi+10H] mov dword ptr [esi+14H], ecx mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jl SHORT G_M000_IG57 G_M000_IG55: xor ecx, ecx jmp SHORT G_M000_IG58 G_M000_IG56: mov eax, dword ptr [ebp-10H] jmp SHORT G_M000_IG61 G_M000_IG57: mov ecx, dword ptr [esi+10H] lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG69 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] G_M000_IG58: movzx ecx, cx call [System.Reflection.TypeNameParser:CharToToken(ushort):int] mov ebx, eax test ebx, ebx je SHORT G_M000_IG60 G_M000_IG59: cmp ebx, 7 je SHORT G_M000_IG60 mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG60 inc ecx mov dword ptr [esi+10H], ecx G_M000_IG60: mov eax, dword ptr [ebp-10H] inc eax cmp ebx, 3 je SHORT G_M000_IG62 G_M000_IG61: mov dword ptr [ebp-10H], eax cmp eax, 1 jne SHORT G_M000_IG63 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EDI mov dword ptr [eax+08H], -1 mov edi, eax jmp SHORT G_M000_IG64 G_M000_IG62: mov dword ptr [ebp-10H], eax jmp G_M000_IG54 G_M000_IG63: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EDI mov edi, dword ptr [ebp-10H] mov dword ptr [eax+08H], edi mov edi, eax G_M000_IG64: cmp ebx, 2 je G_M000_IG06 G_M000_IG65: mov ecx, esi call [System.Reflection.TypeNameParser:ParseError():this] xor eax, eax G_M000_IG66: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG67: mov eax, edi G_M000_IG68: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG69: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 934 968: JIT compiled System.Reflection.TypeNameParser:ParseNonQualifiedTypeName() [Tier1, IL size=163, code size=934] ; Assembly listing for method System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName():System.Reflection.TypeNameParser+TypeName:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 9 inlinees with PGO data; 16 single block inlinees; 8 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 ecx, esi call [System.Reflection.TypeNameParser:ParseNamedTypeName():System.Reflection.TypeNameParser+TypeName:this] mov edi, eax mov gword ptr [ebp-1CH], edi test edi, edi je G_M000_IG41 G_M000_IG03: mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jl SHORT G_M000_IG04 xor eax, eax jmp SHORT G_M000_IG05 G_M000_IG04: lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG47 mov eax, bword ptr [eax] movzx eax, word ptr [eax+2*ecx] G_M000_IG05: movzx ecx, ax call [System.Reflection.TypeNameParser:CharToToken(ushort):int] xor ebx, ebx cmp eax, 1 sete bl test ebx, ebx je SHORT G_M000_IG08 mov ecx, esi call [System.Reflection.TypeNameParser:get_PeekSecond():int:this] cmp eax, 1 je SHORT G_M000_IG06 cmp eax, 7 jne SHORT G_M000_IG07 G_M000_IG06: mov ebx, 1 jmp SHORT G_M000_IG08 G_M000_IG07: xor ebx, ebx G_M000_IG08: test ebx, ebx jne SHORT G_M000_IG09 mov eax, edi jmp G_M000_IG45 G_M000_IG09: mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG10 inc ecx mov dword ptr [esi+10H], ecx G_M000_IG10: mov ecx, 0xD1FFAB1E mov edx, 2 call CORINFO_HELP_NEWARR_1_OBJ mov ebx, eax xor eax, eax mov dword ptr [ebp-10H], eax G_M000_IG11: mov ecx, esi call [System.Reflection.TypeNameParser:ParseGenericTypeArgument():System.Reflection.TypeNameParser+TypeName:this] mov gword ptr [ebp-20H], eax test eax, eax je G_M000_IG41 mov edx, dword ptr [ebp-10H] cmp dword ptr [ebx+04H], edx jg SHORT G_M000_IG18 G_M000_IG12: mov dword ptr [ebp-10H], edx lea ecx, [edx+edx] mov dword ptr [ebp-14H], ecx test ecx, ecx jl G_M000_IG46 mov edi, ebx cmp dword ptr [edi+04H], ecx je SHORT G_M000_IG19 G_M000_IG13: mov edx, ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_OBJ mov ebx, eax lea ecx, bword ptr [ebx+08H] lea edx, bword ptr [edi+08H] mov eax, dword ptr [edi+04H] mov edi, dword ptr [ebp-14H] cmp edi, eax jg SHORT G_M000_IG20 G_M000_IG14: mov eax, edi G_M000_IG15: shl eax, 2 cmp eax, 0x4000 ja SHORT G_M000_IG24 G_M000_IG16: push eax call System.Buffer:__BulkMoveWithWriteBarrier(byref,byref,uint) G_M000_IG17: mov edx, dword ptr [ebp-10H] mov edi, gword ptr [ebp-1CH] G_M000_IG18: lea ecx, [edx+01H] mov dword ptr [ebp-10H], ecx push gword ptr [ebp-20H] mov ecx, ebx call CORINFO_HELP_ARRADDR_ST mov ecx, dword ptr [esi+10H] mov dword ptr [esi+14H], ecx jmp SHORT G_M000_IG22 G_M000_IG19: mov edx, dword ptr [ebp-10H] mov edi, gword ptr [ebp-1CH] jmp SHORT G_M000_IG18 G_M000_IG20: jmp SHORT G_M000_IG15 G_M000_IG21: inc dword ptr [esi+10H] G_M000_IG22: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG28 G_M000_IG23: jmp SHORT G_M000_IG25 G_M000_IG24: push eax call [System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,uint)] jmp SHORT G_M000_IG17 G_M000_IG25: mov ecx, dword ptr [esi+10H] lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG47 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG27 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG21 G_M000_IG26: jmp SHORT G_M000_IG28 G_M000_IG27: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG21 G_M000_IG28: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jl SHORT G_M000_IG30 G_M000_IG29: xor ecx, ecx jmp SHORT G_M000_IG31 G_M000_IG30: mov ecx, dword ptr [esi+10H] lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG47 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] G_M000_IG31: movzx ecx, cx call [System.Reflection.TypeNameParser:CharToToken(ushort):int] mov dword ptr [ebp-18H], eax test eax, eax je SHORT G_M000_IG39 G_M000_IG32: cmp eax, 7 je SHORT G_M000_IG33 jmp SHORT G_M000_IG35 G_M000_IG33: mov eax, dword ptr [ebp-18H] jmp SHORT G_M000_IG39 G_M000_IG34: inc dword ptr [esi+10H] G_M000_IG35: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG38 lea edx, bword ptr [esi+20H] cmp ecx, dword ptr [edx+04H] jae G_M000_IG47 mov edx, bword ptr [edx] movzx ecx, word ptr [edx+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG37 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG34 G_M000_IG36: jmp SHORT G_M000_IG38 G_M000_IG37: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG34 G_M000_IG38: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG43 inc ecx mov dword ptr [esi+10H], ecx mov eax, dword ptr [ebp-18H] G_M000_IG39: cmp eax, 2 je SHORT G_M000_IG44 cmp eax, 3 je G_M000_IG11 G_M000_IG40: mov ecx, esi call [System.Reflection.TypeNameParser:ParseError():this] G_M000_IG41: xor eax, eax G_M000_IG42: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG43: mov eax, dword ptr [ebp-18H] jmp SHORT G_M000_IG39 G_M000_IG44: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EDI lea edx, bword ptr [eax+08H] call CORINFO_HELP_ASSIGN_REF_EBX mov edi, dword ptr [ebp-10H] mov dword ptr [eax+0CH], edi G_M000_IG45: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG46: mov ecx, 71 mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] int3 G_M000_IG47: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 616 969: JIT compiled System.Reflection.TypeNameParser:ParseNamedOrConstructedGenericTypeName() [Tier1, IL size=154, code size=616] ; Assembly listing for method System.Reflection.TypeNameParser:ParseNamedTypeName():System.Reflection.TypeNameParser+TypeName:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 13 inlinees with PGO data; 28 single block inlinees; 10 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 36 mov esi, ecx G_M000_IG02: mov ecx, esi call [System.Reflection.TypeNameParser:GetNextIdentifier():System.String:this] mov edi, eax test edi, edi jne SHORT G_M000_IG05 G_M000_IG03: xor eax, eax G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: mov ecx, edi call [System.Reflection.TypeNameParser:g__ApplyLeadingDotCompatQuirk|25_0(System.String):System.String] mov edi, eax mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jl SHORT G_M000_IG06 xor eax, eax jmp SHORT G_M000_IG07 G_M000_IG06: lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG43 mov eax, bword ptr [eax] movzx eax, word ptr [eax+2*ecx] G_M000_IG07: movzx ecx, ax call [System.Reflection.TypeNameParser:CharToToken(ushort):int] cmp eax, 4 jne G_M000_IG39 mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_OBJ mov ebx, eax xor eax, eax mov dword ptr [ebp-10H], eax jmp SHORT G_M000_IG09 G_M000_IG08: inc dword ptr [esi+10H] G_M000_IG09: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG12 lea edx, bword ptr [esi+20H] cmp ecx, dword ptr [edx+04H] jae G_M000_IG43 mov edx, bword ptr [edx] movzx ecx, word ptr [edx+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG11 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG08 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG08 G_M000_IG12: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG13 inc ecx mov dword ptr [esi+10H], ecx G_M000_IG13: mov ecx, esi call [System.Reflection.TypeNameParser:GetNextIdentifier():System.String:this] mov edx, eax test edx, edx jne SHORT G_M000_IG15 xor eax, eax G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG15: cmp word ptr [edx+08H], 46 jne SHORT G_M000_IG16 cmp dword ptr [edx+04H], 1 jb G_M000_IG41 lea ecx, bword ptr [edx+0AH] mov gword ptr [ebp-20H], edx mov eax, dword ptr [edx+04H] dec eax mov dword ptr [ebp-1CH], eax push eax mov edx, 46 call [System.PackedSpanHelpers:Contains(byref,short,int):bool] test eax, eax mov edx, gword ptr [ebp-20H] je SHORT G_M000_IG17 G_M000_IG16: jmp SHORT G_M000_IG19 G_M000_IG17: mov eax, dword ptr [ebp-1CH] mov dword ptr [ebp-14H], eax test eax, eax je G_M000_IG34 G_M000_IG18: mov gword ptr [ebp-20H], edx mov ecx, eax call System.String:FastAllocateString(int):System.String mov edx, eax mov gword ptr [ebp-24H], edx cmp byte ptr [edx], dl lea ecx, bword ptr [edx+08H] mov eax, gword ptr [ebp-20H] add eax, 10 mov bword ptr [ebp-28H], eax mov eax, dword ptr [ebp-14H] add eax, eax push eax mov edx, bword ptr [ebp-28H] call [System.Buffer:Memmove(byref,byref,uint)] mov edx, gword ptr [ebp-24H] G_M000_IG19: mov gword ptr [ebp-20H], edx mov ecx, dword ptr [ebp-10H] cmp dword ptr [ebx+04H], ecx jg SHORT G_M000_IG25 mov dword ptr [ebp-10H], ecx lea edx, [ecx+ecx] mov dword ptr [ebp-18H], edx test edx, edx jl G_M000_IG42 mov ecx, ebx mov gword ptr [ebp-2CH], ecx cmp dword ptr [ecx+04H], edx je SHORT G_M000_IG26 G_M000_IG20: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_OBJ mov ebx, eax mov gword ptr [ebp-30H], ebx lea ecx, bword ptr [ebx+08H] mov edx, gword ptr [ebp-2CH] lea eax, bword ptr [edx+08H] mov edx, dword ptr [edx+04H] mov ebx, dword ptr [ebp-18H] cmp ebx, edx jg SHORT G_M000_IG27 G_M000_IG21: mov edx, ebx G_M000_IG22: shl edx, 2 cmp edx, 0x4000 ja G_M000_IG35 G_M000_IG23: push edx mov edx, eax call System.Buffer:__BulkMoveWithWriteBarrier(byref,byref,uint) G_M000_IG24: mov ebx, gword ptr [ebp-30H] mov ecx, dword ptr [ebp-10H] G_M000_IG25: lea edx, [ecx+01H] mov dword ptr [ebp-10H], edx cmp ecx, dword ptr [ebx+04H] jae G_M000_IG43 lea edx, bword ptr [ebx+4*ecx+08H] mov eax, gword ptr [ebp-20H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG29 G_M000_IG26: mov ecx, dword ptr [ebp-10H] jmp SHORT G_M000_IG25 G_M000_IG27: jmp SHORT G_M000_IG22 G_M000_IG28: inc dword ptr [esi+10H] G_M000_IG29: mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jge SHORT G_M000_IG30 lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG43 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG36 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG28 G_M000_IG30: mov eax, dword ptr [esi+10H] cmp eax, dword ptr [esi+24H] jl SHORT G_M000_IG38 G_M000_IG31: xor ecx, ecx G_M000_IG32: movzx ecx, cx call [System.Reflection.TypeNameParser:CharToToken(ushort):int] cmp eax, 4 je G_M000_IG09 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EDI lea edx, bword ptr [eax+08H] call CORINFO_HELP_ASSIGN_REF_EBX mov esi, dword ptr [ebp-10H] mov dword ptr [eax+0CH], esi G_M000_IG33: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG34: mov edx, 0xD1FFAB1E jmp G_M000_IG19 G_M000_IG35: push edx mov edx, eax call [System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,uint)] jmp G_M000_IG24 G_M000_IG36: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne G_M000_IG28 G_M000_IG37: jmp SHORT G_M000_IG30 G_M000_IG38: lea ecx, bword ptr [esi+20H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG43 mov ecx, bword ptr [ecx] movzx ecx, word ptr [ecx+2*eax] jmp SHORT G_M000_IG32 G_M000_IG39: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_EDI G_M000_IG40: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG41: mov ecx, 33 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int)] int3 G_M000_IG42: mov ecx, 71 mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] int3 G_M000_IG43: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 701 970: JIT compiled System.Reflection.TypeNameParser:ParseNamedTypeName() [Tier1, IL size=111, code size=701] ; Assembly listing for method System.Reflection.TypeNameParser:GetNextIdentifier():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 12 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 28 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-24H], 0xD1FFAB1E mov esi, ecx G_M000_IG02: mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, -128 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 ecx, [esp] mov dword ptr [ebp-10H], esp xor eax, eax mov gword ptr [ebp-20H], eax mov bword ptr [ebp-18H], ecx mov dword ptr [ebp-14H], 64 G_M000_IG04: mov dword ptr [ebp-1CH], eax mov edi, dword ptr [esi+10H] G_M000_IG05: cmp edi, dword ptr [esi+24H] jge G_M000_IG16 G_M000_IG06: lea ecx, bword ptr [esi+20H] cmp edi, dword ptr [ecx+04H] jae G_M000_IG20 mov ecx, bword ptr [ecx] movzx ebx, word ptr [ecx+2*edi] mov ecx, ebx call [System.Reflection.TypeNameParser:CharToToken(ushort):int] cmp eax, 7 jne G_M000_IG16 inc edi cmp ebx, 92 jne SHORT G_M000_IG12 G_M000_IG07: lea ecx, [edi-01H] mov dword ptr [esi+14H], ecx cmp edi, dword ptr [esi+24H] jl SHORT G_M000_IG08 xor ecx, ecx jmp SHORT G_M000_IG09 G_M000_IG08: mov ecx, edi lea edi, [ecx+01H] lea edx, bword ptr [esi+20H] cmp ecx, dword ptr [edx+04H] jae G_M000_IG20 mov edx, bword ptr [edx] movzx ecx, word ptr [edx+2*ecx] G_M000_IG09: movzx ebx, cx mov ecx, 0xD1FFAB1E add ecx, 8 movsx edx, bx movzx eax, dx dec eax cmp eax, 254 jae SHORT G_M000_IG10 push 7 call [System.PackedSpanHelpers:Contains(byref,short,int):bool] jmp SHORT G_M000_IG11 G_M000_IG10: push 7 call [System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):bool] G_M000_IG11: test eax, eax je SHORT G_M000_IG14 G_M000_IG12: mov ecx, dword ptr [ebp-1CH] mov edx, bword ptr [ebp-18H] mov eax, dword ptr [ebp-14H] cmp ecx, eax jae SHORT G_M000_IG13 mov word ptr [edx+2*ecx], bx inc ecx mov dword ptr [ebp-1CH], ecx jmp G_M000_IG05 G_M000_IG13: lea ecx, [ebp-20H] mov edx, ebx call [System.Text.ValueStringBuilder:GrowAndAppend(ushort):this] jmp G_M000_IG05 G_M000_IG14: mov ecx, esi call [System.Reflection.TypeNameParser:ParseError():this] xor eax, eax cmp dword ptr [ebp-24H], 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 G_M000_IG16: mov dword ptr [esi+10H], edi cmp dword ptr [ebp-1CH], 0 jne SHORT G_M000_IG18 mov dword ptr [esi+14H], edi mov ecx, esi call [System.Reflection.TypeNameParser:ParseError():this] xor eax, eax cmp dword ptr [ebp-24H], 0xD1FFAB1E je SHORT G_M000_IG17 call CORINFO_HELP_FAIL_FAST G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG18: lea ecx, [ebp-20H] call [System.Text.ValueStringBuilder:ToString():System.String:this] cmp dword ptr [ebp-24H], 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 G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 380 971: JIT compiled System.Reflection.TypeNameParser:GetNextIdentifier() [Tier1, IL size=202, code size=380] ; Assembly listing for method System.Reflection.TypeNameParser:g__ApplyLeadingDotCompatQuirk|25_0(System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 4 inlinees with PGO data; 9 single block inlinees; 3 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 word ptr [esi+08H], 46 jne SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [esi+04H], 1 jb SHORT G_M000_IG10 lea ecx, bword ptr [esi+0AH] mov edi, dword ptr [esi+04H] dec edi mov edx, edi push edx mov edx, 46 call [System.PackedSpanHelpers:Contains(byref,short,int):bool] test eax, eax je SHORT G_M000_IG06 G_M000_IG04: mov eax, esi G_M000_IG05: pop ebx pop esi pop edi pop ebp ret G_M000_IG06: test edi, edi je SHORT G_M000_IG09 G_M000_IG07: mov ecx, edi call System.String:FastAllocateString(int):System.String mov ebx, eax cmp byte ptr [ebx], bl lea ecx, bword ptr [ebx+08H] lea edx, bword ptr [esi+0AH] add edi, edi push edi call [System.Buffer:Memmove(byref,byref,uint)] mov eax, ebx G_M000_IG08: pop ebx pop esi pop edi pop ebp ret G_M000_IG09: mov eax, 0xD1FFAB1E jmp SHORT G_M000_IG08 G_M000_IG10: mov ecx, 33 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int)] int3 ; Total bytes of code 109 972: JIT compiled System.Reflection.TypeNameParser:g__ApplyLeadingDotCompatQuirk|25_0(System.String) [Tier1, IL size=36, code size=109] ; Assembly listing for method System.Reflection.TypeNameParser:GetNextToken():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: mov ecx, dword ptr [esi+10H] mov dword ptr [esi+14H], ecx mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov ecx, dword ptr [esi+10H] cmp ecx, dword ptr [esi+24H] jl SHORT G_M000_IG04 G_M000_IG03: xor ecx, ecx jmp SHORT G_M000_IG05 G_M000_IG04: mov ecx, dword ptr [esi+10H] lea eax, bword ptr [esi+20H] cmp ecx, dword ptr [eax+04H] jae SHORT G_M000_IG12 mov eax, bword ptr [eax] movzx ecx, word ptr [eax+2*ecx] G_M000_IG05: movzx ecx, cx call [System.Reflection.TypeNameParser:CharToToken(ushort):int] mov edi, eax test edi, edi je SHORT G_M000_IG07 G_M000_IG06: cmp edi, 7 jne SHORT G_M000_IG09 G_M000_IG07: mov eax, edi G_M000_IG08: pop esi pop edi pop ebp ret G_M000_IG09: mov ecx, esi call [System.Reflection.TypeNameParser:SkipWhiteSpace():this] mov eax, dword ptr [esi+10H] cmp eax, dword ptr [esi+24H] jge SHORT G_M000_IG10 inc eax mov dword ptr [esi+10H], eax G_M000_IG10: mov eax, edi G_M000_IG11: pop esi pop edi pop ebp ret G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 108 973: JIT compiled System.Reflection.TypeNameParser:GetNextToken() [Tier1, IL size=36, code size=108] ; Assembly listing for method System.Reflection.TypeNameParser+NamespaceTypeName:ResolveType(byref,System.String):System.Type:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, gword ptr [ecx+04H] xor ecx, ecx push 0 push ecx push gword ptr [esp+04H+0CH] mov ecx, edx mov edx, eax call [System.Reflection.TypeNameParser:GetType(System.String,System.ReadOnlySpan`1[System.String],System.String):System.Type:this] G_M000_IG03: ret 4 ; Total bytes of code 25 974: JIT compiled System.Reflection.TypeNameParser+NamespaceTypeName:ResolveType(byref,System.String) [Tier1, IL size=23, code size=25] ; Assembly listing for method System.Reflection.TypeNameParser:GetType(System.String,System.ReadOnlySpan`1[System.String],System.String):System.Type:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 mov esi, ecx mov edi, edx mov edx, gword ptr [ebp+08H] G_M000_IG02: test edx, edx je SHORT G_M000_IG04 G_M000_IG03: mov ecx, esi call [System.Reflection.TypeNameParser:ResolveAssembly(System.String):System.Reflection.Assembly:this] mov ebx, eax test ebx, ebx jne SHORT G_M000_IG05 jmp SHORT G_M000_IG06 G_M000_IG04: mov ebx, gword ptr [esi+0CH] G_M000_IG05: cmp gword ptr [esi+04H], 0 je SHORT G_M000_IG08 mov ecx, edi call [System.Reflection.TypeNameParser:EscapeTypeName(System.String):System.String] mov edx, gword ptr [esi+04H] mov gword ptr [ebp-20H], edx mov gword ptr [ebp-18H], eax push eax movzx ecx, byte ptr [esi+19H] push ecx mov ecx, gword ptr [edx+04H] mov edx, ebx mov eax, gword ptr [ebp-20H] call [eax+0CH]System.Func`4[System.__Canon,System.__Canon,bool,System.__Canon]:Invoke(System.__Canon,System.__Canon,bool):System.__Canon:this test eax, eax jne G_M000_IG15 cmp byte ptr [esi+18H], 0 jne G_M000_IG26 G_M000_IG06: xor eax, eax G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG08: test ebx, ebx jne SHORT G_M000_IG10 cmp byte ptr [esi+1BH], 0 je SHORT G_M000_IG09 cmp byte ptr [esi+18H], 0 jne G_M000_IG29 jmp SHORT G_M000_IG06 G_M000_IG09: push dword ptr [ebp+10H] push bword ptr [ebp+0CH] mov ecx, esi mov edx, edi call [System.Reflection.TypeNameParser:GetTypeFromDefaultAssemblies(System.String,System.ReadOnlySpan`1[System.String]):System.Type:this] jmp G_M000_IG19 G_M000_IG10: mov ecx, ebx cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG13 cmp byte ptr [esi+1AH], 0 je SHORT G_M000_IG11 movzx ebx, byte ptr [esi+19H] test ebx, ebx jne SHORT G_M000_IG12 G_M000_IG11: push dword ptr [ebp+10H] push bword ptr [ebp+0CH] movzx edx, byte ptr [esi+18H] push edx movzx ebx, byte ptr [esi+19H] push ebx mov edx, edi cmp dword ptr [ecx], ecx call [System.Reflection.RuntimeAssembly:GetTypeCore(System.String,System.ReadOnlySpan`1[System.String],bool,bool):System.Type:this] jmp G_M000_IG19 G_M000_IG12: xor edx, edx push 0 push edx movzx edx, byte ptr [esi+18H] push edx push ebx mov edx, edi cmp dword ptr [ecx], ecx call [System.Reflection.RuntimeAssembly:GetTypeCore(System.String,System.ReadOnlySpan`1[System.String],bool,bool):System.Type:this] jmp SHORT G_M000_IG14 G_M000_IG13: mov gword ptr [ebp-14H], edi mov ecx, edi call [System.Reflection.TypeNameParser:EscapeTypeName(System.String):System.String] mov edx, eax movzx ecx, byte ptr [esi+18H] push ecx movzx ecx, byte ptr [esi+19H] push ecx mov ecx, ebx mov eax, dword ptr [ebx] mov eax, dword ptr [eax+34H] call [eax+04H]System.Reflection.Assembly:GetType(System.String,bool,bool):System.Type:this mov edi, gword ptr [ebp-14H] G_M000_IG14: test eax, eax je G_M000_IG06 G_M000_IG15: xor ebx, ebx mov ecx, dword ptr [ebp+10H] mov dword ptr [ebp-10H], ecx test ecx, ecx jle SHORT G_M000_IG19 G_M000_IG16: mov edx, 48 cmp byte ptr [esi+19H], 0 je SHORT G_M000_IG21 G_M000_IG17: mov edx, 49 mov gword ptr [ebp-14H], edi G_M000_IG18: mov edi, bword ptr [ebp+0CH] mov edi, gword ptr [edi+4*ebx] push edx mov edx, edi mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+50H] call [eax+08H]System.Type:GetNestedType(System.String,int):System.Type:this test eax, eax je SHORT G_M000_IG22 inc ebx mov edi, dword ptr [ebp-10H] cmp ebx, edi mov dword ptr [ebp-10H], edi jl SHORT G_M000_IG20 G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG20: mov edi, gword ptr [ebp-14H] jmp SHORT G_M000_IG16 G_M000_IG21: mov gword ptr [ebp-14H], edi jmp SHORT G_M000_IG18 G_M000_IG22: cmp byte ptr [esi+18H], 0 je G_M000_IG06 G_M000_IG23: mov esi, dword ptr [ebp-10H] mov edi, gword ptr [ebp-14H] mov ecx, 0xD1FFAB1E call [System.SR:GetResourceString(System.String):System.String] mov ecx, bword ptr [ebp+0CH] mov edx, gword ptr [ecx+4*ebx] test ebx, ebx jg SHORT G_M000_IG24 mov esi, eax mov ebx, edx jmp SHORT G_M000_IG25 G_M000_IG24: mov edi, eax mov eax, edx lea ecx, [ebx-01H] cmp ecx, esi jae G_M000_IG30 mov ecx, bword ptr [ebp+0CH] mov ecx, gword ptr [ecx+4*ebx-04H] mov esi, ecx mov ebx, eax mov ecx, esi mov esi, edi mov edi, ecx G_M000_IG25: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-1CH], eax push edi mov ecx, esi mov edx, ebx call [System.SR:Format(System.String,System.Object,System.Object):System.String] mov edx, eax mov ecx, gword ptr [ebp-1CH] call [System.TypeLoadException:.ctor(System.String):this] mov ecx, gword ptr [ebp-1CH] call CORINFO_HELP_THROW G_M000_IG26: mov edi, gword ptr [ebp-18H] test ebx, ebx je SHORT G_M000_IG27 mov ecx, 0xD1FFAB1E call [System.SR:GetResourceString(System.String):System.String] mov esi, eax mov ecx, ebx mov eax, dword ptr [ebx] mov eax, dword ptr [eax+2CH] call [eax+0CH]System.Reflection.Assembly:get_FullName():System.String:this push eax mov ecx, esi mov edx, edi call [System.SR:Format(System.String,System.Object,System.Object):System.String] mov esi, eax jmp SHORT G_M000_IG28 G_M000_IG27: call [System.SR:get_TypeLoad_ResolveType():System.String] mov ecx, eax mov edx, edi call [System.SR:Format(System.String,System.Object):System.String] mov esi, eax G_M000_IG28: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov ecx, edi mov edx, esi call [System.TypeLoadException:.ctor(System.String):this] mov ecx, edi call CORINFO_HELP_THROW G_M000_IG29: call [System.SR:get_TypeLoad_ResolveType():System.String] mov esi, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax mov ecx, edi call [System.Reflection.TypeNameParser:EscapeTypeName(System.String):System.String] mov edx, eax mov ecx, esi call [System.SR:Format(System.String,System.Object):System.String] mov edx, eax mov ecx, ebx call [System.TypeLoadException:.ctor(System.String):this] mov ecx, ebx call CORINFO_HELP_THROW G_M000_IG30: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 630 975: JIT compiled System.Reflection.TypeNameParser:GetType(System.String,System.ReadOnlySpan`1[System.String],System.String) [Tier1, IL size=394, code size=630] ; Assembly listing for method System.Reflection.CustomAttribute:CreateAttributeArrayHelper(System.RuntimeType,int):System.Object[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 41423 ; 9 inlinees with PGO data; 14 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 G_M000_IG02: xor ebx, ebx cmp esi, 0xD1FFAB1E je G_M000_IG23 G_M000_IG03: mov ecx, dword ptr [esi+0CH] test cl, 2 jne G_M000_IG41 mov ecx, dword ptr [ecx] and ecx, 0xD1FFAB1E xor eax, eax cmp ecx, 0xD1FFAB1E sete al G_M000_IG04: test eax, eax jne G_M000_IG22 mov ecx, esi G_M000_IG05: cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG36 mov gword ptr [ebp-10H], ecx call System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte cmp eax, 20 je G_M000_IG34 G_M000_IG06: cmp eax, 29 je G_M000_IG34 G_M000_IG07: cmp eax, 15 je G_M000_IG34 G_M000_IG08: cmp eax, 16 sete al movzx eax, al G_M000_IG09: test eax, eax jne G_M000_IG29 G_M000_IG10: mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG37 G_M000_IG11: test ecx, ecx je G_M000_IG42 call System.RuntimeTypeHandle:ContainsGenericVariables(System.RuntimeType):bool test eax, eax jne G_M000_IG38 G_M000_IG12: test ebx, ebx jne G_M000_IG39 test edi, edi jne SHORT G_M000_IG17 G_M000_IG13: cmp dword ptr [esi+08H], 0 je SHORT G_M000_IG21 G_M000_IG14: mov ecx, dword ptr [esi+08H] mov edi, gword ptr [ecx] test edi, edi je SHORT G_M000_IG21 G_M000_IG15: mov eax, gword ptr [edi+40H] test eax, eax je SHORT G_M000_IG25 G_M000_IG16: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG17: mov ecx, esi mov edx, edi call [System.Array:CreateInstance(System.Type,int):System.Array] mov edx, eax test edx, edx je SHORT G_M000_IG20 G_M000_IG18: mov ecx, 0xD1FFAB1E cmp dword ptr [edx], ecx je SHORT G_M000_IG20 G_M000_IG19: mov edx, eax call [CORINFO_HELP_CHKCASTARRAY] mov edx, eax G_M000_IG20: mov eax, edx jmp SHORT G_M000_IG16 G_M000_IG21: mov ecx, esi call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] mov edi, eax jmp SHORT G_M000_IG15 G_M000_IG22: mov ebx, 1 jmp SHORT G_M000_IG12 G_M000_IG23: test edi, edi je SHORT G_M000_IG32 G_M000_IG24: mov edx, edi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_OBJ jmp SHORT G_M000_IG33 G_M000_IG25: mov ecx, gword ptr [edi+04H] xor edx, edx call [System.Array:CreateInstance(System.Type,int):System.Array] mov ecx, eax test ecx, ecx je SHORT G_M000_IG28 G_M000_IG26: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx je SHORT G_M000_IG28 G_M000_IG27: mov ecx, edx mov edx, eax call [CORINFO_HELP_CHKCASTARRAY] mov ecx, eax G_M000_IG28: lea edx, bword ptr [edi+40H] call CORINFO_HELP_ASSIGN_REF_ECX mov eax, ecx jmp G_M000_IG16 G_M000_IG29: mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG35 G_M000_IG30: call System.RuntimeTypeHandle:GetElementType(System.RuntimeType):System.RuntimeType G_M000_IG31: mov ecx, eax jmp G_M000_IG05 G_M000_IG32: mov ecx, 0xD1FFAB1E mov edx, 50 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov eax, gword ptr [D1FFAB1EH] G_M000_IG33: jmp G_M000_IG16 G_M000_IG34: mov eax, 1 jmp G_M000_IG09 G_M000_IG35: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+04H]System.Type:GetElementType():System.Type:this jmp SHORT G_M000_IG31 G_M000_IG36: mov gword ptr [ebp-10H], ecx mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax]System.Type:HasElementTypeImpl():bool:this jmp G_M000_IG09 G_M000_IG37: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+54H] call [eax+04H]System.Type:get_TypeHandle():System.RuntimeTypeHandle:this mov ecx, eax jmp G_M000_IG11 G_M000_IG38: mov ecx, esi mov edx, 0xD1FFAB1E call [System.RuntimeType:IsSubclassOf(System.Type):bool:this] test eax, eax jne G_M000_IG23 jmp G_M000_IG22 G_M000_IG39: test edi, edi je SHORT G_M000_IG40 mov edx, edi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_OBJ jmp G_M000_IG16 G_M000_IG40: mov ecx, 0xD1FFAB1E mov edx, 51 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov eax, gword ptr [D1FFAB1EH] jmp G_M000_IG16 G_M000_IG41: mov ecx, esi mov edx, 0xD1FFAB1E call [System.RuntimeType:IsSubclassOf(System.Type):bool:this] jmp G_M000_IG04 G_M000_IG42: 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 int3 ; Total bytes of code 560 976: JIT compiled System.Reflection.CustomAttribute:CreateAttributeArrayHelper(System.RuntimeType,int) [Tier1 with Static PGO, IL size=134, code size=560] ; Assembly listing for method System.Reflection.TypeNameParser:GetTypeHelper(uint,System.Reflection.RuntimeAssembly,bool,bool):System.RuntimeType ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 10 inlinees with PGO data; 20 single block inlinees; 11 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 60 vxorps 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 esi, edx mov edx, ecx G_M000_IG02: lea ecx, [ebp-14H] call [System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(uint):System.ReadOnlySpan`1[ushort]] cmp dword ptr [ebp-10H], 0 jne SHORT G_M000_IG05 G_M000_IG03: cmp byte ptr [ebp+0CH], 0 jne G_M000_IG45 xor eax, eax G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov ecx, bword ptr [ebp-14H] mov eax, dword ptr [ebp-10H] xor edx, edx mov gword ptr [ebp-3CH], edx G_M000_IG06: mov gword ptr [ebp-38H], edx mov byte ptr [ebp-24H], 0 mov byte ptr [ebp-23H], 0 mov byte ptr [ebp-22H], 0 mov byte ptr [ebp-21H], 0 mov byte ptr [ebp-20H], 0 G_M000_IG07: mov gword ptr [ebp-34H], edx G_M000_IG08: mov gword ptr [ebp-30H], edx mov bword ptr [ebp-1CH], ecx mov dword ptr [ebp-18H], eax G_M000_IG09: mov dword ptr [ebp-2CH], edx G_M000_IG10: mov dword ptr [ebp-28H], edx mov gword ptr [ebp-34H], esi mov ebx, dword ptr [ebp+0CH] mov byte ptr [ebp-24H], bl mov byte ptr [ebp-20H], 1 mov ebx, dword ptr [ebp+08H] mov byte ptr [ebp-21H], bl lea ecx, [ebp-3CH] call [System.Reflection.TypeNameParser:ParseNonQualifiedTypeName():System.Reflection.TypeNameParser+TypeName:this] mov edi, eax test edi, edi jne SHORT G_M000_IG12 G_M000_IG11: xor edx, edx jmp G_M000_IG40 G_M000_IG12: xor ebx, ebx mov ecx, dword ptr [ebp-2CH] mov dword ptr [ebp-28H], ecx jmp SHORT G_M000_IG14 G_M000_IG13: mov ecx, dword ptr [ebp-2CH] inc ecx mov dword ptr [ebp-2CH], ecx G_M000_IG14: mov ecx, dword ptr [ebp-2CH] mov eax, dword ptr [ebp-18H] cmp ecx, eax jge SHORT G_M000_IG17 cmp ecx, eax jae G_M000_IG49 mov eax, bword ptr [ebp-1CH] movzx ecx, word ptr [eax+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG16 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG13 G_M000_IG15: jmp SHORT G_M000_IG17 G_M000_IG16: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG13 G_M000_IG17: mov ecx, dword ptr [ebp-2CH] cmp ecx, dword ptr [ebp-18H] jl SHORT G_M000_IG18 xor ecx, ecx jmp SHORT G_M000_IG19 G_M000_IG18: mov ecx, dword ptr [ebp-2CH] cmp ecx, dword ptr [ebp-18H] jae G_M000_IG49 mov eax, bword ptr [ebp-1CH] movzx ecx, word ptr [eax+2*ecx] G_M000_IG19: movzx ecx, cx call [System.Reflection.TypeNameParser:CharToToken(ushort):int] mov dword ptr [ebp-40H], eax test eax, eax je SHORT G_M000_IG26 cmp eax, 7 je SHORT G_M000_IG20 jmp SHORT G_M000_IG22 G_M000_IG20: mov eax, dword ptr [ebp-40H] jmp SHORT G_M000_IG26 G_M000_IG21: mov ecx, dword ptr [ebp-2CH] inc ecx mov dword ptr [ebp-2CH], ecx G_M000_IG22: mov ecx, dword ptr [ebp-2CH] mov edx, dword ptr [ebp-18H] cmp ecx, edx jge SHORT G_M000_IG25 cmp ecx, edx jae G_M000_IG49 mov edx, bword ptr [ebp-1CH] movzx ecx, word ptr [edx+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG24 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG21 G_M000_IG23: jmp SHORT G_M000_IG25 G_M000_IG24: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG21 G_M000_IG25: mov ecx, dword ptr [ebp-2CH] cmp ecx, dword ptr [ebp-18H] jge SHORT G_M000_IG27 mov ecx, dword ptr [ebp-2CH] inc ecx mov dword ptr [ebp-2CH], ecx mov eax, dword ptr [ebp-40H] G_M000_IG26: test eax, eax je G_M000_IG39 cmp eax, 3 je SHORT G_M000_IG28 lea ecx, [ebp-3CH] call [System.Reflection.TypeNameParser:ParseError():this] jmp G_M000_IG11 G_M000_IG27: mov eax, dword ptr [ebp-40H] jmp SHORT G_M000_IG26 G_M000_IG28: cmp gword ptr [ebp-30H], 0 je SHORT G_M000_IG30 cmp byte ptr [ebp-24H], 0 jne G_M000_IG46 jmp G_M000_IG11 G_M000_IG29: mov ecx, dword ptr [ebp-2CH] inc ecx mov dword ptr [ebp-2CH], ecx G_M000_IG30: mov ecx, dword ptr [ebp-2CH] mov eax, dword ptr [ebp-18H] cmp ecx, eax jge SHORT G_M000_IG33 cmp ecx, eax jae G_M000_IG49 mov eax, bword ptr [ebp-1CH] movzx ecx, word ptr [eax+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG32 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG29 G_M000_IG31: jmp SHORT G_M000_IG33 G_M000_IG32: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG29 G_M000_IG33: mov ecx, dword ptr [ebp-2CH] cmp ecx, dword ptr [ebp-18H] jl SHORT G_M000_IG34 xor ecx, ecx jmp SHORT G_M000_IG35 G_M000_IG34: mov ecx, dword ptr [ebp-2CH] cmp ecx, dword ptr [ebp-18H] jae G_M000_IG49 mov eax, bword ptr [ebp-1CH] movzx ecx, word ptr [eax+2*ecx] G_M000_IG35: movzx ecx, cx call [System.Reflection.TypeNameParser:CharToToken(ushort):int] test eax, eax je SHORT G_M000_IG36 cmp eax, 3 jne SHORT G_M000_IG37 G_M000_IG36: lea ecx, [ebp-3CH] call [System.Reflection.TypeNameParser:ParseError():this] xor ebx, ebx jmp SHORT G_M000_IG38 G_M000_IG37: mov ecx, dword ptr [ebp-2CH] cmp ecx, dword ptr [ebp-18H] ja G_M000_IG47 mov eax, bword ptr [ebp-1CH] lea eax, bword ptr [eax+2*ecx] mov edx, dword ptr [ebp-18H] sub edx, ecx mov bword ptr [ebp-48H], eax mov dword ptr [ebp-44H], edx lea ecx, [ebp-48H] call [System.ReadOnlySpan`1[ushort]:ToString():System.String:this] mov ebx, eax mov edx, dword ptr [ebp-18H] mov dword ptr [ebp-2CH], edx G_M000_IG38: test ebx, ebx je G_M000_IG11 G_M000_IG39: push ebx lea edx, [ebp-3CH] mov ecx, edi mov eax, dword ptr [edi] mov eax, dword ptr [eax+28H] call [eax+10H]System.Reflection.TypeNameParser+TypeName:ResolveType(byref,System.String):System.Type:this mov edx, eax G_M000_IG40: mov edi, edx test edi, edi je SHORT G_M000_IG42 G_M000_IG41: mov ecx, 0xD1FFAB1E cmp dword ptr [edi], ecx jne SHORT G_M000_IG48 G_M000_IG42: test edi, edi je SHORT G_M000_IG43 mov ecx, edi mov edx, esi call [System.RuntimeTypeHandle:RegisterCollectibleTypeDependency(System.RuntimeType,System.Reflection.RuntimeAssembly)] G_M000_IG43: mov eax, edi G_M000_IG44: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG45: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Arg_TypeLoadNullStr():System.String] mov edx, eax mov ecx, esi call [System.TypeLoadException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG46: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_Argument_AssemblyGetTypeCannotSpecifyAssembly():System.String] mov edx, eax mov ecx, esi call [System.ArgumentException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG47: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG48: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG49: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 759 977: JIT compiled System.Reflection.TypeNameParser:GetTypeHelper(uint,System.Reflection.RuntimeAssembly,bool,bool) [Tier1, IL size=103, code size=759] ; Assembly listing for method System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(uint):System.ReadOnlySpan`1[ushort] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 6820 ; 1 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 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi je SHORT G_M000_IG04 mov ecx, esi call [System.SpanHelpers:IndexOfNullCharacter(uint):int] test eax, eax jl SHORT G_M000_IG06 mov bword ptr [edi], esi mov dword ptr [edi+04H], eax G_M000_IG03: pop esi pop edi pop ebp ret G_M000_IG04: xor eax, eax mov dword ptr [edi], eax mov dword ptr [edi+04H], eax G_M000_IG05: pop esi pop edi pop ebp ret G_M000_IG06: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 52 978: JIT compiled System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(uint) [Tier1 with Static PGO, IL size=28, code size=52] ; Assembly listing for method System.RuntimeTypeHandle:RegisterCollectibleTypeDependency(System.RuntimeType,System.Reflection.RuntimeAssembly) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 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, 56 mov gword ptr [ebp-10H], ecx mov gword ptr [ebp-14H], edx G_M000_IG02: lea edi, [ebp-40H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-2CH], eax xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], eax lea eax, [ebp-10H] mov dword ptr [ebp-1CH], eax mov eax, gword ptr [ebp-10H] lea edi, bword ptr [ebp-1CH] test eax, eax je SHORT G_M000_IG12 G_M000_IG03: mov ebx, dword ptr [eax+0CH] G_M000_IG04: mov dword ptr [edi+04H], ebx xor eax, eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-20H], eax mov eax, dword ptr [ebp-1CH] mov edx, dword ptr [ebp-18H] lea ecx, [ebp-14H] mov dword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-14H] lea ebx, bword ptr [ebp-24H] test ecx, ecx je SHORT G_M000_IG13 G_M000_IG05: mov ecx, dword ptr [ecx+10H] G_M000_IG06: mov dword ptr [ebx+04H], ecx push dword ptr [ebp-20H] push dword ptr [ebp-24H] push edx push 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_IG07: mov eax, 0xD1FFAB1E G_M000_IG08: call eax ; System.RuntimeTypeHandle:RegisterCollectibleTypeDependency(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.QCallAssembly) 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 mov eax, bword ptr [ebp-3CH] mov dword ptr [esi+0CH], eax G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG12: xor ebx, ebx jmp SHORT G_M000_IG04 G_M000_IG13: xor ecx, ecx jmp SHORT G_M000_IG06 ; Total bytes of code 179 979: JIT compiled System.RuntimeTypeHandle:RegisterCollectibleTypeDependency(System.RuntimeType,System.Reflection.RuntimeAssembly) [Tier1, IL size=20, code size=179] ; Assembly listing for method System.Reflection.RuntimeMethodInfo:g__LazyCreateSignature|25_0():System.Signature:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 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, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax push 0 push 0 push esi push gword ptr [esi+1CH] mov ecx, edi xor edx, edx call System.Signature:GetSignature(uint,int,int,System.IRuntimeMethodInfo,System.RuntimeType):this lea edx, bword ptr [esi+18H] call CORINFO_HELP_ASSIGN_REF_EDI mov eax, edi G_M000_IG03: pop esi pop edi pop ebp ret ; Total bytes of code 50 980: JIT compiled System.Reflection.RuntimeMethodInfo:g__LazyCreateSignature|25_0() [Tier1, IL size=27, code size=50] ; Assembly listing for method System.Globalization.CultureData:get_CultureName():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 1250 ; 2 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: mov edi, gword ptr [esi+0CH] cmp edi, 0xD1FFAB1E je SHORT G_M000_IG12 G_M000_IG03: test edi, edi je SHORT G_M000_IG06 G_M000_IG04: mov ebx, dword ptr [edi+04H] cmp ebx, 6 jne SHORT G_M000_IG06 G_M000_IG05: add ebx, ebx push ebx lea ecx, bword ptr [edi+08H] mov edx, 8 add edx, 0xD1FFAB1E call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax jne SHORT G_M000_IG12 G_M000_IG06: cmp edi, 0xD1FFAB1E je SHORT G_M000_IG12 G_M000_IG07: test edi, edi je SHORT G_M000_IG10 G_M000_IG08: mov ebx, dword ptr [edi+04H] cmp ebx, 6 jne SHORT G_M000_IG10 G_M000_IG09: lea ecx, [ebx+ebx] push ecx lea ecx, bword ptr [edi+08H] mov edx, 8 add edx, 0xD1FFAB1E call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax jne SHORT G_M000_IG12 G_M000_IG10: mov eax, gword ptr [esi+04H] G_M000_IG11: pop ebx pop esi pop edi pop ebp ret G_M000_IG12: mov eax, gword ptr [esi+0CH] G_M000_IG13: pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 122 981: JIT compiled System.Globalization.CultureData:get_CultureName() [Tier1 with Static PGO, IL size=47, code size=122] ; Assembly listing for method System.Array:CreateInstance(System.Type,int):System.Array ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 13483 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push eax mov dword ptr [ebp-04H], edx G_M000_IG02: test ecx, ecx je SHORT G_M000_IG06 cmp dword ptr [ebp-04H], 0 jl SHORT G_M000_IG07 cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG08 test ecx, ecx je SHORT G_M000_IG09 G_M000_IG03: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG09 G_M000_IG04: lea edx, [ebp-04H] push edx push 0 mov edx, 1 call System.Array:InternalCreate(System.RuntimeType,int,uint,uint):System.Array G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov ecx, 84 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG07: call [System.ThrowHelper:ThrowLengthArgumentOutOfRange_ArgumentOutOfRange_NeedNonNegNum()] int3 G_M000_IG08: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+34H] call [eax]System.Type:get_UnderlyingSystemType():System.Type:this mov ecx, eax test ecx, ecx jne SHORT G_M000_IG03 G_M000_IG09: mov ecx, 57 mov edx, 84 call [System.ThrowHelper:ThrowArgumentException(int,int)] int3 ; Total bytes of code 106 982: JIT compiled System.Array:CreateInstance(System.Type,int) [Tier1 with Static PGO, IL size=62, code size=106] ; Assembly listing for method System.Reflection.RuntimeMethodInfo:get_Name():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 16923 ; 1 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi mov esi, ecx G_M000_IG02: mov eax, gword ptr [esi+08H] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: pop esi ret G_M000_IG04: mov ecx, dword ptr [esi+28H] call System.RuntimeMethodHandle:GetName(int):System.String lea edx, bword ptr [esi+08H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG03 ; Total bytes of code 30 983: JIT compiled System.Reflection.RuntimeMethodInfo:get_Name() [Tier1 with Static PGO, IL size=26, code size=30] ; Assembly listing for method System.Globalization.CultureData:GetCultureData(System.String,bool):System.Globalization.CultureData ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 1227 ; 2 inlinees with PGO data; 10 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-28H], eax mov dword ptr [ebp-18H], eax mov esi, ecx mov ebx, edx G_M000_IG02: test esi, esi je SHORT G_M000_IG04 G_M000_IG03: cmp dword ptr [esi+04H], 0 jne SHORT G_M000_IG06 G_M000_IG04: mov eax, gword ptr [D1FFAB1EH] test eax, eax jne SHORT G_M000_IG12 G_M000_IG05: jmp SHORT G_M000_IG11 G_M000_IG06: test bl, bl je G_M000_IG26 G_M000_IG07: mov eax, esi G_M000_IG08: mov ecx, eax call [System.Globalization.TextInfo:ToLowerAsciiInvariant(System.String):System.String] mov edi, eax mov eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp-34H], eax test eax, eax jne G_M000_IG25 G_M000_IG09: jmp G_M000_IG27 G_M000_IG10: mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EBX mov eax, esi jmp G_M000_IG24 G_M000_IG11: call [System.Globalization.CultureData:CreateCultureWithInvariantData():System.Globalization.CultureData] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG12: jmp G_M000_IG24 G_M000_IG13: lea edx, [ebp-2CH] call [System.Threading.Monitor:Enter(System.Object,byref)] lea ecx, [ebp-28H] push ecx mov ecx, gword ptr [ebp-34H] mov edx, edi call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryGetValue(System.__Canon,byref):bool:this] mov dword ptr [ebp-24H], eax G_M000_IG14: cmp byte ptr [ebp-2CH], 0 je SHORT G_M000_IG17 mov ecx, gword ptr [ebp-38H] call System.Threading.Monitor:Exit(System.Object) jmp SHORT G_M000_IG17 G_M000_IG15: cmp byte ptr [ebp-2CH], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-38H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG16: pop eax jmp eax G_M000_IG17: cmp dword ptr [ebp-24H], 0 je SHORT G_M000_IG19 G_M000_IG18: cmp gword ptr [ebp-28H], 0 je SHORT G_M000_IG19 mov eax, gword ptr [ebp-28H] jmp SHORT G_M000_IG24 G_M000_IG19: movzx edx, bl mov ecx, esi call [System.Globalization.CultureData:CreateCultureData(System.String,bool):System.Globalization.CultureData] mov esi, eax test esi, esi je G_M000_IG28 mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-3CH], ecx xor edx, edx mov dword ptr [ebp-30H], edx G_M000_IG20: lea edx, [ebp-30H] call [System.Threading.Monitor:Enter(System.Object,byref)] mov ebx, gword ptr [ebp-34H] cmp byte ptr [ebx], bl push esi push 1 mov ecx, ebx mov edx, edi call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):bool:this] G_M000_IG21: cmp byte ptr [ebp-30H], 0 je G_M000_IG10 mov ecx, gword ptr [ebp-3CH] call System.Threading.Monitor:Exit(System.Object) jmp G_M000_IG10 G_M000_IG22: cmp byte ptr [ebp-30H], 0 je SHORT G_M000_IG23 mov ecx, gword ptr [ebp-3CH] call System.Threading.Monitor:Exit(System.Object) G_M000_IG23: pop eax jmp eax G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG25: mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-38H], ecx xor edx, edx mov dword ptr [ebp-2CH], edx jmp G_M000_IG13 G_M000_IG26: mov ecx, esi mov edx, 0xD1FFAB1E call [System.String:Concat(System.String,System.String):System.String] jmp G_M000_IG08 G_M000_IG27: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-40H], eax push 0 mov ecx, eax xor edx, edx call [System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this] mov eax, gword ptr [ebp-40H] mov gword ptr [ebp-34H], eax jmp G_M000_IG19 G_M000_IG28: xor eax, eax G_M000_IG29: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 391 984: JIT compiled System.Globalization.CultureData:GetCultureData(System.String,bool) [Tier1 with Static PGO, IL size=218, code size=391] ; Assembly listing for method System.Globalization.CultureInfo:.ctor(System.String,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 1195 ; 4 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 mov esi, ecx mov edi, edx G_M000_IG02: test edi, edi je G_M000_IG13 movzx edx, byte ptr [ebp+08H] mov ecx, edi call [System.Globalization.CultureData:GetCultureData(System.String,bool):System.Globalization.CultureData] test eax, eax je G_M000_IG14 lea edx, bword ptr [esi+18H] call CORINFO_HELP_ASSIGN_REF_EAX mov ebx, gword ptr [esi+18H] mov edi, gword ptr [ebx+0CH] cmp edi, 0xD1FFAB1E je G_M000_IG15 G_M000_IG03: test edi, edi je SHORT G_M000_IG06 G_M000_IG04: mov ecx, dword ptr [edi+04H] cmp ecx, 6 jne SHORT G_M000_IG06 G_M000_IG05: add ecx, ecx push ecx lea ecx, bword ptr [edi+08H] mov edx, 8 add edx, 0xD1FFAB1E call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax jne G_M000_IG15 G_M000_IG06: cmp edi, 0xD1FFAB1E je G_M000_IG15 G_M000_IG07: test edi, edi je SHORT G_M000_IG10 G_M000_IG08: mov ecx, dword ptr [edi+04H] cmp ecx, 6 jne SHORT G_M000_IG10 G_M000_IG09: add ecx, ecx push ecx lea ecx, bword ptr [edi+08H] mov edx, 8 add edx, 0xD1FFAB1E call [System.SpanHelpers:SequenceEqual(byref,byref,uint):bool] test eax, eax jne SHORT G_M000_IG15 G_M000_IG10: mov edi, gword ptr [ebx+04H] G_M000_IG11: lea edx, bword ptr [esi+20H] call CORINFO_HELP_ASSIGN_REF_EDI cmp dword ptr [esi], 0xD1FFAB1E setne cl mov byte ptr [esi+31H], cl G_M000_IG12: pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG13: mov ecx, 799 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG14: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax mov ecx, 799 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov esi, eax push edi call [System.Globalization.CultureInfo:GetCultureNotSupportedExceptionMessage():System.String] push eax mov edx, esi mov ecx, ebx call [System.Globalization.CultureNotFoundException:.ctor(System.String,System.String,System.String):this] mov ecx, ebx call CORINFO_HELP_THROW G_M000_IG15: mov edi, gword ptr [ebx+0CH] jmp SHORT G_M000_IG11 ; Total bytes of code 271 985: JIT compiled System.Globalization.CultureInfo:.ctor(System.String,bool) [Tier1 with Static PGO, IL size=97, code size=271] ; Assembly listing for method System.Globalization.CultureData:get_Invariant():System.Globalization.CultureData ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 1145 G_M000_IG01: G_M000_IG02: mov eax, gword ptr [D1FFAB1EH] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: ret G_M000_IG04: call [System.Globalization.CultureData:CreateCultureWithInvariantData():System.Globalization.CultureData] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG03 ; Total bytes of code 28 986: JIT compiled System.Globalization.CultureData:get_Invariant() [Tier1 with Static PGO, IL size=25, code size=28] ; Assembly listing for method System.Globalization.CultureInfo:get_Name():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 37192 ; 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, gword ptr [ecx+24H] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: pop ebp ret G_M000_IG04: mov edx, gword ptr [ecx+18H] mov edx, gword ptr [edx+0CH] mov eax, 0xD1FFAB1E test edx, edx cmove edx, eax mov eax, edx mov edx, 0xD1FFAB1E test eax, eax cmove eax, edx lea edx, bword ptr [ecx+24H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG03 ; Total bytes of code 50 987: JIT compiled System.Globalization.CultureInfo:get_Name() [Tier1 with Static PGO, IL size=40, code size=50] ; Assembly listing for method System.Reflection.RuntimeParameterInfo:GetParameters(System.IRuntimeMethodInfo,System.Reflection.MemberInfo,System.Signature,byref,bool):System.Reflection.ParameterInfo[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 16178 ; 3 inlinees with PGO data; 14 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 148 vxorps 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 dword ptr [ebp-10H], 0xD1FFAB1E mov gword ptr [ebp-80H], edx mov esi, ecx mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov eax, bword ptr [ebp+0CH] mov bword ptr [ebp-A0H], eax mov ecx, gword ptr [ebp+10H] mov gword ptr [ebp-9CH], ecx xor edx, edx mov gword ptr [eax], edx mov edx, gword ptr [ecx+04H] mov edx, dword ptr [edx+04H] mov dword ptr [ebp-5CH], edx test bl, bl jne G_M000_IG38 G_M000_IG03: test edx, edx je G_M000_IG29 G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_OBJ G_M000_IG05: mov gword ptr [ebp-84H], eax mov ecx, esi call System.RuntimeMethodHandle:GetMethodDef(System.IRuntimeMethodInfo):int mov dword ptr [ebp-60H], eax xor edx, edx test eax, 0xD1FFAB1E mov eax, edx je G_M000_IG26 G_M000_IG06: cmp dword ptr [esi], 0xD1FFAB1E jne G_M000_IG28 G_M000_IG07: mov ecx, dword ptr [esi+28H] G_M000_IG08: call System.RuntimeMethodHandle:GetDeclaringType(int):System.RuntimeType mov gword ptr [ebp-8CH], eax mov ecx, eax call System.RuntimeTypeHandle:_GetMetadataImport(System.RuntimeType):int mov esi, eax mov eax, gword ptr [ebp-8CH] mov gword ptr [ebp-94H], eax push dword ptr [ebp-60H] lea ecx, [ebp-58H] push ecx mov ecx, esi mov edx, 0xD1FFAB1E call System.Reflection.MetadataImport:_Enum(int,int,int,byref) mov edx, dword ptr [ebp-54H] mov eax, edx mov edx, dword ptr [ebp-5CH] lea ecx, [edx+01H] cmp eax, ecx jg G_M000_IG41 xor ecx, ecx mov dword ptr [ebp-64H], eax test eax, eax jle G_M000_IG25 G_M000_IG09: cmp gword ptr [ebp-58H], 0 jne G_M000_IG27 G_M000_IG10: lea edx, bword ptr [ebp-50H] mov bword ptr [ebp-90H], edx mov edx, bword ptr [ebp-90H] mov dword ptr [ebp-68H], ecx mov edx, dword ptr [edx+4*ecx] G_M000_IG11: mov dword ptr [ebp-6CH], edx lea edi, [ebp-70H] push edi lea edi, [ebp-7CH] push edi mov ecx, esi call System.Reflection.MetadataImport:_GetParamDefProps(int,int,byref,byref) mov edi, dword ptr [ebp-7CH] mov ecx, dword ptr [ebp-70H] dec ecx mov dword ptr [ebp-70H], ecx mov dword ptr [ebp+08H], ebx test bl, bl jne G_M000_IG39 G_M000_IG12: cmp dword ptr [ebp-70H], 0 jl G_M000_IG16 G_M000_IG13: mov eax, dword ptr [ebp-5CH] cmp dword ptr [ebp-70H], eax jge G_M000_IG43 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, dword ptr [ebp-70H] mov dword ptr [ebp-78H], ecx mov edx, dword ptr [ebp-70H] mov dword ptr [eax+18H], edx lea edx, bword ptr [eax+0CH] mov ebx, gword ptr [ebp-80H] call CORINFO_HELP_ASSIGN_REF_EBX lea edx, bword ptr [eax+1CH] mov ebx, gword ptr [ebp-9CH] call CORINFO_HELP_ASSIGN_REF_EBX mov edx, dword ptr [ebp-6CH] test edx, 0xD1FFAB1E je G_M000_IG30 G_M000_IG14: mov dword ptr [eax+24H], edx lea edx, bword ptr [eax+2CH] mov bword ptr [ebp-98H], edx mov ebx, gword ptr [ebp-94H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EBX mov edx, bword ptr [ebp-98H] mov dword ptr [edx+04H], esi mov dword ptr [eax+14H], edi xor edx, edx mov gword ptr [eax+04H], edx G_M000_IG15: mov gword ptr [eax+10H], edx push eax mov ecx, gword ptr [ebp-84H] mov edx, dword ptr [ebp-78H] call CORINFO_HELP_ARRADDR_ST mov gword ptr [ebp-94H], ebx G_M000_IG16: mov edi, dword ptr [ebp-68H] inc edi mov eax, dword ptr [ebp-64H] cmp edi, eax mov ecx, edi jl SHORT G_M000_IG24 G_M000_IG17: cmp byte ptr [ebp+08H], 0 jne G_M000_IG33 G_M000_IG18: mov ebx, gword ptr [ebp-84H] mov ecx, dword ptr [ebx+04H] inc ecx cmp ecx, eax jle SHORT G_M000_IG22 G_M000_IG19: xor esi, esi cmp dword ptr [ebx+04H], 0 jle SHORT G_M000_IG22 G_M000_IG20: cmp gword ptr [ebx+4*esi+08H], 0 je SHORT G_M000_IG31 G_M000_IG21: inc esi cmp dword ptr [ebx+04H], esi jg SHORT G_M000_IG20 G_M000_IG22: mov eax, ebx cmp dword ptr [ebp-10H], 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 12 G_M000_IG24: mov dword ptr [ebp-64H], eax movzx ebx, byte ptr [ebp+08H] jmp G_M000_IG09 G_M000_IG25: mov dword ptr [ebp+08H], ebx mov eax, dword ptr [ebp-64H] jmp SHORT G_M000_IG17 G_M000_IG26: mov dword ptr [ebp+08H], ebx jmp SHORT G_M000_IG17 G_M000_IG27: mov edx, gword ptr [ebp-58H] cmp ecx, dword ptr [edx+04H] jae G_M000_IG46 mov edx, dword ptr [edx+4*ecx+08H] mov dword ptr [ebp-68H], ecx jmp G_M000_IG11 G_M000_IG28: mov ecx, esi call [System.IRuntimeMethodInfo:get_Value():int:this] mov ecx, eax jmp G_M000_IG08 G_M000_IG29: mov eax, gword ptr [D1FFAB1EH] jmp G_M000_IG05 G_M000_IG30: mov edx, 0xD1FFAB1E jmp G_M000_IG14 G_M000_IG31: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax test byte ptr [D1FFAB1EH], 1 jne SHORT G_M000_IG37 G_M000_IG32: jmp G_M000_IG44 G_M000_IG33: mov esi, bword ptr [ebp-A0H] cmp gword ptr [esi], 0 jne SHORT G_M000_IG36 G_M000_IG34: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax test byte ptr [D1FFAB1EH], 1 je G_M000_IG45 G_M000_IG35: mov edx, gword ptr [D1FFAB1EH] add edx, 4 push dword ptr [edx+04H] push gword ptr [edx] push 0 push -1 push 0 push gword ptr [ebp-80H] mov edx, gword ptr [ebp-9CH] mov ecx, edi call [System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI mov ebx, gword ptr [ebp-84H] jmp G_M000_IG22 G_M000_IG36: mov ebx, gword ptr [ebp-84H] jmp G_M000_IG22 G_M000_IG37: mov edx, gword ptr [D1FFAB1EH] add edx, 4 push dword ptr [edx+04H] push gword ptr [edx] push 0 push esi push 0 push gword ptr [ebp-80H] mov edx, gword ptr [ebp-9CH] mov ecx, edi call [System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this] push edi mov ecx, ebx mov edx, esi call CORINFO_HELP_ARRADDR_ST jmp G_M000_IG21 G_M000_IG38: xor eax, eax jmp G_M000_IG05 G_M000_IG39: cmp dword ptr [ebp-70H], -1 jne G_M000_IG16 G_M000_IG40: mov eax, bword ptr [ebp-A0H] cmp gword ptr [eax], 0 jne SHORT G_M000_IG42 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-88H], eax push esi push gword ptr [ebp-94H] push dword ptr [ebp-6CH] push dword ptr [ebp-70H] push edi mov edi, gword ptr [ebp-80H] push edi mov ecx, eax mov edx, gword ptr [ebp-9CH] call [System.Reflection.RuntimeParameterInfo:.ctor(System.Signature,System.Reflection.MetadataImport,int,int,int,System.Reflection.MemberInfo):this] mov edx, bword ptr [ebp-A0H] mov ecx, gword ptr [ebp-88H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX mov gword ptr [ebp-80H], edi jmp G_M000_IG16 G_M000_IG41: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax call [System.SR:get_BadImageFormat_ParameterSignatureMismatch():System.String] mov edx, eax mov ecx, ebx call [System.BadImageFormatException:.ctor(System.String):this] mov ecx, ebx call CORINFO_HELP_THROW G_M000_IG42: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_BadImageFormat_ParameterSignatureMismatch():System.String] mov edx, eax mov ecx, esi call [System.BadImageFormatException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG43: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_BadImageFormat_ParameterSignatureMismatch():System.String] mov edx, eax mov ecx, esi call [System.BadImageFormatException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG44: mov ecx, 0xD1FFAB1E mov edx, 0x6BE call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG37 G_M000_IG45: mov ecx, 0xD1FFAB1E mov edx, 0x6BE call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG35 G_M000_IG46: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 1062 988: JIT compiled System.Reflection.RuntimeParameterInfo:GetParameters(System.IRuntimeMethodInfo,System.Reflection.MemberInfo,System.Signature,byref,bool) [Tier1 with Static PGO, IL size=318, code size=1062] ; Assembly listing for method System.Text.StringBuilder:AppendSpanFormattable[int](int):System.Text.StringBuilder:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 4 inlinees with PGO data; 19 single block inlinees; 8 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 16 xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-10H], edx mov esi, ecx G_M000_IG02: lea eax, bword ptr [ebp-10H] mov edx, gword ptr [esi+04H] mov ecx, edx mov edi, dword ptr [esi+0CH] mov ebx, edi mov edx, dword ptr [edx+04H] sub edx, edi cmp dword ptr [ecx+04H], ebx jb G_M000_IG26 G_M000_IG03: mov edi, dword ptr [ecx+04H] sub edi, ebx cmp edi, edx jb G_M000_IG26 G_M000_IG04: lea edi, bword ptr [ecx+2*ebx+08H] mov ebx, edx mov eax, dword ptr [eax] mov ecx, eax mov dword ptr [ebp-18H], ecx test ecx, ecx jge SHORT G_M000_IG09 G_M000_IG05: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] mov ecx, gword ptr [eax+14H] test ecx, ecx je SHORT G_M000_IG08 G_M000_IG06: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] G_M000_IG07: push eax push edx push ebx push edi lea ecx, [ebp-14H] push ecx mov ecx, dword ptr [ebp-18H] mov edx, -1 call [System.Number:TryNegativeInt32ToDecStr[ushort](int,int,System.ReadOnlySpan`1[ushort],System.Span`1[ushort],byref):bool] jmp G_M000_IG19 G_M000_IG08: xor edx, edx xor eax, eax jmp SHORT G_M000_IG07 align [0 bytes for IG10] G_M000_IG09: mov ecx, dword ptr [ebp-18H] mov eax, ecx or eax, 1 lzcnt eax, eax xor eax, 31 lea eax, [8*eax+D1FFAB1EH] mov edx, dword ptr [eax] mov eax, dword ptr [eax+04H] add edx, ecx adc eax, 0 cmp eax, ebx jg SHORT G_M000_IG17 mov dword ptr [ebp-14H], eax mov bword ptr [ebp-1CH], edi lea edi, [edi+2*eax] cmp ecx, 10 jb SHORT G_M000_IG15 cmp ecx, 100 jb SHORT G_M000_IG14 G_M000_IG10: 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 lea eax, bword ptr [eax+4*ecx+08H] mov eax, dword ptr [eax] mov dword ptr [edi], eax cmp edx, 100 jae SHORT G_M000_IG13 G_M000_IG11: cmp edx, 10 jb SHORT G_M000_IG12 lea eax, [edi-04H] mov ecx, gword ptr [D1FFAB1EH] cmp byte ptr [ecx], cl lea edx, bword ptr [ecx+4*edx+08H] mov ecx, dword ptr [edx] mov dword ptr [eax], ecx jmp SHORT G_M000_IG16 G_M000_IG12: mov ecx, edx jmp SHORT G_M000_IG15 G_M000_IG13: mov ecx, edx jmp SHORT G_M000_IG10 G_M000_IG14: mov edx, ecx jmp SHORT G_M000_IG11 G_M000_IG15: lea eax, [ecx+30H] mov word ptr [edi-02H], ax G_M000_IG16: xor eax, eax mov bword ptr [ebp-1CH], eax mov eax, 1 jmp SHORT G_M000_IG18 G_M000_IG17: xor eax, eax mov dword ptr [ebp-14H], eax G_M000_IG18: xor ecx, ecx mov bword ptr [ebp-1CH], ecx G_M000_IG19: test eax, eax je SHORT G_M000_IG22 G_M000_IG20: mov eax, dword ptr [ebp-14H] add dword ptr [esi+0CH], eax mov eax, esi G_M000_IG21: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG22: mov ecx, dword ptr [ebp-10H] call [System.Number:Int32ToDecStr(int):System.String] mov edx, eax test edx, edx je SHORT G_M000_IG23 mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, esi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG23: mov eax, esi G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG25: call CORINFO_HELP_OVERFLOW G_M000_IG26: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 362 989: JIT compiled System.Text.StringBuilder:AppendSpanFormattable[int](int) [Tier1, IL size=93, code size=362] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int):byref:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 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 990: JIT compiled System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int) [Tier1, IL size=299, code size=329] ; Assembly listing for method System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 mov gword ptr [ebp-24H], ecx mov edi, edx G_M000_IG02: mov esi, gword ptr [ebp-24H] cmp gword ptr [esi+04H], 0 je G_M000_IG15 G_M000_IG03: mov esi, gword ptr [ebp-24H] mov ebx, gword ptr [esi+08H] xor eax, eax mov dword ptr [ebp-10H], eax mov esi, gword ptr [ebp-24H] mov edx, gword ptr [esi+0CH] mov gword ptr [ebp-2CH], edx test edi, edi jne SHORT G_M000_IG04 mov edx, gword ptr [ebp-2CH] xor ecx, ecx mov gword ptr [ebp-28H], edi mov gword ptr [ebp-2CH], edx jmp SHORT G_M000_IG08 G_M000_IG04: mov edx, gword ptr [ebp-2CH] mov esi, gword ptr [ebp-24H] mov ecx, dword ptr [esi] mov dword ptr [ebp-20H], ecx mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+2CH] test ecx, ecx je SHORT G_M000_IG06 G_M000_IG05: mov dword ptr [ebp-18H], ecx jmp SHORT G_M000_IG07 G_M000_IG06: mov gword ptr [ebp-2CH], edx mov ecx, dword ptr [ebp-20H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-18H], eax mov edx, gword ptr [ebp-2CH] G_M000_IG07: mov gword ptr [ebp-2CH], edx mov ecx, edx mov gword ptr [ebp-28H], edi mov edx, edi mov eax, dword ptr [ebp-18H] nop call [eax] mov ecx, eax G_M000_IG08: mov dword ptr [ebp-14H], ecx mov esi, gword ptr [ebp-24H] mov edx, gword ptr [esi+04H] mov gword ptr [ebp-34H], edx mov edx, dword ptr [edx+04H] mov edi, edx mov eax, ecx xor edx, edx div edx:eax, edi mov edi, gword ptr [ebp-34H] mov edi, dword ptr [edi+4*edx+08H] dec edi js SHORT G_M000_IG15 G_M000_IG09: mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-1CH], eax cmp edi, eax jae G_M000_IG20 lea edx, [edi+2*edi] lea edx, bword ptr [ebx+4*edx+08H] mov bword ptr [ebp-30H], edx cmp dword ptr [edx+04H], ecx jne SHORT G_M000_IG14 G_M000_IG10: mov esi, gword ptr [ebp-24H] mov ecx, dword ptr [esi] mov esi, dword ptr [ecx+20H] mov esi, dword ptr [esi] mov esi, dword ptr [esi+30H] test esi, esi je SHORT G_M000_IG12 G_M000_IG11: jmp SHORT G_M000_IG13 G_M000_IG12: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov esi, eax G_M000_IG13: mov edx, bword ptr [ebp-30H] mov ecx, gword ptr [edx] push gword ptr [ebp-28H] mov edx, ecx mov ecx, gword ptr [ebp-2CH] mov eax, esi nop call [eax] test eax, eax jne SHORT G_M000_IG17 G_M000_IG14: mov edx, bword ptr [ebp-30H] mov edi, dword ptr [edx+08H] mov edx, dword ptr [ebp-10H] inc edx cmp dword ptr [ebp-1CH], edx jb SHORT G_M000_IG19 test edi, edi mov dword ptr [ebp-10H], edx mov ecx, dword ptr [ebp-14H] jge SHORT G_M000_IG09 G_M000_IG15: mov eax, -1 G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG17: mov eax, edi G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG19: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 312 991: JIT compiled System.Collections.Generic.HashSet`1[System.__Canon]:FindItemIndex(System.__Canon) [Tier1, IL size=260, code size=312] ; Assembly listing for method System.String:CompareOrdinalHelper(System.String,System.String):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 104267 ; 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-10H], eax mov dword ptr [ebp-14H], eax G_M000_IG02: mov eax, dword ptr [ecx+04H] mov esi, dword ptr [edx+04H] cmp eax, esi cmovg eax, esi lea esi, bword ptr [ecx+08H] mov bword ptr [ebp-10H], esi mov esi, bword ptr [ebp-10H] lea edi, bword ptr [edx+08H] mov bword ptr [ebp-14H], edi mov edi, bword ptr [ebp-14H] movzx ebx, word ptr [esi+02H] cmp bx, word ptr [edi+02H] jne SHORT G_M000_IG15 G_M000_IG03: add eax, -2 add esi, 4 add edi, 4 cmp eax, 10 jl SHORT G_M000_IG10 G_M000_IG04: mov ebx, dword ptr [esi] cmp ebx, dword ptr [edi] jne SHORT G_M000_IG18 G_M000_IG05: mov ebx, dword ptr [esi+04H] cmp ebx, dword ptr [edi+04H] jne G_M000_IG22 G_M000_IG06: mov ebx, dword ptr [esi+08H] cmp ebx, dword ptr [edi+08H] jne SHORT G_M000_IG21 G_M000_IG07: mov ebx, dword ptr [esi+0CH] cmp ebx, dword ptr [edi+0CH] jne SHORT G_M000_IG23 G_M000_IG08: mov ebx, dword ptr [esi+10H] cmp ebx, dword ptr [edi+10H] jne SHORT G_M000_IG17 G_M000_IG09: add eax, -10 add esi, 20 add edi, 20 cmp eax, 10 jge SHORT G_M000_IG04 G_M000_IG10: test eax, eax jle SHORT G_M000_IG13 G_M000_IG11: mov ebx, dword ptr [esi] cmp ebx, dword ptr [edi] jne SHORT G_M000_IG18 G_M000_IG12: add eax, -2 add esi, 4 add edi, 4 test eax, eax jg SHORT G_M000_IG11 G_M000_IG13: mov eax, dword ptr [ecx+04H] sub eax, dword ptr [edx+04H] G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG15: movzx eax, word ptr [esi+02H] movzx edx, word ptr [edi+02H] sub eax, edx G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG17: add esi, 16 add edi, 16 G_M000_IG18: movzx eax, word ptr [esi] cmp ax, word ptr [edi] je SHORT G_M000_IG15 G_M000_IG19: movzx eax, word ptr [esi] movzx edx, word ptr [edi] sub eax, edx G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG21: add esi, 4 add edi, 4 G_M000_IG22: add esi, 4 add edi, 4 jmp SHORT G_M000_IG18 G_M000_IG23: add esi, 12 add edi, 12 jmp SHORT G_M000_IG18 ; Total bytes of code 233 992: JIT compiled System.String:CompareOrdinalHelper(System.String,System.String) [Tier1 with Static PGO, IL size=358, code size=233] ; Assembly listing for method System.Diagnostics.Tracing.EventParameterInfo:GetTypeInfoFromType(System.Type,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 5931 G_M000_IG01: push ebp mov ebp, esp push esi mov esi, edx G_M000_IG02: cmp ecx, 0xD1FFAB1E je G_M000_IG23 G_M000_IG03: cmp ecx, 0xD1FFAB1E je G_M000_IG22 G_M000_IG04: cmp ecx, 0xD1FFAB1E je G_M000_IG26 cmp ecx, 0xD1FFAB1E je G_M000_IG27 cmp ecx, 0xD1FFAB1E je G_M000_IG28 cmp ecx, 0xD1FFAB1E je G_M000_IG18 G_M000_IG05: cmp ecx, 0xD1FFAB1E je G_M000_IG24 G_M000_IG06: cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG17 G_M000_IG07: cmp ecx, 0xD1FFAB1E je G_M000_IG25 G_M000_IG08: cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG19 G_M000_IG09: cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG20 G_M000_IG10: cmp ecx, 0xD1FFAB1E je G_M000_IG29 cmp ecx, 0xD1FFAB1E je G_M000_IG30 cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG21 G_M000_IG11: cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG14 G_M000_IG12: xor eax, eax mov gword ptr [esi], eax G_M000_IG13: pop esi pop ebp ret G_M000_IG14: call [System.Diagnostics.Tracing.ScalarTypeInfo:Guid():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG15: mov eax, 1 G_M000_IG16: pop esi pop ebp ret G_M000_IG17: call [System.Diagnostics.Tracing.ScalarTypeInfo:UInt32():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG15 G_M000_IG18: call [System.Diagnostics.Tracing.ScalarTypeInfo:UInt16():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG15 G_M000_IG19: call [System.Diagnostics.Tracing.ScalarTypeInfo:UInt64():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG15 G_M000_IG20: call [System.Diagnostics.Tracing.ScalarTypeInfo:IntPtr():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG15 G_M000_IG21: call [System.Diagnostics.Tracing.ScalarTypeInfo:Double():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG15 G_M000_IG22: call [System.Diagnostics.Tracing.ScalarTypeInfo:Byte():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG15 G_M000_IG23: call [System.Diagnostics.Tracing.ScalarTypeInfo:Boolean():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG15 G_M000_IG24: call [System.Diagnostics.Tracing.ScalarTypeInfo:Int32():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp SHORT G_M000_IG15 G_M000_IG25: call [System.Diagnostics.Tracing.ScalarTypeInfo:Int64():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp G_M000_IG15 G_M000_IG26: call [System.Diagnostics.Tracing.ScalarTypeInfo:SByte():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp G_M000_IG15 G_M000_IG27: call [System.Diagnostics.Tracing.ScalarTypeInfo:Char():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp G_M000_IG15 G_M000_IG28: call [System.Diagnostics.Tracing.ScalarTypeInfo:Int16():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp G_M000_IG15 G_M000_IG29: call [System.Diagnostics.Tracing.ScalarTypeInfo:UIntPtr():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp G_M000_IG15 G_M000_IG30: call [System.Diagnostics.Tracing.ScalarTypeInfo:Single():System.Diagnostics.Tracing.TraceLoggingTypeInfo] mov edx, esi call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX jmp G_M000_IG15 ; Total bytes of code 422 993: JIT compiled System.Diagnostics.Tracing.EventParameterInfo:GetTypeInfoFromType(System.Type,byref) [Tier1 with Static PGO, IL size=410, code size=422] ; Assembly listing for method System.Diagnostics.Tracing.EventParameterInfo:GetMetadataLength(byref):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 5931 ; 7 inlinees with PGO data; 20 single block inlinees; 3 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: xor ecx, ecx mov dword ptr [esi], ecx mov ecx, gword ptr [edi+04H] cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG07 G_M000_IG03: cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG07 G_M000_IG04: cmp ecx, 0xD1FFAB1E je SHORT G_M000_IG07 test ecx, ecx jne SHORT G_M000_IG05 xor ebx, ebx jmp SHORT G_M000_IG06 G_M000_IG05: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+54H] call [eax+08H]System.Type:GetTypeCodeImpl():int:this mov ebx, eax G_M000_IG06: cmp ebx, 1 je SHORT G_M000_IG10 G_M000_IG07: mov eax, dword ptr [esi] mov edx, gword ptr [edi] mov edx, dword ptr [edx+04H] add edx, edx add eax, edx add eax, 6 mov dword ptr [esi], eax G_M000_IG08: mov eax, 1 G_M000_IG09: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG10: mov edx, gword ptr [edi+08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne SHORT G_M000_IG12 xor eax, eax G_M000_IG11: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG12: add dword ptr [esi], 8 mov edi, gword ptr [eax+24H] test edi, edi je SHORT G_M000_IG15 xor ebx, ebx jmp SHORT G_M000_IG14 G_M000_IG13: mov ecx, gword ptr [edi+4*ebx+08H] mov eax, dword ptr [esi] mov dword ptr [ebp-10H], eax call [System.Diagnostics.Tracing.EventParameterInfo:GetMetadataLengthForProperty(System.Diagnostics.Tracing.PropertyAnalysis):uint] add eax, dword ptr [ebp-10H] mov dword ptr [esi], eax inc ebx G_M000_IG14: cmp dword ptr [edi+04H], ebx jg SHORT G_M000_IG13 G_M000_IG15: add dword ptr [esi], 2 jmp SHORT G_M000_IG08 ; Total bytes of code 163 994: JIT compiled System.Diagnostics.Tracing.EventParameterInfo:GetMetadataLength(byref) [Tier1 with Static PGO, IL size=122, code size=163] ; Assembly listing for method System.Diagnostics.Tracing.EventParameterInfo:GenerateMetadata(uint,byref,uint):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 5931 ; 8 inlinees with PGO data; 22 single block inlinees; 3 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 ebx, ecx mov edi, edx mov esi, bword ptr [ebp+0CH] G_M000_IG02: mov ecx, gword ptr [ebx+04H] cmp ecx, 0xD1FFAB1E je G_M000_IG13 G_M000_IG03: cmp ecx, 0xD1FFAB1E je G_M000_IG12 G_M000_IG04: cmp ecx, 0xD1FFAB1E je G_M000_IG22 test ecx, ecx jne SHORT G_M000_IG05 xor eax, eax jmp SHORT G_M000_IG06 align [5 bytes for IG08] G_M000_IG05: mov eax, dword ptr [ecx] mov eax, dword ptr [eax+54H] call [eax+08H]System.Type:GetTypeCodeImpl():int:this G_M000_IG06: cmp eax, 1 je G_M000_IG23 mov ecx, dword ptr [esi] mov dword ptr [edi+ecx], eax add dword ptr [esi], 4 mov edx, gword ptr [ebx] mov eax, edx test eax, eax je G_M000_IG21 add eax, 8 mov bword ptr [ebp-18H], eax mov eax, bword ptr [ebp-18H] G_M000_IG07: mov dword ptr [ebp-14H], eax mov ecx, dword ptr [edx+04H] lea ecx, [2*ecx+02H] mov dword ptr [ebp-1CH], ecx xor edx, edx xor ebx, ebx mov dword ptr [ebp-24H], ebx mov ebx, ecx mov ecx, dword ptr [ebp-24H] mov dword ptr [ebp-20H], ecx cmp ebx, 1 mov eax, ecx sbb eax, 0 jl SHORT G_M000_IG09 G_M000_IG08: mov eax, edi add eax, dword ptr [esi] mov ecx, dword ptr [ebp-14H] movzx ecx, byte ptr [ecx+edx] mov byte ptr [eax+edx], cl inc edx mov eax, edx mov ecx, eax sar ecx, 31 cmp eax, ebx mov eax, dword ptr [ebp-20H] sbb ecx, eax jl SHORT G_M000_IG08 G_M000_IG09: mov ecx, dword ptr [ebp-1CH] add dword ptr [esi], ecx xor eax, eax mov bword ptr [ebp-18H], eax G_M000_IG10: mov eax, 1 G_M000_IG11: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG12: mov eax, 9 jmp G_M000_IG06 G_M000_IG13: mov eax, 17 jmp G_M000_IG06 G_M000_IG14: mov ebx, gword ptr [eax+24H] test ebx, ebx je SHORT G_M000_IG19 push esi push dword ptr [ebx+04H] mov ecx, edi mov edx, dword ptr [ebp+08H] call [System.Diagnostics.Tracing.EventPipeMetadataGenerator:WriteToBuffer[uint](uint,uint,byref,uint)] xor eax, eax jmp SHORT G_M000_IG18 G_M000_IG15: mov dword ptr [ebp-10H], eax mov ecx, gword ptr [ebx+4*eax+08H] push esi push dword ptr [ebp+08H] mov edx, edi call [System.Diagnostics.Tracing.EventParameterInfo:GenerateMetadataForProperty(System.Diagnostics.Tracing.PropertyAnalysis,uint,byref,uint):bool] test eax, eax jne SHORT G_M000_IG17 xor eax, eax G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG17: mov eax, dword ptr [ebp-10H] inc eax G_M000_IG18: cmp dword ptr [ebx+04H], eax jg SHORT G_M000_IG15 jmp SHORT G_M000_IG20 G_M000_IG19: push esi push 0 mov ecx, edi mov edx, dword ptr [ebp+08H] call [System.Diagnostics.Tracing.EventPipeMetadataGenerator:WriteToBuffer[uint](uint,uint,byref,uint)] G_M000_IG20: push esi push 0 mov ecx, edi mov edx, dword ptr [ebp+08H] call [System.Diagnostics.Tracing.EventPipeMetadataGenerator:WriteToBuffer[ushort](uint,uint,byref,ushort)] jmp G_M000_IG10 G_M000_IG21: xor eax, eax jmp G_M000_IG07 G_M000_IG22: mov eax, 10 jmp G_M000_IG06 G_M000_IG23: push esi push 1 mov ecx, edi mov edx, dword ptr [ebp+08H] call [System.Diagnostics.Tracing.EventPipeMetadataGenerator:WriteToBuffer[uint](uint,uint,byref,uint)] mov edx, gword ptr [ebx+08H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax jne G_M000_IG14 xor eax, eax G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 406 995: JIT compiled System.Diagnostics.Tracing.EventParameterInfo:GenerateMetadata(uint,byref,uint) [Tier1 with Static PGO, IL size=191, code size=406] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 478 ; 2 inlinees with PGO data; 10 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_IG07 G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG04: mov esi, eax mov edx, esi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG05 call CORINFO_HELP_RETHROW G_M000_IG05: 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_IG06 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_IG06: call CORINFO_HELP_RNGCHKFAIL int3 G_M000_IG07: mov eax, gword ptr [ecx+10H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG08 mov esi, edx shl esi, 6 lea esi, bword ptr [eax+esi+08H] movzx ebx, byte ptr [esi+35H] xor edi, edi mov dword ptr [ebp-28H], edi vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-38H], xmm0 vmovups xmmword ptr [ebp-48H], xmm0 test ebx, ebx je G_M000_IG11 cmp dword ptr [ebp+10H], 0 jne G_M000_IG11 test byte ptr [esi+24H], 2 jne G_M000_IG11 cmp ebx, 1 jne SHORT G_M000_IG09 mov ebx, gword ptr [ecx+3CH] mov eax, gword ptr [ecx+0CH] push gword ptr [esi] movzx edi, word ptr [esi+36H] push edi lea edi, [ebp-38H] push edi lea edi, [ebp-48H] push edi push dword ptr [esi+24H] push 1 mov ecx, ebx mov edx, eax 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_IG10 G_M000_IG08: call CORINFO_HELP_RNGCHKFAIL G_M000_IG09: cmp ebx, 2 jne SHORT G_M000_IG10 mov ebx, gword ptr [ecx+3CH] mov edi, gword ptr [ecx+0CH] push gword ptr [esi] movzx eax, word ptr [esi+36H] push eax lea eax, [ebp-38H] push eax push 1 mov ecx, ebx mov edx, edi cmp dword ptr [ecx], ecx call [System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool):this] G_M000_IG10: vmovups xmm0, xmmword ptr [ebp-38H] vmovups xmmword ptr [ebp-88H], xmm0 vmovups xmm0, xmmword ptr [ebp-88H] lea ecx, [ebp-38H] vptest xmm0, xmm0 mov edi, ecx cmove edi, dword ptr [ebp-28H] vmovups xmm0, xmmword ptr [ebp-48H] vmovups xmmword ptr [ebp-98H], xmm0 vmovups xmm0, xmmword ptr [ebp-98H] lea ecx, [ebp-48H] vptest xmm0, xmm0 mov eax, ecx cmove eax, dword ptr [ebp+10H] mov dword ptr [ebp+10H], eax mov dword ptr [ebp-28H], edi mov ecx, gword ptr [ebp-9CH] G_M000_IG11: test byte ptr [ecx+4CH], 8 jne G_M000_IG15 cmp byte ptr [esi+29H], 0 je SHORT G_M000_IG12 mov eax, gword ptr [ecx+20H] lea ebx, bword ptr [esi+30H] push dword ptr [esi+18H] mov edi, dword ptr [ebp-28H] push edi push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, eax 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_IG14 mov edx, gword ptr [esi] push 0 mov ecx, gword ptr [ebp-9CH] call [System.Diagnostics.Tracing.EventSource:ThrowEventSourceException(System.String,System.Exception):this] mov dword ptr [ebp-28H], edi mov ecx, gword ptr [ebp-9CH] G_M000_IG12: cmp byte ptr [esi+2AH], 0 je G_M000_IG17 mov eax, gword ptr [ecx+28H] lea ebx, bword ptr [esi+30H] push dword ptr [esi+18H] mov edi, dword ptr [ebp-28H] push edi push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, eax 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_IG13 mov edx, gword ptr [esi] push 0 mov ecx, gword ptr [ebp-9CH] call [System.Diagnostics.Tracing.EventSource:ThrowEventSourceException(System.String,System.Exception):this] mov dword ptr [ebp-28H], edi mov ecx, gword ptr [ebp-9CH] jmp G_M000_IG17 G_M000_IG13: mov dword ptr [ebp-28H], edi mov ecx, gword ptr [ebp-9CH] jmp G_M000_IG17 G_M000_IG14: mov dword ptr [ebp-28H], edi mov ecx, gword ptr [ebp-9CH] jmp SHORT G_M000_IG12 G_M000_IG15: cmp byte ptr [esi+29H], 0 jne SHORT G_M000_IG16 cmp byte ptr [esi+2AH], 0 je G_M000_IG17 G_M000_IG16: vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-78H], xmm0 vmovq qword ptr [ebp-68H], xmm0 lea eax, bword ptr [esi+38H] mov ebx, dword ptr [eax] push dword ptr [eax+04H] push ebx lea ecx, [ebp-78H] call [System.Diagnostics.Tracing.EventSourceOptions:set_Keywords(long):this] movzx edx, byte ptr [esi+34H] lea ecx, [ebp-78H] call [System.Diagnostics.Tracing.EventSourceOptions:set_Level(int):this] movzx edx, byte ptr [esi+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 [esi] lea ecx, [ebp-60H] push ecx mov ecx, esi call [System.Diagnostics.Tracing.EventSource+EventMetadata:get_TraceLoggingEventTypes():System.Diagnostics.Tracing.TraceLoggingEventTypes:this] push eax mov edi, dword ptr [ebp-28H] push edi 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 dword ptr [ebp-28H], edi mov ecx, gword ptr [ebp-9CH] G_M000_IG17: cmp gword ptr [ecx+1CH], 0 je G_M000_IG03 mov ecx, gword ptr [ebp-9CH] mov edx, dword ptr [ebp-24H] mov edi, dword ptr [ebp-28H] cmp byte ptr [esi+28H], 0 je G_M000_IG03 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax push dword ptr [ebp-24H] push edi push dword ptr [ebp+10H] mov ecx, esi 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, esi call [System.Diagnostics.Tracing.EventSource:WriteToAllListeners(System.Diagnostics.Tracing.EventWrittenEventArgs,int,uint):this] jmp G_M000_IG03 ; Total bytes of code 765 996: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint) [Tier1 with Static PGO, IL size=519, code size=765] ; Assembly listing for method System.Diagnostics.Tracing.EtwEventProvider:EventWriteTransfer(byref,int,uint,uint,int,uint):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: add ecx, 28 mov eax, dword ptr [ecx] push dword ptr [ecx+04H] push eax push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, edx mov edx, dword ptr [ebp+14H] call [Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint):int] cmp eax, 8 je SHORT G_M000_IG06 G_M000_IG03: cmp eax, 234 je SHORT G_M000_IG04 cmp eax, 534 jne SHORT G_M000_IG08 G_M000_IG04: mov eax, 2 G_M000_IG05: pop ebp ret 20 G_M000_IG06: mov eax, 1 G_M000_IG07: pop ebp ret 20 G_M000_IG08: xor eax, eax G_M000_IG09: pop ebp ret 20 ; Total bytes of code 75 997: JIT compiled System.Diagnostics.Tracing.EtwEventProvider:EventWriteTransfer(byref,int,uint,uint,int,uint) [Tier1, IL size=46, code size=75] ; Assembly listing for method Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 vzeroupper xor ebx, ebx mov dword ptr [ebp-24H], ebx mov dword ptr [ebp-28H], ebx mov dword ptr [ebp-10H], edx mov ebx, ecx mov edx, dword ptr [ebp+0CH] mov ecx, dword ptr [ebp+08H] G_M000_IG02: lea edi, [ebp-48H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-34H], eax mov bword ptr [ebp-24H], ebx mov dword ptr [ebp+08H], ecx push ecx mov dword ptr [ebp+0CH], edx push edx push dword ptr [ebp+10H] push dword ptr [ebp-10H] mov bword ptr [ebp-2CH], ebx mov edi, ebx push edi push dword ptr [ebp+18H] push dword ptr [ebp+14H] mov dword ptr [ebp-40H], 0xD1FFAB1E mov edi, esp mov dword ptr [ebp-3CH], edi lea edi, G_M000_IG05 mov dword ptr [ebp-38H], edi mov byte ptr [esi+08H], 0 G_M000_IG03: mov edi, 0xD1FFAB1E G_M000_IG04: call edi ; Interop+Advapi32:g____PInvoke|21_0(long,uint,uint,uint,int,uint):int G_M000_IG05: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-38H], eax G_M000_IG07: mov bword ptr [ebp-24H], eax mov eax, edi cmp eax, 87 jne SHORT G_M000_IG13 G_M000_IG08: cmp dword ptr [ebp+10H], 0 jne SHORT G_M000_IG13 vxorps xmm0, xmm0, xmm0 vmovups xmmword ptr [ebp-20H], xmm0 mov ebx, bword ptr [ebp-2CH] mov bword ptr [ebp-28H], ebx push dword ptr [ebp+08H] push dword ptr [ebp+0CH] lea eax, [ebp-20H] push eax push dword ptr [ebp-10H] push ebx push dword ptr [ebp+18H] push dword ptr [ebp+14H] mov dword ptr [ebp-40H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-3CH], eax lea eax, G_M000_IG11 mov dword ptr [ebp-38H], eax mov byte ptr [esi+08H], 0 G_M000_IG09: mov eax, 0xD1FFAB1E G_M000_IG10: call eax ; Interop+Advapi32:g____PInvoke|21_0(long,uint,uint,uint,int,uint):int G_M000_IG11: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG12 call CORINFO_HELP_STOP_FOR_GC G_M000_IG12: xor eax, eax mov dword ptr [ebp-38H], eax mov eax, edi xor edx, edx mov bword ptr [ebp-28H], edx G_M000_IG13: mov edx, bword ptr [ebp-44H] mov dword ptr [esi+0CH], edx G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 ; Total bytes of code 261 998: JIT compiled Interop+Advapi32:EventWriteTransfer(long,byref,uint,uint,int,uint) [Tier1, IL size=48, code size=261] ; Assembly listing for method System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,int,uint,uint,int,int):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi G_M000_IG02: mov ecx, gword ptr [ecx+04H] 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_IG06 G_M000_IG03: mov eax, dword ptr FS:[0x002C] mov eax, dword ptr [eax+10H] cmp dword ptr [eax+F4H], 2 jl SHORT G_M000_IG08 mov eax, dword ptr [eax+F0H] mov edx, dword ptr [eax+08H] test edx, edx je SHORT G_M000_IG08 G_M000_IG04: mov dword ptr [edx+0A14H], esi xor eax, eax G_M000_IG05: pop esi pop ebp ret 20 G_M000_IG06: mov eax, 1 G_M000_IG07: pop esi 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 103 999: JIT compiled System.Diagnostics.Tracing.EventProvider:WriteEvent(byref,int,uint,uint,int,int) [Tier1, IL size=40, code size=103] ; Assembly listing for method System.SpanHelpers:ClearWithoutReferences(byref,uint) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 28707 G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx G_M000_IG02: test edx, edx je SHORT G_M000_IG19 G_M000_IG03: xor eax, eax mov esi, edx sub esi, 1 sbb eax, 0 cmp esi, 22 sbb eax, 0 jb SHORT G_M000_IG20 G_M000_IG04: cmp edx, 512 jae G_M000_IG45 G_M000_IG05: xor edi, edi mov eax, ecx test al, 3 jne G_M000_IG83 G_M000_IG06: mov eax, ecx dec eax test al, 4 je SHORT G_M000_IG24 G_M000_IG07: lea eax, [edx-10H] sub edx, edi G_M000_IG08: lea esi, [edi+10H] xor ebx, ebx mov dword ptr [ecx+edi], ebx G_M000_IG09: mov dword ptr [ecx+edi+04H], ebx G_M000_IG10: mov dword ptr [ecx+edi+08H], ebx G_M000_IG11: mov dword ptr [ecx+edi+0CH], ebx mov edi, esi cmp edi, eax jbe SHORT G_M000_IG08 G_M000_IG12: test dl, 8 je SHORT G_M000_IG15 G_M000_IG13: xor eax, eax mov dword ptr [ecx+edi], eax G_M000_IG14: mov dword ptr [ecx+edi+04H], eax add edi, 8 G_M000_IG15: test dl, 4 je SHORT G_M000_IG17 G_M000_IG16: xor eax, eax mov dword ptr [ecx+edi], eax add edi, 4 G_M000_IG17: test dl, 2 jne SHORT G_M000_IG25 G_M000_IG18: test dl, 1 jne SHORT G_M000_IG26 G_M000_IG19: pop ebx pop esi pop edi pop ebp ret G_M000_IG20: cmp esi, 11 jne SHORT G_M000_IG27 G_M000_IG21: xor edx, edx mov dword ptr [ecx], edx G_M000_IG22: mov dword ptr [ecx+04H], edx G_M000_IG23: mov dword ptr [ecx+08H], edx jmp SHORT G_M000_IG19 G_M000_IG24: xor eax, eax mov dword ptr [ecx+edi], eax add edi, 4 jmp SHORT G_M000_IG07 G_M000_IG25: mov word ptr [ecx+edi], 0 add edi, 2 jmp SHORT G_M000_IG18 G_M000_IG26: mov byte ptr [ecx+edi], 0 jmp SHORT G_M000_IG19 G_M000_IG27: cmp esi, 21 ja G_M000_IG04 lea eax, [@RWD00] mov eax, dword ptr [eax+4*esi] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG28: xor eax, eax mov dword ptr [ecx], eax jmp SHORT G_M000_IG19 G_M000_IG29: xor eax, eax mov dword ptr [ecx], eax mov word ptr [ecx+04H], 0 mov byte ptr [ecx+06H], 0 jmp SHORT G_M000_IG19 G_M000_IG30: xor eax, eax mov dword ptr [ecx], eax mov word ptr [ecx+04H], 0 jmp SHORT G_M000_IG19 G_M000_IG31: xor eax, eax mov dword ptr [ecx], eax mov byte ptr [ecx+04H], 0 jmp SHORT G_M000_IG19 G_M000_IG32: xor eax, eax mov dword ptr [ecx], eax G_M000_IG33: mov dword ptr [ecx+04H], eax jmp G_M000_IG19 G_M000_IG34: xor eax, eax mov dword ptr [ecx], eax G_M000_IG35: mov dword ptr [ecx+04H], eax mov word ptr [ecx+08H], 0 jmp G_M000_IG19 G_M000_IG36: xor eax, eax mov dword ptr [ecx], eax G_M000_IG37: mov dword ptr [ecx+04H], eax G_M000_IG38: mov dword ptr [ecx+08H], eax G_M000_IG39: mov dword ptr [ecx+0CH], eax mov word ptr [ecx+10H], 0 mov byte ptr [ecx+12H], 0 jmp G_M000_IG19 G_M000_IG40: xor eax, eax mov dword ptr [ecx], eax G_M000_IG41: mov dword ptr [ecx+04H], eax G_M000_IG42: mov dword ptr [ecx+08H], eax mov word ptr [ecx+0CH], 0 mov byte ptr [ecx+0EH], 0 jmp G_M000_IG19 G_M000_IG43: xor eax, eax mov dword ptr [ecx], eax G_M000_IG44: mov dword ptr [ecx+04H], eax mov byte ptr [ecx+08H], 0 jmp G_M000_IG19 G_M000_IG45: call [System.Buffer:_ZeroMemory(byref,uint)] jmp G_M000_IG19 G_M000_IG46: xor eax, eax mov dword ptr [ecx], eax G_M000_IG47: mov dword ptr [ecx+04H], eax G_M000_IG48: mov dword ptr [ecx+08H], eax G_M000_IG49: mov dword ptr [ecx+0CH], eax G_M000_IG50: mov dword ptr [ecx+10H], eax jmp G_M000_IG19 G_M000_IG51: xor eax, eax mov dword ptr [ecx], eax G_M000_IG52: mov dword ptr [ecx+04H], eax G_M000_IG53: mov dword ptr [ecx+08H], eax G_M000_IG54: mov dword ptr [ecx+0CH], eax G_M000_IG55: mov dword ptr [ecx+10H], eax mov word ptr [ecx+14H], 0 jmp G_M000_IG19 G_M000_IG56: xor eax, eax mov dword ptr [ecx], eax G_M000_IG57: mov dword ptr [ecx+04H], eax G_M000_IG58: mov dword ptr [ecx+08H], eax mov word ptr [ecx+0CH], 0 jmp G_M000_IG19 G_M000_IG59: xor eax, eax mov dword ptr [ecx], eax G_M000_IG60: mov dword ptr [ecx+04H], eax mov word ptr [ecx+08H], 0 mov byte ptr [ecx+0AH], 0 jmp G_M000_IG19 G_M000_IG61: xor eax, eax mov dword ptr [ecx], eax G_M000_IG62: mov dword ptr [ecx+04H], eax G_M000_IG63: mov dword ptr [ecx+08H], eax G_M000_IG64: mov dword ptr [ecx+0CH], eax jmp G_M000_IG19 G_M000_IG65: xor eax, eax mov dword ptr [ecx], eax G_M000_IG66: mov dword ptr [ecx+04H], eax G_M000_IG67: mov dword ptr [ecx+08H], eax G_M000_IG68: mov dword ptr [ecx+0CH], eax mov word ptr [ecx+10H], 0 jmp G_M000_IG19 G_M000_IG69: xor eax, eax mov dword ptr [ecx], eax G_M000_IG70: mov dword ptr [ecx+04H], eax G_M000_IG71: mov dword ptr [ecx+08H], eax mov byte ptr [ecx+0CH], 0 jmp G_M000_IG19 G_M000_IG72: xor eax, eax mov dword ptr [ecx], eax G_M000_IG73: mov dword ptr [ecx+04H], eax G_M000_IG74: mov dword ptr [ecx+08H], eax G_M000_IG75: mov dword ptr [ecx+0CH], eax mov byte ptr [ecx+10H], 0 jmp G_M000_IG19 G_M000_IG76: mov word ptr [ecx], 0 jmp G_M000_IG19 G_M000_IG77: mov word ptr [ecx], 0 mov byte ptr [ecx+02H], 0 jmp G_M000_IG19 G_M000_IG78: xor eax, eax mov dword ptr [ecx], eax G_M000_IG79: mov dword ptr [ecx+04H], eax G_M000_IG80: mov dword ptr [ecx+08H], eax G_M000_IG81: mov dword ptr [ecx+0CH], eax G_M000_IG82: mov dword ptr [ecx+10H], eax mov byte ptr [ecx+14H], 0 jmp G_M000_IG19 G_M000_IG83: mov eax, ecx test al, 1 je SHORT G_M000_IG84 mov byte ptr [ecx], 0 mov edi, 1 mov eax, ecx test al, 2 jne G_M000_IG06 G_M000_IG84: mov word ptr [ecx+edi], 0 add edi, 2 jmp G_M000_IG06 G_M000_IG85: mov byte ptr [ecx], 0 jmp G_M000_IG19 RWD00 dd G_M000_IG85 - G_M000_IG02 dd G_M000_IG76 - G_M000_IG02 dd G_M000_IG77 - G_M000_IG02 dd G_M000_IG28 - G_M000_IG02 dd G_M000_IG31 - G_M000_IG02 dd G_M000_IG30 - G_M000_IG02 dd G_M000_IG29 - G_M000_IG02 dd G_M000_IG32 - G_M000_IG02 dd G_M000_IG43 - G_M000_IG02 dd G_M000_IG34 - G_M000_IG02 dd G_M000_IG59 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG69 - G_M000_IG02 dd G_M000_IG56 - G_M000_IG02 dd G_M000_IG40 - G_M000_IG02 dd G_M000_IG61 - G_M000_IG02 dd G_M000_IG72 - G_M000_IG02 dd G_M000_IG65 - G_M000_IG02 dd G_M000_IG36 - G_M000_IG02 dd G_M000_IG46 - G_M000_IG02 dd G_M000_IG78 - G_M000_IG02 dd G_M000_IG51 - G_M000_IG02 ; Total bytes of code 630 1000: JIT compiled System.SpanHelpers:ClearWithoutReferences(byref,uint) [Tier1 with Static PGO, IL size=1369, code size=630] ; Assembly listing for method System.Guid:TryParseExactD(System.ReadOnlySpan`1[ushort],byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 33 inlinees with PGO data; 77 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 304 mov esi, ecx G_M000_IG02: mov edi, dword ptr [ebp+0CH] cmp edi, 36 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, bword ptr [ebp+08H] cmp word ptr [ecx+10H], 45 jne SHORT G_M000_IG04 cmp word ptr [ecx+1AH], 45 jne SHORT G_M000_IG04 cmp word ptr [ecx+24H], 45 jne SHORT G_M000_IG04 cmp word ptr [ecx+2EH], 45 je SHORT G_M000_IG08 G_M000_IG04: mov ecx, esi cmp edi, 36 jne SHORT G_M000_IG05 mov edx, 4 jmp SHORT G_M000_IG06 G_M000_IG05: mov edx, 8 G_M000_IG06: call [System.Guid+GuidResult:SetFailure(int):this] xor eax, eax G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG08: movzx eax, word ptr [ecx+0CH] movzx edx, word ptr [ecx+0EH] mov ebx, 0xD1FFAB1E mov bword ptr [ebp-100H], ebx mov ebx, -1 cmp eax, 256 jae G_M000_IG89 G_M000_IG09: mov ebx, bword ptr [ebp-100H] movsx eax, byte ptr [ebx+eax] G_M000_IG10: shl eax, 4 mov ebx, -1 cmp edx, 256 jae SHORT G_M000_IG12 G_M000_IG11: mov ebx, bword ptr [ebp-100H] movsx ebx, byte ptr [ebx+edx] G_M000_IG12: or ebx, eax mov byte ptr [esi], bl lea eax, bword ptr [esi+01H] mov bword ptr [ebp-C4H], eax movzx edx, word ptr [ecx+08H] movzx eax, word ptr [ecx+0AH] mov dword ptr [ebp-18H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-104H], eax mov eax, -1 cmp edx, 256 jae G_M000_IG88 G_M000_IG13: mov eax, bword ptr [ebp-104H] movsx edx, byte ptr [eax+edx] G_M000_IG14: shl edx, 4 mov dword ptr [ebp-10H], edx mov dword ptr [ebp-14H], -1 mov eax, dword ptr [ebp-18H] cmp eax, 256 jae SHORT G_M000_IG16 G_M000_IG15: mov edx, bword ptr [ebp-104H] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-14H], eax G_M000_IG16: mov edx, dword ptr [ebp-10H] mov eax, edx or eax, dword ptr [ebp-14H] or ebx, eax mov edx, bword ptr [ebp-C4H] mov byte ptr [edx], al lea eax, bword ptr [esi+02H] mov bword ptr [ebp-C8H], eax movzx edx, word ptr [ecx+04H] movzx eax, word ptr [ecx+06H] mov dword ptr [ebp-24H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-108H], eax mov eax, -1 cmp edx, 256 jae G_M000_IG87 G_M000_IG17: mov eax, bword ptr [ebp-108H] movsx edx, byte ptr [eax+edx] G_M000_IG18: shl edx, 4 mov dword ptr [ebp-1CH], edx mov dword ptr [ebp-20H], -1 mov eax, dword ptr [ebp-24H] cmp eax, 256 jae SHORT G_M000_IG20 G_M000_IG19: mov edx, bword ptr [ebp-108H] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-20H], eax G_M000_IG20: mov edx, dword ptr [ebp-1CH] mov eax, edx or eax, dword ptr [ebp-20H] or ebx, eax mov edx, bword ptr [ebp-C8H] mov byte ptr [edx], al lea eax, bword ptr [esi+03H] mov bword ptr [ebp-CCH], eax movzx edx, word ptr [ecx] movzx eax, word ptr [ecx+02H] mov dword ptr [ebp-30H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-10CH], eax mov eax, -1 cmp edx, 256 jae G_M000_IG86 G_M000_IG21: mov eax, bword ptr [ebp-10CH] movsx edx, byte ptr [eax+edx] G_M000_IG22: shl edx, 4 mov dword ptr [ebp-28H], edx mov dword ptr [ebp-2CH], -1 mov eax, dword ptr [ebp-30H] cmp eax, 256 jae SHORT G_M000_IG24 G_M000_IG23: mov edx, bword ptr [ebp-10CH] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-2CH], eax G_M000_IG24: mov edx, dword ptr [ebp-28H] mov eax, edx or eax, dword ptr [ebp-2CH] or ebx, eax mov edx, bword ptr [ebp-CCH] mov byte ptr [edx], al lea eax, bword ptr [esi+04H] mov bword ptr [ebp-D0H], eax movzx edx, word ptr [ecx+16H] movzx eax, word ptr [ecx+18H] mov dword ptr [ebp-3CH], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-110H], eax mov eax, -1 cmp edx, 256 jae G_M000_IG85 G_M000_IG25: mov eax, bword ptr [ebp-110H] movsx edx, byte ptr [eax+edx] G_M000_IG26: shl edx, 4 mov dword ptr [ebp-34H], edx mov dword ptr [ebp-38H], -1 mov eax, dword ptr [ebp-3CH] cmp eax, 256 jae SHORT G_M000_IG28 G_M000_IG27: mov edx, bword ptr [ebp-110H] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-38H], eax G_M000_IG28: mov edx, dword ptr [ebp-34H] mov eax, edx or eax, dword ptr [ebp-38H] or ebx, eax mov edx, bword ptr [ebp-D0H] mov byte ptr [edx], al lea eax, bword ptr [esi+05H] mov bword ptr [ebp-D4H], eax movzx edx, word ptr [ecx+12H] movzx eax, word ptr [ecx+14H] mov dword ptr [ebp-48H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-114H], eax mov eax, -1 cmp edx, 256 jae G_M000_IG84 G_M000_IG29: mov eax, bword ptr [ebp-114H] movsx edx, byte ptr [eax+edx] G_M000_IG30: shl edx, 4 mov dword ptr [ebp-40H], edx mov dword ptr [ebp-44H], -1 mov eax, dword ptr [ebp-48H] cmp eax, 256 jae SHORT G_M000_IG32 G_M000_IG31: mov edx, bword ptr [ebp-114H] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-44H], eax G_M000_IG32: mov edx, dword ptr [ebp-40H] mov eax, edx or eax, dword ptr [ebp-44H] or ebx, eax mov edx, bword ptr [ebp-D4H] mov byte ptr [edx], al lea eax, bword ptr [esi+06H] mov bword ptr [ebp-D8H], eax movzx edx, word ptr [ecx+20H] movzx eax, word ptr [ecx+22H] mov dword ptr [ebp-54H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-118H], eax mov eax, -1 cmp edx, 256 jae G_M000_IG83 G_M000_IG33: mov eax, bword ptr [ebp-118H] movsx edx, byte ptr [eax+edx] G_M000_IG34: shl edx, 4 mov dword ptr [ebp-4CH], edx mov dword ptr [ebp-50H], -1 mov eax, dword ptr [ebp-54H] cmp eax, 256 jae SHORT G_M000_IG36 G_M000_IG35: mov edx, bword ptr [ebp-118H] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-50H], eax G_M000_IG36: mov edx, dword ptr [ebp-4CH] mov eax, edx or eax, dword ptr [ebp-50H] or ebx, eax mov edx, bword ptr [ebp-D8H] mov byte ptr [edx], al lea eax, bword ptr [esi+07H] mov bword ptr [ebp-DCH], eax movzx edx, word ptr [ecx+1CH] movzx eax, word ptr [ecx+1EH] mov dword ptr [ebp-60H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-11CH], eax mov eax, -1 cmp edx, 256 jae G_M000_IG82 G_M000_IG37: mov eax, bword ptr [ebp-11CH] movsx edx, byte ptr [eax+edx] G_M000_IG38: shl edx, 4 mov dword ptr [ebp-58H], edx mov dword ptr [ebp-5CH], -1 mov eax, dword ptr [ebp-60H] cmp eax, 256 jae SHORT G_M000_IG40 G_M000_IG39: mov edx, bword ptr [ebp-11CH] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-5CH], eax G_M000_IG40: mov edx, dword ptr [ebp-58H] mov eax, edx or eax, dword ptr [ebp-5CH] or ebx, eax mov edx, bword ptr [ebp-DCH] mov byte ptr [edx], al lea eax, bword ptr [esi+08H] mov bword ptr [ebp-E0H], eax movzx edx, word ptr [ecx+26H] movzx eax, word ptr [ecx+28H] mov dword ptr [ebp-6CH], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-120H], eax mov eax, -1 cmp edx, 256 jae G_M000_IG81 G_M000_IG41: mov eax, bword ptr [ebp-120H] movsx edx, byte ptr [eax+edx] G_M000_IG42: shl edx, 4 mov dword ptr [ebp-64H], edx mov dword ptr [ebp-68H], -1 mov eax, dword ptr [ebp-6CH] cmp eax, 256 jae SHORT G_M000_IG44 G_M000_IG43: mov edx, bword ptr [ebp-120H] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-68H], eax G_M000_IG44: mov edx, dword ptr [ebp-64H] mov eax, edx or eax, dword ptr [ebp-68H] or ebx, eax mov edx, bword ptr [ebp-E0H] mov byte ptr [edx], al lea eax, bword ptr [esi+09H] mov bword ptr [ebp-E4H], eax movzx edx, word ptr [ecx+2AH] movzx eax, word ptr [ecx+2CH] mov dword ptr [ebp-78H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-124H], eax mov eax, -1 cmp edx, 256 jae G_M000_IG80 G_M000_IG45: mov eax, bword ptr [ebp-124H] movsx edx, byte ptr [eax+edx] G_M000_IG46: shl edx, 4 mov dword ptr [ebp-70H], edx mov dword ptr [ebp-74H], -1 mov eax, dword ptr [ebp-78H] cmp eax, 256 jae SHORT G_M000_IG48 G_M000_IG47: mov edx, bword ptr [ebp-124H] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-74H], eax G_M000_IG48: mov edx, dword ptr [ebp-70H] mov eax, edx or eax, dword ptr [ebp-74H] or ebx, eax mov edx, bword ptr [ebp-E4H] mov byte ptr [edx], al lea eax, bword ptr [esi+0AH] mov bword ptr [ebp-E8H], eax movzx edx, word ptr [ecx+30H] movzx eax, word ptr [ecx+32H] mov dword ptr [ebp-84H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-128H], eax mov eax, -1 cmp edx, 256 jae G_M000_IG79 G_M000_IG49: mov eax, bword ptr [ebp-128H] movsx edx, byte ptr [eax+edx] G_M000_IG50: shl edx, 4 mov dword ptr [ebp-7CH], edx mov dword ptr [ebp-80H], -1 mov eax, dword ptr [ebp-84H] cmp eax, 256 jae SHORT G_M000_IG52 G_M000_IG51: mov edx, bword ptr [ebp-128H] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-80H], eax G_M000_IG52: mov edx, dword ptr [ebp-7CH] mov eax, edx or eax, dword ptr [ebp-80H] or ebx, eax mov edx, bword ptr [ebp-E8H] mov byte ptr [edx], al lea eax, bword ptr [esi+0BH] mov bword ptr [ebp-ECH], eax movzx edx, word ptr [ecx+34H] movzx eax, word ptr [ecx+36H] mov dword ptr [ebp-90H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-12CH], eax mov eax, -1 cmp edx, 256 jae G_M000_IG78 G_M000_IG53: mov eax, bword ptr [ebp-12CH] movsx edx, byte ptr [eax+edx] G_M000_IG54: shl edx, 4 mov dword ptr [ebp-88H], edx mov dword ptr [ebp-8CH], -1 mov eax, dword ptr [ebp-90H] cmp eax, 256 jae SHORT G_M000_IG56 G_M000_IG55: mov edx, bword ptr [ebp-12CH] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-8CH], eax G_M000_IG56: mov edx, dword ptr [ebp-88H] mov eax, edx or eax, dword ptr [ebp-8CH] or ebx, eax mov edx, bword ptr [ebp-ECH] mov byte ptr [edx], al lea eax, bword ptr [esi+0CH] mov bword ptr [ebp-F0H], eax movzx edx, word ptr [ecx+38H] movzx eax, word ptr [ecx+3AH] mov dword ptr [ebp-9CH], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-130H], eax mov eax, -1 cmp edx, 256 jae G_M000_IG77 G_M000_IG57: mov eax, bword ptr [ebp-130H] movsx edx, byte ptr [eax+edx] G_M000_IG58: shl edx, 4 mov dword ptr [ebp-94H], edx mov dword ptr [ebp-98H], -1 mov eax, dword ptr [ebp-9CH] cmp eax, 256 jae SHORT G_M000_IG60 G_M000_IG59: mov edx, bword ptr [ebp-130H] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-98H], eax G_M000_IG60: mov edx, dword ptr [ebp-94H] mov eax, edx or eax, dword ptr [ebp-98H] or ebx, eax mov edx, bword ptr [ebp-F0H] mov byte ptr [edx], al lea eax, bword ptr [esi+0DH] mov bword ptr [ebp-F4H], eax movzx edx, word ptr [ecx+3CH] movzx eax, word ptr [ecx+3EH] mov dword ptr [ebp-A8H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-134H], eax mov eax, -1 cmp edx, 256 jae G_M000_IG76 G_M000_IG61: mov eax, bword ptr [ebp-134H] movsx edx, byte ptr [eax+edx] G_M000_IG62: shl edx, 4 mov dword ptr [ebp-A0H], edx mov dword ptr [ebp-A4H], -1 mov eax, dword ptr [ebp-A8H] cmp eax, 256 jae SHORT G_M000_IG64 G_M000_IG63: mov edx, bword ptr [ebp-134H] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-A4H], eax G_M000_IG64: mov edx, dword ptr [ebp-A0H] mov eax, edx or eax, dword ptr [ebp-A4H] or ebx, eax mov edx, bword ptr [ebp-F4H] mov byte ptr [edx], al lea eax, bword ptr [esi+0EH] mov bword ptr [ebp-F8H], eax movzx edx, word ptr [ecx+40H] movzx eax, word ptr [ecx+42H] mov dword ptr [ebp-B4H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-138H], eax mov eax, -1 cmp edx, 256 jae G_M000_IG75 G_M000_IG65: mov eax, bword ptr [ebp-138H] movsx edx, byte ptr [eax+edx] G_M000_IG66: shl edx, 4 mov dword ptr [ebp-ACH], edx mov dword ptr [ebp-B0H], -1 mov eax, dword ptr [ebp-B4H] cmp eax, 256 jae SHORT G_M000_IG68 G_M000_IG67: mov edx, bword ptr [ebp-138H] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-B0H], eax G_M000_IG68: mov edx, dword ptr [ebp-ACH] mov eax, edx or eax, dword ptr [ebp-B0H] or ebx, eax mov edx, bword ptr [ebp-F8H] mov byte ptr [edx], al lea eax, bword ptr [esi+0FH] mov bword ptr [ebp-FCH], eax movzx edx, word ptr [ecx+44H] movzx eax, word ptr [ecx+46H] mov dword ptr [ebp-C0H], eax mov eax, 0xD1FFAB1E mov bword ptr [ebp-13CH], eax mov eax, -1 cmp edx, 256 jae SHORT G_M000_IG74 G_M000_IG69: mov eax, bword ptr [ebp-13CH] movsx edx, byte ptr [eax+edx] G_M000_IG70: shl edx, 4 mov dword ptr [ebp-B8H], edx mov dword ptr [ebp-BCH], -1 mov eax, dword ptr [ebp-C0H] cmp eax, 256 jae SHORT G_M000_IG72 G_M000_IG71: mov edx, bword ptr [ebp-13CH] movsx eax, byte ptr [edx+eax] mov dword ptr [ebp-BCH], eax G_M000_IG72: mov edx, dword ptr [ebp-B8H] mov eax, edx or eax, dword ptr [ebp-BCH] or ebx, eax mov edx, bword ptr [ebp-FCH] mov byte ptr [edx], al test ebx, ebx jl G_M000_IG90 mov eax, 1 G_M000_IG73: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG74: mov edx, eax jmp SHORT G_M000_IG70 G_M000_IG75: mov edx, eax jmp G_M000_IG66 G_M000_IG76: mov edx, eax jmp G_M000_IG62 G_M000_IG77: mov edx, eax jmp G_M000_IG58 G_M000_IG78: mov edx, eax jmp G_M000_IG54 G_M000_IG79: mov edx, eax jmp G_M000_IG50 G_M000_IG80: mov edx, eax jmp G_M000_IG46 G_M000_IG81: mov edx, eax jmp G_M000_IG42 G_M000_IG82: mov edx, eax jmp G_M000_IG38 G_M000_IG83: mov edx, eax jmp G_M000_IG34 G_M000_IG84: mov edx, eax jmp G_M000_IG30 G_M000_IG85: mov edx, eax jmp G_M000_IG26 G_M000_IG86: mov edx, eax jmp G_M000_IG22 G_M000_IG87: mov edx, eax jmp G_M000_IG18 G_M000_IG88: mov edx, eax jmp G_M000_IG14 G_M000_IG89: mov eax, ebx jmp G_M000_IG10 G_M000_IG90: push 120 push 43 push edi 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_IG92 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_IG92 mov eax, 1 G_M000_IG91: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG92: mov ecx, esi mov edx, 7 call [System.Guid+GuidResult:SetFailure(int):this] xor eax, eax G_M000_IG93: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 2161 1001: JIT compiled System.Guid:TryParseExactD(System.ReadOnlySpan`1[ushort],byref) [Tier1, IL size=758, code size=2161] ; Assembly listing for method System.Tests.Perf_Guid:ParseExactD():System.Guid:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 4 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E add ecx, 8 mov eax, 0xD1FFAB1E add eax, 8 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 35 1002: JIT compiled System.Tests.Perf_Guid:ParseExactD() [Tier1, IL size=16, code size=35] ; Assembly listing for method System.Guid:ParseExact(System.String,System.String):System.Guid ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 4 inlinees with PGO data; 4 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, 0x227D 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 1003: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 8 inlinees with PGO data; 16 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 28 vzeroupper xor eax, eax mov dword ptr [ebp-28H], eax mov esi, ecx G_M000_IG02: cmp dword ptr [ebp+0CH], 1 jne G_M000_IG19 mov edi, bword ptr [ebp+10H] mov ebx, dword ptr [ebp+14H] test ebx, ebx je SHORT G_M000_IG07 G_M000_IG03: movzx ecx, word ptr [edi] cmp ecx, 256 jae SHORT G_M000_IG04 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG08 jmp SHORT G_M000_IG05 G_M000_IG04: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG08 G_M000_IG05: lea ecx, [ebx-01H] movzx ecx, word ptr [edi+2*ecx] cmp ecx, 256 jae SHORT G_M000_IG06 test byte ptr [ecx+D1FFAB1EH], 128 jne SHORT G_M000_IG08 jmp SHORT G_M000_IG07 G_M000_IG06: call [System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):bool] test eax, eax jne SHORT G_M000_IG08 G_M000_IG07: mov bword ptr [ebp-28H], edi mov dword ptr [ebp-24H], ebx jmp SHORT G_M000_IG09 G_M000_IG08: push ebx push edi lea ecx, [ebp-28H] call [System.MemoryExtensions:g__TrimFallback|194_0(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort]] G_M000_IG09: mov ecx, bword ptr [ebp-28H] mov bword ptr [ebp+10H], ecx mov ecx, dword ptr [ebp-24H] mov dword ptr [ebp+14H], ecx xor ecx, ecx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-20H], xmm0 mov dword ptr [ebp-10H], ecx 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_IG10: cmp eax, 98 je SHORT G_M000_IG13 cmp eax, 100 jne G_M000_IG21 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 G_M000_IG17 G_M000_IG11: cmp eax, 110 je SHORT G_M000_IG12 cmp eax, 112 je SHORT G_M000_IG16 cmp eax, 120 jne G_M000_IG21 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_IG17 G_M000_IG12: 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_IG17 G_M000_IG13: mov ecx, bword ptr [ebp+10H] mov eax, dword ptr [ebp+14H] cmp eax, 38 jne SHORT G_M000_IG14 cmp word ptr [ecx], 123 jne SHORT G_M000_IG14 cmp word ptr [ecx+4AH], 125 je SHORT G_M000_IG15 G_M000_IG14: lea ecx, [ebp-20H] mov edx, 8 call [System.Guid+GuidResult:SetFailure(int):this] jmp SHORT G_M000_IG17 G_M000_IG15: 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_IG17 G_M000_IG16: mov edi, bword ptr [ebp+10H] mov ebx, dword ptr [ebp+14H] cmp ebx, 38 jne SHORT G_M000_IG14 cmp word ptr [edi], 40 jne SHORT G_M000_IG14 cmp word ptr [edi+4AH], 41 jne SHORT G_M000_IG14 cmp ebx, 1 jb SHORT G_M000_IG20 dec ebx cmp ebx, 36 jb SHORT G_M000_IG20 add edi, 2 push 36 push edi lea ecx, [ebp-20H] call [System.Guid:TryParseExactD(System.ReadOnlySpan`1[ushort],byref):bool] G_M000_IG17: vmovups xmm0, xmmword ptr [ebp-20H] vmovups xmmword ptr [esi], xmm0 G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG19: call [System.Guid:ThrowBadGuidFormatSpecification()] int3 G_M000_IG20: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG21: 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 int3 ; Total bytes of code 433 1004: JIT compiled System.Guid:ParseExact(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]) [Tier1, IL size=155, code size=433] ; Assembly listing for method System.GC:SuppressFinalize(System.Object) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: test ecx, ecx je SHORT G_M000_IG04 call System.GC:_SuppressFinalize(System.Object) G_M000_IG03: pop ebp ret G_M000_IG04: mov ecx, 0x12E9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 ; Total bytes of code 38 1005: JIT compiled System.GC:SuppressFinalize(System.Object) [Tier1, IL size=18, code size=38] ; Assembly listing for method System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref):ushort ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 G_M000_IG02: xor edx, edx mov eax, dword ptr [ebp+0CH] test eax, eax jle G_M000_IG14 G_M000_IG03: mov esi, bword ptr [ebp+08H] movzx edx, word ptr [esi] mov dword ptr [ebp-10H], edx mov edi, edx or edi, 32 add edi, -97 cmp edi, 25 ja SHORT G_M000_IG04 cmp eax, 1 jne SHORT G_M000_IG05 mov dword ptr [ecx], -1 jmp G_M000_IG18 G_M000_IG04: mov edx, dword ptr [ebp-10H] jmp G_M000_IG14 G_M000_IG05: cmp eax, 2 jne SHORT G_M000_IG06 movzx edi, word ptr [esi+02H] add edi, -48 cmp edi, 10 jae SHORT G_M000_IG07 mov dword ptr [ecx], edi jmp G_M000_IG18 G_M000_IG06: cmp eax, 3 jne SHORT G_M000_IG07 movzx edi, word ptr [esi+02H] add edi, -48 movzx ebx, word ptr [esi+04H] add ebx, -48 cmp edi, 10 jae SHORT G_M000_IG07 cmp ebx, 10 jae SHORT G_M000_IG07 lea eax, [edi+4*edi] add eax, eax add eax, ebx mov dword ptr [ecx], eax jmp SHORT G_M000_IG18 G_M000_IG07: xor edi, edi mov ebx, 1 jmp SHORT G_M000_IG09 G_M000_IG08: cmp edi, 0xD1FFAB1E jge SHORT G_M000_IG20 inc ebx lea ecx, [edi+4*edi] lea edi, [edx+2*ecx-30H] mov ecx, bword ptr [ebp-14H] G_M000_IG09: cmp ebx, eax jae SHORT G_M000_IG11 mov bword ptr [ebp-14H], ecx movzx edx, word ptr [esi+2*ebx] lea ecx, [edx-30H] cmp ecx, 9 jbe SHORT G_M000_IG08 G_M000_IG10: mov ecx, bword ptr [ebp-14H] G_M000_IG11: cmp ebx, eax jae SHORT G_M000_IG12 movzx esi, word ptr [esi+2*ebx] test esi, esi jne SHORT G_M000_IG13 G_M000_IG12: mov dword ptr [ecx], edi jmp SHORT G_M000_IG18 G_M000_IG13: mov edx, dword ptr [ebp-10H] G_M000_IG14: mov dword ptr [ecx], -1 test eax, eax je SHORT G_M000_IG16 test edx, edx je SHORT G_M000_IG16 xor eax, eax G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG16: mov eax, 71 G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG18: mov edx, dword ptr [ebp-10H] movzx eax, dx G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG20: call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 ; Total bytes of code 265 1006: JIT compiled System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref) [Tier1, IL size=259, code size=265] ; Assembly listing for method System.Number+BigInteger:Compare(byref,byref):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 19 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 sbb edi, 0 setge al movzx eax, al mov edx, 1 mov ecx, -1 test eax, eax mov eax, ecx cmovne eax, edx G_M000_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 91 1007: JIT compiled System.Number+BigInteger:Compare(byref,byref) [Tier1 with Static PGO, IL size=97, code size=91] ; Assembly listing for method System.UInt64:CreateTruncating[uint](uint):ulong ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data G_M000_IG01: G_M000_IG02: xor edx, edx mov eax, ecx G_M000_IG03: ret ; Total bytes of code 5 1008: JIT compiled System.UInt64:CreateTruncating[uint](uint) [Tier1, IL size=74, code size=5] ; Assembly listing for method System.UInt64:TryConvertFromTruncating[uint](uint,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov dword ptr [edx], ecx xor eax, eax mov dword ptr [edx+04H], eax mov eax, 1 G_M000_IG03: pop ebp ret ; Total bytes of code 17 1009: JIT compiled System.UInt64:TryConvertFromTruncating[uint](uint,byref) [Tier1, IL size=371, code size=17] ; Assembly listing for method System.Number+BigInteger:HeuristicDivide(byref,byref):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 11 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: 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_IG12 G_M000_IG03: xor eax, eax xor edx, edx mov dword ptr [ebp-4CH], edx xor edx, edx mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-4CH] mov dword ptr [ebp-1CH], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-20H], edx xor edx, edx mov dword ptr [ebp-50H], edx xor edx, edx mov dword ptr [ebp-4CH], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-24H], edx mov edx, dword ptr [ebp-4CH] mov dword ptr [ebp-28H], edx G_M000_IG04: 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-24H] add eax, ecx mov ecx, dword ptr [ebp-28H] adc ecx, edx mov dword ptr [ebp-2CH], eax xor edx, edx mov dword ptr [ebp-24H], ecx mov dword ptr [ebp-28H], edx mov ecx, dword ptr [ebp-18H] mov edx, dword ptr [esi+4*ecx+04H] xor eax, eax sub edx, dword ptr [ebp-2CH] sbb eax, 0 sub edx, dword ptr [ebp-1CH] sbb eax, dword ptr [ebp-20H] mov dword ptr [ebp-30H], edx xor edx, edx and eax, 1 and edx, 0 mov dword ptr [ebp-1CH], eax mov eax, dword ptr [ebp-30H] mov dword ptr [esi+4*ecx+04H], eax inc ecx cmp ecx, ebx mov dword ptr [ebp-20H], edx mov eax, ecx jl SHORT G_M000_IG11 G_M000_IG05: test ebx, ebx jle SHORT G_M000_IG06 cmp dword ptr [esi+4*ebx], 0 je G_M000_IG22 G_M000_IG06: mov dword ptr [esi], ebx G_M000_IG07: mov ecx, esi mov edx, edi call [System.Number+BigInteger:Compare(byref,byref):int] test eax, eax jge SHORT G_M000_IG17 G_M000_IG08: mov ecx, dword ptr [ebp-14H] G_M000_IG09: mov eax, ecx G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG11: mov ecx, dword ptr [ebp-14H] jmp G_M000_IG04 G_M000_IG12: mov dword ptr [ebp-14H], ecx jmp SHORT G_M000_IG07 G_M000_IG13: dec ebx G_M000_IG14: test ebx, ebx jle SHORT G_M000_IG16 G_M000_IG15: cmp dword ptr [esi+4*ebx], 0 je SHORT G_M000_IG13 G_M000_IG16: mov dword ptr [esi], ebx jmp SHORT G_M000_IG09 G_M000_IG17: mov ecx, dword ptr [ebp-14H] inc ecx xor eax, eax xor edx, edx mov dword ptr [ebp-4CH], edx xor edx, edx mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-4CH] mov dword ptr [ebp-34H], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-38H], edx G_M000_IG18: mov edx, dword ptr [esi+4*eax+04H] mov dword ptr [ebp-50H], edx xor edx, edx mov dword ptr [ebp-4CH], edx mov edx, dword ptr [ebp-50H] sub edx, dword ptr [edi+4*eax+04H] mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-4CH] sbb edx, 0 mov dword ptr [ebp-4CH], edx mov edx, dword ptr [ebp-50H] sub edx, dword ptr [ebp-34H] mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-4CH] sbb edx, dword ptr [ebp-38H] mov dword ptr [ebp-4CH], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-3CH], edx mov edx, dword ptr [ebp-4CH] mov dword ptr [ebp-40H], edx xor edx, edx mov dword ptr [ebp-4CH], edx mov edx, dword ptr [ebp-40H] and edx, 1 mov dword ptr [ebp-50H], edx mov edx, dword ptr [ebp-4CH] and edx, 0 mov dword ptr [ebp-4CH], edx mov edx, dword ptr [ebp-50H] mov dword ptr [ebp-34H], edx mov edx, dword ptr [ebp-4CH] mov dword ptr [ebp-38H], edx mov edx, dword ptr [ebp-3CH] mov dword ptr [esi+4*eax+04H], edx inc eax cmp eax, ebx jl SHORT G_M000_IG18 G_M000_IG19: jmp G_M000_IG14 G_M000_IG20: xor eax, eax G_M000_IG21: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG22: dec ebx jmp G_M000_IG05 ; Total bytes of code 416 1010: JIT compiled System.Number+BigInteger:HeuristicDivide(byref,byref) [Tier1 with Static PGO, IL size=363, code size=416] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 411 ; 2 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi 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_IG16 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_IG09 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_IG08 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 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-24H] call System.Runtime.DependentHandle:InternalGetTargetAndDependent(int,byref):System.Object test eax, eax je SHORT G_M000_IG10 mov edi, gword ptr [ebp-24H] mov ecx, 1 G_M000_IG05: xor edx, edx mov gword ptr [ebp-24H], edx test ecx, ecx je SHORT G_M000_IG07 mov edx, gword ptr [ebp-28H] 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-28H] mov edx, dword ptr [eax+0CH] mov ecx, gword ptr [ebp-28H] cmp edx, dword ptr [ecx+08H] jl SHORT G_M000_IG04 G_M000_IG08: mov dword ptr [ebp-18H], 0 mov dword ptr [ebp-14H], 252 push G_M000_IG13 jmp SHORT G_M000_IG14 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 ecx, gword ptr [ebp-28H] add ecx, 16 mov edx, ecx call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX lea edx, bword ptr [ecx+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI G_M000_IG12: cmp byte ptr [ebp-20H], 0 je SHORT G_M000_IG18 mov ecx, gword ptr [ebp-2CH] call System.Threading.Monitor:Exit(System.Object) jmp SHORT G_M000_IG18 G_M000_IG13: mov dword ptr [ebp-14H], 0 jmp SHORT G_M000_IG16 G_M000_IG14: cmp byte ptr [ebp-20H], 0 je SHORT G_M000_IG15 mov ecx, gword ptr [ebp-2CH] 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, 1 G_M000_IG19: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 306 1011: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:MoveNext() [Tier1 with Static PGO, IL size=124, code size=306] ; Assembly listing for method System.Number+BigInteger:Multiply10():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 9 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 G_M000_IG02: 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 mov dword ptr [ebp-10H], eax 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 140 1012: JIT compiled System.Number+BigInteger:Multiply10() [Tier1 with Static PGO, IL size=122, code size=140] ; Assembly listing for method System.Runtime.InteropServices.SafeHandle:InternalRelease(bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 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-20H], eax mov esi, ecx mov edi, edx G_M000_IG02: mov ebx, dword ptr [esi+08H] mov dword ptr [ebp-10H], edi mov eax, edi movzx eax, al mov dword ptr [ebp-1CH], eax test eax, eax je SHORT G_M000_IG05 G_M000_IG03: test bl, 2 je SHORT G_M000_IG05 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG05: mov edx, ebx and edx, -4 mov dword ptr [ebp-18H], edx test edx, edx je G_M000_IG15 mov ecx, ebx and ecx, -3 cmp ecx, 4 jne SHORT G_M000_IG07 G_M000_IG06: cmp byte ptr [esi+0CH], 0 je SHORT G_M000_IG07 mov ecx, esi mov gword ptr [ebp-20H], ecx mov ecx, dword ptr [esi] mov ecx, dword ptr [ecx+28H] mov dword ptr [ebp-24H], ecx mov ecx, gword ptr [ebp-20H] mov edi, dword ptr [ebp-24H] call [edi+10H]System.Runtime.InteropServices.SafeHandle:get_IsInvalid():bool:this test eax, eax sete al movzx eax, al jmp SHORT G_M000_IG08 G_M000_IG07: xor ecx, ecx mov eax, ecx G_M000_IG08: movzx ecx, al mov dword ptr [ebp-14H], ecx lea eax, [ebx-04H] cmp dword ptr [ebp-18H], 4 jne SHORT G_M000_IG10 G_M000_IG09: or eax, 1 G_M000_IG10: cmp dword ptr [ebp-1CH], 0 je SHORT G_M000_IG12 G_M000_IG11: or eax, 2 G_M000_IG12: lea edx, bword ptr [esi+08H] mov ecx, eax mov eax, ebx lock cmpxchg dword ptr [edx], ecx cmp eax, ebx movzx edi, byte ptr [ebp-10H] jne G_M000_IG02 G_M000_IG13: cmp dword ptr [ebp-14H], 0 je SHORT 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) G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG15: mov ecx, esi call [System.ThrowHelper:ThrowObjectDisposedException(System.Object)] int3 ; Total bytes of code 214 1013: JIT compiled System.Runtime.InteropServices.SafeHandle:InternalRelease(bool) [Tier1, IL size=120, code size=214] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_PerfectInvocationCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 1014: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_PerfectInvocationCount() [Tier0, IL size=7, code size=35] ; Assembly listing for method BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_Measurements():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1015: JIT compiled BenchmarkDotNet.Engines.EnginePilotStage+PilotStageResult:get_Measurements() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_EvaluateOverhead():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] movzx eax, byte ptr [eax+65H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 18 1016: JIT compiled BenchmarkDotNet.Engines.Engine:get_EvaluateOverhead() [Tier0, IL size=7, code size=18] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_UnrollFactor():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+5CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1017: JIT compiled BenchmarkDotNet.Engines.Engine:get_UnrollFactor() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:RunOverhead(long,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] push dword ptr [ebp-08H] push 0 mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Engines.EngineWarmupStage:Run(long,int,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 40 1018: JIT compiled BenchmarkDotNet.Engines.EngineWarmupStage:RunOverhead(long,int) [Tier0, IL size=11, code size=40] ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:Run(long,int,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 427 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] call [BenchmarkDotNet.Engines.IEngine:get_TargetJob():BenchmarkDotNet.Jobs.Job:this] mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] call [BenchmarkDotNet.Engines.IEngine:get_Resolver():BenchmarkDotNet.Characteristics.IResolver:this] push eax push dword ptr [ebp-08H] push dword ptr [ebp+08H] mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] mov eax, gword ptr [ebp-10H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmup(BenchmarkDotNet.Jobs.Job,BenchmarkDotNet.Characteristics.IResolver,int,int):BenchmarkDotNet.Engines.IStoppingCriteria:this mov gword ptr [ebp-0CH], eax push dword ptr [ebp+14H] push dword ptr [ebp+10H] push dword ptr [ebp-08H] push 2 push dword ptr [ebp+0CH] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-0CH] call [BenchmarkDotNet.Engines.EngineStage:Run(BenchmarkDotNet.Engines.IStoppingCriteria,long,int,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this; Assembly listing for method System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows] ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 79033 ; 1 inlinees with PGO data; 13 single block inlinees; 0 inlinees without PGO data G_M000_IG03: mov esp, ebp pop ebp ret 16 ; Total bytes of code 133 1019: JIT compiled BenchmarkDotNet.Engines.EngineWarmupStage:Run(long,int,int,int) [Tier0, IL size=48, code size=133] G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 136 vzeroupper vxorps 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 ; Assembly listing for method BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible 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 G_M000_IG01: mov push dword ptr [ebp ebp-10H], 0xD1FFAB1E mov mov esi, ecx ebp, esp mov edi, edx push G_M000_IG02: eax mov xor ebx, gword ptr [ebp+10H] eax, eax mov mov eax, esi dword ptr [ebp-04H], eax cmp G_M000_IG02: byte ptr [eax mov ]ecx, , al 0xD1FFAB1E mov ecx, esi call call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax System.ModuleHandle:_GetMetadataImport(System.Reflection.RuntimeModule):int mov ecx, gword ptr [ebp-04H] mov call gword ptr [ebp-60H], esi [BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.ctor():this] mov dword ptr [ebp-5CH], eax mov eax, gword ptr [ebp-04H] push edi mov lea edx, 0xD1FFAB1E ecx, [ebp-58H] call push ecx CORINFO_HELP_ASSIGN_REF_EAX mov G_M000_IG03: ecx, dword ptr [ebp-5CH] mov esp, ebp mov edx, 0xD1FFAB1E pop call ebp ret ; Total bytes of code 48 System.Reflection.MetadataImport:_Enum(int,int,int,byref) cmp dword ptr [ebp-54H], 0 jne SHORT G_M000_IG09 G_M000_IG03: xor eax, eax 1020: JIT compiled BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.cctor() [Tier0, IL size=11, code size=48] 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 ; Assembly listing for method BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible movzx edx, byte ptr [ebp+08H] push edx lea edx, [ebp-7CH] push edx G_M000_IG01: lea edx, [ebp-84H] push edx push lea edx, [ebp-88H] ebp push edx mov lea edx, [ebp-8CH] push edx ebp, esp lea edx, [ebp-60H] push call eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] [System.Reflection.CustomAttribute:FilterCustomAttributeRecord(System.Reflection.MetadataToken,byref,System.Reflection.RuntimeModule,System.Reflection.MetadataToken,System.RuntimeType,bool,byref,byref,byref,byref):bool] call test eax, eax jne [System.Object:.ctor():this] SHORT G_M000_IG14 G_M000_IG03: G_M000_IG07: mov mov esp, ebp eax, dword ptr [ebp-80H] pop ebp ret inc eax cmp ; Total bytes of code 20 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 1021: JIT compiled BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:.ctor() [Tier0, IL size=7, code size=20] mov dword ptr [ebp-68H], ecx mov dword ptr [ebp-64H], ecx test ebx, ebx je SHORT G_M000_IG16 vxorps 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: 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 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 eax, dword ptr [ebp-64H] mov edi, dword ptr [ebp+0CH] cmp eax, edi jne SHORT G_M000_IG19 mov eax, 1 cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG18 call ; Assembly listing for method BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmup(BenchmarkDotNet.Jobs.Job,BenchmarkDotNet.Characteristics.IResolver,int,int):BenchmarkDotNet.Engines.IStoppingCriteria:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows CORINFO_HELP_FAIL_FAST ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG19: inc esi mov dword ptr [ebp+0CH], edi G_M000_IG20: cmp esi, dword ptr [ebp-54H] jl SHORT G_M000_IG17 jmp G_M000_IG12 G_M000_IG21: call CORINFO_HELP_RNGCHKFAIL G_M000_IG01: int3 push ebp ; Total bytes of code 452 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 1022: JIT compiled System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool) [Tier1 with Static PGO, IL size=216, code size=452] 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 1023: JIT compiled BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmup(BenchmarkDotNet.Jobs.Job,BenchmarkDotNet.Characteristics.IResolver,int,int) [Tier0, IL size=45, code size=165] ; Assembly listing for method BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmupOverhead():BenchmarkDotNet.Engines.IStoppingCriteria:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax push 10 push 4 mov ecx, gword ptr [ebp-08H] mov edx, 4 call [BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:.ctor(int,int,int):this] mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 1024: JIT compiled BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmupOverhead() [Tier0, IL size=10, code size=52] ; Assembly listing for method BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:.ctor(int,int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vxorps xmm4, xmm4 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 1025: JIT compiled BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:.ctor(int,int,int) [Tier0, IL size=170, code size=263] ; Assembly listing for method BenchmarkDotNet.Engines.StoppingCriteriaBase:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4 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 1026: JIT compiled BenchmarkDotNet.Engines.StoppingCriteriaBase:.ctor() [Tier0, IL size=78, code size=274] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:Run(BenchmarkDotNet.Engines.IStoppingCriteria,long,int,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 60 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-40H], eax mov dword ptr [ebp-3CH], eax mov edi, ecx mov esi, edx mov ebx, dword ptr [ebp+10H] G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-48H], eax mov ecx, esi call [BenchmarkDotNet.Engines.IStoppingCriteria:get_MaxIterationCount():int:this] mov edx, eax mov ecx, gword ptr [ebp-48H] call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor(int):this] mov eax, gword ptr [ebp-48H] mov gword ptr [ebp-44H], eax push eax lea edx, [ebp-18H] mov ecx, esi call [BenchmarkDotNet.Engines.IStoppingCriteria:Evaluate(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Engines.StoppingResult:this] cmp byte ptr [ebp-14H], 0 je SHORT G_M000_IG05 G_M000_IG03: mov ecx, gword ptr [edi+04H] call [BenchmarkDotNet.Engines.IEngine:WriteLine():this] mov eax, gword ptr [ebp-44H] G_M000_IG04: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 G_M000_IG05: xor edx, edx G_M000_IG06: inc edx mov dword ptr [ebp+10H], ebx push ebx push dword ptr [ebp+0CH] mov dword ptr [ebp-10H], edx push edx push dword ptr [ebp+18H] push dword ptr [ebp+14H] push dword ptr [ebp+08H] lea edx, [ebp-38H] mov ecx, edi call [BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int):BenchmarkDotNet.Reports.Measurement:this] mov eax, gword ptr [ebp-44H] inc dword ptr [eax+0CH] mov ecx, gword ptr [eax+04H] mov edx, dword ptr [eax+08H] mov ebx, dword ptr [ecx+04H] cmp ebx, edx jbe SHORT G_M000_IG08 G_M000_IG07: lea ebx, [edx+01H] mov dword ptr [eax+08H], ebx shl edx, 5 vmovdqu ymm0, ymmword ptr [ebp-38H] vmovdqu ymmword ptr [ecx+edx+08H], ymm0 jmp SHORT G_M000_IG09 G_M000_IG08: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-38H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-28H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, eax call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] mov eax, gword ptr [ebp-44H] G_M000_IG09: push eax lea edx, [ebp-40H] mov ecx, esi call [BenchmarkDotNet.Engines.IStoppingCriteria:Evaluate(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Engines.StoppingResult:this] cmp byte ptr [ebp-3CH], 0 mov edx, dword ptr [ebp-10H] mov ebx, dword ptr [ebp+10H] je G_M000_IG06 G_M000_IG10: mov ecx, gword ptr [edi+04H] call [BenchmarkDotNet.Engines.IEngine:WriteLine():this] mov eax, gword ptr [ebp-44H] G_M000_IG11: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 20 ; Total bytes of code 277 1027: JIT compiled BenchmarkDotNet.Engines.EngineStage:Run(BenchmarkDotNet.Engines.IStoppingCriteria,long,int,int,int) [Tier-0 switched to FullOpts, IL size=81, code size=277] ; Assembly listing for method BenchmarkDotNet.Engines.StoppingCriteriaBase:get_MaxIterationCount():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] cmp dword ptr [ecx], ecx call [System.Lazy`1[int]:get_Value():int:this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 1028: JIT compiled BenchmarkDotNet.Engines.StoppingCriteriaBase:get_MaxIterationCount() [Tier0, IL size=12, code size=25] ; Assembly listing for method System.Lazy`1[int]:get_Value():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp gword ptr [ecx+04H], 0 je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] call [System.Lazy`1[int]:CreateValue():int:this] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 39 1029: JIT compiled System.Lazy`1[int]:get_Value() [Tier0, IL size=24, code size=39] ; Assembly listing for method System.Lazy`1[int]:CreateValue():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-08H], ecx cmp gword ptr [ebp-08H], 0 je G_M000_IG12 mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.LazyHelper:get_State():int:this] mov dword ptr [ebp-0CH], eax cmp dword ptr [ebp-0CH], 8 ja SHORT G_M000_IG03 mov ecx, dword ptr [ebp-0CH] lea eax, [@RWD00] mov eax, dword ptr [eax+4*ecx] lea edx, G_M000_IG02 add eax, edx jmp eax G_M000_IG03: jmp SHORT G_M000_IG11 G_M000_IG04: mov ecx, gword ptr [ebp-04H] call [System.Lazy`1[int]:ViaConstructor():this] jmp SHORT G_M000_IG12 G_M000_IG05: mov ecx, gword ptr [ebp-04H] xor edx, edx call [System.Lazy`1[int]:ViaFactory(int):this] jmp SHORT G_M000_IG12 G_M000_IG06: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Lazy`1[int]:PublicationOnlyViaConstructor(System.LazyHelper):this] jmp SHORT G_M000_IG12 G_M000_IG07: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Lazy`1[int]:PublicationOnlyViaFactory(System.LazyHelper):this] jmp SHORT G_M000_IG12 G_M000_IG08: mov ecx, gword ptr [ebp-04H] call [System.Lazy`1[int]:PublicationOnlyWaitForOtherThreadToPublish():this] jmp SHORT G_M000_IG12 G_M000_IG09: push 1 mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Lazy`1[int]:ExecutionAndPublication(System.LazyHelper,bool):this] jmp SHORT G_M000_IG12 G_M000_IG10: push 0 mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Lazy`1[int]:ExecutionAndPublication(System.LazyHelper,bool):this] jmp SHORT G_M000_IG12 G_M000_IG11: mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.LazyHelper:ThrowException():this] G_M000_IG12: mov ecx, gword ptr [ebp-04H] call [System.Lazy`1[int]:get_Value():int:this] G_M000_IG13: mov esp, ebp pop ebp ret RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG05 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 ; Total bytes of code 196 1030: JIT compiled System.Lazy`1[int]:CreateValue() [Tier0, IL size=139, code size=196] ; Assembly listing for method System.Lazy`1[int]:ExecutionAndPublication(System.LazyHelper,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx mov gword ptr [ebp-1CH], edx G_M000_IG02: mov edx, gword ptr [ebp-1CH] mov gword ptr [ebp-20H], edx xor edx, edx mov dword ptr [ebp-24H], edx G_M000_IG03: lea edx, [ebp-24H] mov ecx, gword ptr [ebp-20H] call [System.Threading.Monitor:Enter(System.Object,byref)] mov ecx, gword ptr [ebp-18H] mov ecx, gword ptr [ecx+04H] cmp ecx, gword ptr [ebp-1CH] jne SHORT G_M000_IG05 mov ecx, dword ptr [ebp+08H] movzx ecx, cl test ecx, ecx je SHORT G_M000_IG04 mov ecx, gword ptr [ebp-18H] call [System.Lazy`1[int]:ViaConstructor():this] mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG06 jmp SHORT G_M000_IG08 G_M000_IG04: mov ecx, gword ptr [ebp-18H] mov edx, 2 call [System.Lazy`1[int]:ViaFactory(int):this] G_M000_IG05: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG07 jmp SHORT G_M000_IG08 G_M000_IG06: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG10 G_M000_IG07: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG10 G_M000_IG08: mov ecx, dword ptr [ebp-24H] movzx ecx, cl test ecx, ecx je SHORT G_M000_IG09 mov ecx, gword ptr [ebp-20H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG09: pop eax jmp eax G_M000_IG10: mov esp, ebp pop ebp ret 4 ; Total bytes of code 174 1031: JIT compiled System.Lazy`1[int]:ExecutionAndPublication(System.LazyHelper,bool) [Tier0, IL size=54, code size=174] ; Assembly listing for method System.Lazy`1[int]:ViaFactory(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-34H], xmm4 xor eax, eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx mov dword ptr [ebp-1CH], edx G_M000_IG02: mov ecx, gword ptr [ebp-18H] mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-20H], ecx cmp gword ptr [ebp-20H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax call [System.SR:get_Lazy_Value_RecursiveCallsToValue():System.String] mov gword ptr [ebp-34H], eax mov edx, gword ptr [ebp-34H] mov ecx, gword ptr [ebp-28H] call [System.InvalidOperationException:.ctor(System.String):this] mov ecx, gword ptr [ebp-28H] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, gword ptr [ebp-18H] xor eax, eax mov gword ptr [ecx+08H], eax mov ecx, gword ptr [ebp-20H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-20H] call [eax+0CH]System.Func`1[int]:Invoke():int:this mov ecx, gword ptr [ebp-18H] mov dword ptr [ecx+0CH], eax mov ecx, gword ptr [ebp-18H] xor eax, eax mov gword ptr [ecx+04H], eax jmp SHORT G_M000_IG06 G_M000_IG05: mov gword ptr [ebp-2CH], eax mov ecx, gword ptr [ebp-2CH] mov gword ptr [ebp-24H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-30H], eax push gword ptr [ebp-24H] mov ecx, gword ptr [ebp-30H] mov edx, dword ptr [ebp-1CH] call [System.LazyHelper:.ctor(int,System.Exception):this] mov edx, gword ptr [ebp-18H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-30H] call CORINFO_HELP_ASSIGN_REF_EAX call CORINFO_HELP_RETHROW int3 G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 186 1032: JIT compiled System.Lazy`1[int]:ViaFactory(int) [Tier0, IL size=70, code size=186] ; Assembly listing for method BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:GetMaxIterationCount():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+1CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1033: JIT compiled BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:GetMaxIterationCount() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:Evaluate(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Engines.StoppingResult:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 56 vzeroupper vxorps xmm4, xmm4 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 1034: JIT compiled BenchmarkDotNet.Engines.AutoWarmupStoppingCriteria:Evaluate(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]) [Tier-0 switched to FullOpts, IL size=144, code size=345] ; Assembly listing for method BenchmarkDotNet.Engines.StoppingResult:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 8 xor eax, eax mov dword ptr [ebp-10H], eax G_M000_IG02: xor ecx, ecx mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-0CH], ecx push 0 lea ecx, [ebp-10H] xor edx, edx call [BenchmarkDotNet.Engines.StoppingResult:.ctor(bool,System.String):this] mov edi, gword ptr [D1FFAB1EH] add edi, 4 lea esi, bword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_BYREF movsd G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 59 1035: JIT compiled BenchmarkDotNet.Engines.StoppingResult:.cctor() [Tier0, IL size=13, code size=59] ; Assembly listing for method BenchmarkDotNet.Engines.StoppingResult:.ctor(bool,System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] mov eax, dword ptr [ebp-08H] mov byte ptr [edx+04H], al mov edx, bword ptr [ebp-04H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 38 1036: JIT compiled BenchmarkDotNet.Engines.StoppingResult:.ctor(bool,System.String) [Tier0, IL size=15, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStart(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 9 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 1037: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStart(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStop(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 10 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 1038: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadWarmupStop(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov eax, dword ptr [ebp+08H] mov edx, gword ptr [ebp-04H] cmp eax, dword ptr [edx+08H] jb SHORT G_M000_IG03 call [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()] G_M000_IG03: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] mov edx, dword ptr [ebp+08H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG05 imul ecx, edx, 32 lea eax, bword ptr [eax+ecx+08H] mov edx, bword ptr [ebp-08H] vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG04: vzeroupper mov esp, ebp pop ebp ret 4 G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 79 1039: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int) [Tier0, IL size=27, code size=79] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:RunOverhead(long,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] push dword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Engines.EngineActualStage:RunAuto(long,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 38 1040: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:RunOverhead(long,int) [Tier0, IL size=10, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:RunAuto(long,int,int):System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 10 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 204 vzeroupper vxorps xmm4, xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-28H], xmm4 vmovdqu xmmword ptr [ebp+eax-18H], xmm4 vmovdqu xmmword ptr [ebp+eax-08H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-28H], eax mov dword ptr [ebp-24H], eax mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-D4H], eax mov edx, dword ptr [esi+1CH] mov ecx, eax call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor(int):this] mov eax, gword ptr [ebp-D4H] mov gword ptr [ebp-CCH], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-D8H], eax mov edx, dword ptr [esi+1CH] mov ecx, eax call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:.ctor(int):this] mov eax, gword ptr [ebp-D8H] mov gword ptr [ebp-D0H], eax xor edx, edx xor ecx, ecx test edi, edi sete cl mov dword ptr [ebp-18H], ecx test ecx, ecx jne SHORT G_M000_IG04 G_M000_IG03: vmovsd xmm0, qword ptr [esi+0CH] jmp SHORT G_M000_IG05 G_M000_IG04: vmovsd xmm0, qword ptr [@RWD00] G_M000_IG05: vmovsd qword ptr [ebp-20H], xmm0 G_M000_IG06: inc edx mov dword ptr [ebp-10H], edi push edi push 3 mov dword ptr [ebp-14H], edx push edx push dword ptr [ebp+10H] push dword ptr [ebp+0CH] mov dword ptr [ebp+08H], ebx push ebx lea edx, [ebp-40H] mov ecx, esi call [BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int):BenchmarkDotNet.Reports.Measurement:this] mov eax, gword ptr [ebp-CCH] inc dword ptr [eax+0CH] mov ecx, gword ptr [eax+04H] mov edx, dword ptr [eax+08H] cmp dword ptr [ecx+04H], edx jbe SHORT G_M000_IG08 G_M000_IG07: lea ebx, [edx+01H] mov dword ptr [eax+08H], ebx shl edx, 5 vmovdqu ymm0, ymmword ptr [ebp-40H] vmovdqu ymmword ptr [ecx+edx+08H], ymm0 jmp SHORT G_M000_IG09 G_M000_IG08: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-40H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-30H] vmovdqu xmmword ptr [esp+10H], xmm0 mov gword ptr [ebp-CCH], eax mov ecx, eax call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] mov eax, gword ptr [ebp-CCH] G_M000_IG09: mov edx, gword ptr [ebp-D0H] inc dword ptr [edx+0CH] mov ecx, gword ptr [edx+04H] mov ebx, dword ptr [edx+08H] cmp dword ptr [ecx+04H], ebx jbe SHORT G_M000_IG11 G_M000_IG10: lea edi, [ebx+01H] mov dword ptr [edx+08H], edi shl ebx, 5 vmovdqu ymm0, ymmword ptr [ebp-40H] vmovdqu ymmword ptr [ecx+ebx+08H], ymm0 mov gword ptr [ebp-CCH], eax jmp SHORT G_M000_IG12 G_M000_IG11: mov gword ptr [ebp-CCH], eax 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 gword ptr [ebp-D0H], edx mov ecx, edx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] mov edx, gword ptr [ebp-D0H] G_M000_IG12: push dword ptr [esi+14H] lea ecx, [ebp-88H] mov gword ptr [ebp-D0H], edx call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:Calculate(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):BenchmarkDotNet.Mathematics.MeasurementsStatistics] vmovdqu ymm0, ymmword ptr [ebp-78H] vmovdqu ymmword ptr [ebp-C0H], ymm0 vmovdqu ymm0, ymmword ptr [ebp-60H] vmovdqu ymmword ptr [ebp-A8H], ymm0 vmovsd xmm0, qword ptr [ebp-A0H] vmovsd xmm1, qword ptr [ebp-20H] vmulsd xmm2, xmm1, qword ptr [ebp-80H] lea ecx, bword ptr [esi+2CH] cmp byte ptr [ecx], 0 jne SHORT G_M000_IG14 G_M000_IG13: vmovsd xmm3, qword ptr [@RWD08] jmp SHORT G_M000_IG15 G_M000_IG14: vmovsd xmm3, qword ptr [ecx+08H] G_M000_IG15: vucomisd xmm2, xmm3 jp SHORT G_M000_IG16 je SHORT G_M000_IG18 G_M000_IG16: vucomisd xmm2, xmm2 jp SHORT G_M000_IG25 vucomisd xmm3, xmm2 ja SHORT G_M000_IG25 G_M000_IG17: jmp SHORT G_M000_IG19 G_M000_IG18: vmovsd qword ptr [ebp-C8H], xmm2 cmp dword ptr [ebp-C4H], 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 vmovsd qword ptr [ebp-20H], xmm1 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-CCH] 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 605 1041: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:RunAuto(long,int,int) [Tier-0 switched to FullOpts, IL size=225, code size=605] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStart(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 11 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 1042: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStart(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStop(long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 12 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 1043: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:OverheadActualStop(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:Calculate(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):BenchmarkDotNet.Mathematics.MeasurementsStatistics ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 364 vzeroupper vxorps xmm4, xmm4 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 vcvtsi2sd 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 vcvtsi2sd 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 vmovdqu ymmword ptr [ebp-14CH], ymm0 vmovdqu ymmword ptr [ebp-12CH], ymm0 vmovq qword ptr [ebp-10CH], 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] G_M000_IG05: 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 vcvtsi2sd 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 vcvtsi2sd 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] sub esp, 8 G_M000_IG10: 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 vmovdqu ymmword ptr [ebp-FCH], ymm0 vmovdqu ymmword ptr [ebp-DCH], ymm0 vmovq qword ptr [ebp-BCH], 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 1044: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:Calculate(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int) [Tier0, IL size=257, code size=1298] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:Sum(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 156 vzeroupper vxorps xmm4, xmm4 mov eax, -144 vmovdqu xmmword ptr [ebp+eax-0CH], xmm4 vmovdqu xmmword ptr [ebp+eax+04H], xmm4 vmovdqu xmmword ptr [ebp+eax+14H], xmm4 add eax, 48 jne SHORT -5 instr G_M000_IG02: vxorps xmm0, xmm0 mov gword ptr [ebp-9CH], ecx mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-94H], ecx vxorps ymm1, ymm1 vmovdqu ymmword ptr [ebp-8CH], ymm1 lea edi, bword ptr [ebp-4CH] lea esi, bword ptr [ebp-9CH] mov ecx, 12 rep movsd jmp SHORT G_M000_IG04 G_M000_IG03: vmovdqu ymm1, ymmword ptr [ebp-3CH] vmovdqu ymmword ptr [ebp-6CH], ymm1 vaddsd xmm0, xmm0, qword ptr [ebp-54H] G_M000_IG04: mov eax, gword ptr [ebp-4CH] mov edx, dword ptr [ebp-44H] cmp edx, dword ptr [eax+0CH] jne SHORT G_M000_IG08 G_M000_IG05: mov edx, dword ptr [ebp-48H] mov ecx, dword ptr [eax+08H] cmp edx, ecx jae SHORT G_M000_IG06 mov eax, gword ptr [eax+04H] mov ecx, edx cmp ecx, dword ptr [eax+04H] jae SHORT G_M000_IG09 shl ecx, 5 vmovdqu ymm1, ymmword ptr [eax+ecx+08H] vmovdqu ymmword ptr [ebp-3CH], ymm1 inc edx mov dword ptr [ebp-48H], edx jmp SHORT G_M000_IG03 G_M000_IG06: vmovsd qword ptr [ebp-A4H], xmm0 fld qword ptr [ebp-A4H] G_M000_IG07: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG08: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()] int3 G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 198 1045: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:Sum(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]) [Tier-0 switched to FullOpts, IL size=64, code size=198] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:Variance(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int,double):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 156 vzeroupper vxorps xmm4, xmm4 mov eax, -144 vmovdqu xmmword ptr [ebp+eax-0CH], xmm4 vmovdqu xmmword ptr [ebp+eax+04H], xmm4 vmovdqu xmmword ptr [ebp+eax+14H], xmm4 add eax, 48 jne SHORT -5 instr vmovsd xmm0, qword ptr [ebp+08H] G_M000_IG02: cmp edx, 1 jne SHORT G_M000_IG05 G_M000_IG03: vxorps xmm0, xmm0 vmovsd qword ptr [ebp-A4H], xmm0 fld qword ptr [ebp-A4H] G_M000_IG04: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret 8 G_M000_IG05: vxorps xmm1, xmm1 mov gword ptr [ebp-9CH], ecx mov ecx, dword ptr [ecx+0CH] mov dword ptr [ebp-94H], ecx vxorps ymm2, ymm2 vmovdqu ymmword ptr [ebp-8CH], ymm2 lea edi, bword ptr [ebp-4CH] lea esi, bword ptr [ebp-9CH] mov ecx, 12 rep movsd jmp SHORT G_M000_IG07 G_M000_IG06: vmovdqu ymm2, ymmword ptr [ebp-3CH] vmovdqu ymmword ptr [ebp-6CH], ymm2 vmovsd xmm2, qword ptr [ebp-54H] vsubsd xmm2, xmm2, xmm0 vmulsd xmm2, xmm2, xmm2 lea eax, [edx-01H] vxorps xmm3, xmm3 vcvtsi2sd xmm3, eax vdivsd xmm2, xmm2, xmm3 vaddsd xmm1, xmm2, xmm1 G_M000_IG07: mov eax, gword ptr [ebp-4CH] mov ecx, dword ptr [ebp-44H] cmp ecx, dword ptr [eax+0CH] jne SHORT G_M000_IG10 mov ecx, dword ptr [ebp-48H] mov esi, dword ptr [eax+08H] cmp ecx, esi jae SHORT G_M000_IG08 mov eax, gword ptr [eax+04H] mov esi, ecx cmp esi, dword ptr [eax+04H] jae SHORT G_M000_IG11 shl esi, 5 vmovdqu ymm2, ymmword ptr [eax+esi+08H] vmovdqu ymmword ptr [ebp-3CH], ymm2 inc ecx mov dword ptr [ebp-48H], ecx jmp SHORT G_M000_IG06 G_M000_IG08: vmovsd qword ptr [ebp-A4H], xmm1 fld qword ptr [ebp-A4H] G_M000_IG09: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret 8 G_M000_IG10: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()] int3 G_M000_IG11: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 267 1046: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:Variance(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int,double) [Tier-0 switched to FullOpts, IL size=95, code size=267] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, bword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [ecx], edx mov ecx, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+14H] vmovsd qword ptr [ecx+08H], xmm0 mov ecx, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+0CH] vmovsd qword ptr [ecx+10H], xmm0 mov ecx, bword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [ecx+18H], edx mov ecx, bword ptr [ebp-04H] mov bword ptr [ebp-0CH], ecx cmp dword ptr [ebp-08H], 2 jle SHORT G_M000_IG03 mov ecx, bword ptr [ebp-0CH] mov bword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp+08H] mov edx, dword ptr [ebp-08H] call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int):double] fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] vmulsd xmm0, xmm0, qword ptr [ebp+0CH] vmovsd qword ptr [ebp-18H], xmm0 jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, bword ptr [ebp-0CH] mov bword ptr [ebp-10H], ecx vmovsd xmm0, qword ptr [@RWD00] vmovsd qword ptr [ebp-18H], xmm0 G_M000_IG04: mov ecx, bword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-18H] vmovsd qword ptr [ecx+20H], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin():double:this] fstp qword ptr [ebp-20H] vmovsd xmm1, qword ptr [ebp+14H] vmovsd xmm0, qword ptr [ebp-20H] vsubsd xmm0, xmm1, xmm0 mov ecx, bword ptr [ebp-04H] vmovsd qword ptr [ecx+28H], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin():double:this] fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] vaddsd xmm0, xmm0, qword ptr [ebp+14H] mov eax, bword ptr [ebp-04H] vmovsd qword ptr [eax+30H], xmm0 G_M000_IG05: mov esp, ebp pop ebp ret 20 RWD00 dq FFF8000000000000h ; -nan(ind) ; Total bytes of code 224 1047: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int) [Tier0, IL size=89, code size=224] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+20H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1048: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin() [Tier0, IL size=7, code size=32] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Sort():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] push eax push 0 mov ecx, gword ptr [ebp-04H] xor edx, edx call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Sort(int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 34 1049: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Sort() [Tier0, IL size=15, code size=34] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Sort(int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: cmp dword ptr [ebp-08H], 0 jge SHORT G_M000_IG03 call [System.ThrowHelper:ThrowIndexArgumentOutOfRange_NeedNonNegNumException()] G_M000_IG03: cmp dword ptr [ebp+0CH], 0 jge SHORT G_M000_IG04 mov ecx, 27 mov edx, 13 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)] G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+08H] sub ecx, dword ptr [ebp-08H] cmp ecx, dword ptr [ebp+0CH] jge SHORT G_M000_IG05 mov ecx, 16 call [System.ThrowHelper:ThrowArgumentException(int)] G_M000_IG05: cmp dword ptr [ebp+0CH], 1 jle SHORT G_M000_IG06 mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx push dword ptr [ebp+0CH] push gword ptr [ebp+08H] mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] call [System.Array:Sort[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement[],int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement])] G_M000_IG06: mov eax, gword ptr [ebp-04H] inc dword ptr [eax+0CH] G_M000_IG07: mov esp, ebp pop ebp ret 8 ; Total bytes of code 121 1050: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:Sort(int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]) [Tier0, IL size=73, code size=121] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:SumWithoutOutliers(int,System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],double,double,byref,byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 148 vzeroupper vxorps xmm4, xmm4 mov eax, -144 vmovdqu xmmword ptr [ebp+eax-10H], xmm4 vmovdqu xmmword ptr [eax+ebp], xmm4 vmovdqu xmmword ptr [ebp+eax+10H], xmm4 add eax, 48 jne SHORT -5 instr mov ebx, ecx vmovsd xmm0, qword ptr [ebp+18H] vmovsd xmm1, qword ptr [ebp+10H] mov esi, bword ptr [ebp+0CH] mov edi, bword ptr [ebp+08H] G_M000_IG02: vxorps xmm2, xmm2 mov bword ptr [ebp+0CH], esi vmovsd qword ptr [esi], xmm2 xor ecx, ecx mov bword ptr [ebp+08H], edi mov dword ptr [edi], ecx mov gword ptr [ebp-A0H], edx mov ecx, dword ptr [edx+0CH] mov dword ptr [ebp-98H], ecx vxorps ymm2, ymm2 vmovdqu ymmword ptr [ebp-90H], ymm2 lea edi, bword ptr [ebp-50H] lea esi, bword ptr [ebp-A0H] mov ecx, 12 rep movsd jmp SHORT G_M000_IG04 G_M000_IG03: vmovdqu ymm2, ymmword ptr [ebp-40H] vmovdqu ymmword ptr [ebp-70H], ymm2 vmovsd xmm2, qword ptr [ebp-58H] sub esp, 8 vmovsd qword ptr [esp], xmm2 vmovsd qword ptr [ebp+18H], xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd qword ptr [ebp+10H], xmm1 sub esp, 8 vmovsd qword ptr [esp], xmm1 mov ecx, ebx call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool] test eax, eax vmovsd xmm0, qword ptr [ebp+18H] vmovsd xmm1, qword ptr [ebp+10H] jne SHORT G_M000_IG04 mov esi, bword ptr [ebp+0CH] vmovsd xmm2, qword ptr [esi] vaddsd xmm2, xmm2, qword ptr [ebp-58H] vmovsd qword ptr [esi], xmm2 mov edi, bword ptr [ebp+08H] inc dword ptr [edi] mov bword ptr [ebp+0CH], esi mov bword ptr [ebp+08H], edi G_M000_IG04: mov ecx, gword ptr [ebp-50H] mov eax, dword ptr [ebp-48H] cmp eax, dword ptr [ecx+0CH] jne SHORT G_M000_IG07 G_M000_IG05: mov eax, dword ptr [ebp-4CH] mov edx, dword ptr [ecx+08H] cmp eax, edx jae SHORT G_M000_IG06 mov ecx, gword ptr [ecx+04H] mov edx, eax cmp edx, dword ptr [ecx+04H] jae SHORT G_M000_IG08 shl edx, 5 vmovdqu ymm2, ymmword ptr [ecx+edx+08H] vmovdqu ymmword ptr [ebp-40H], ymm2 inc eax mov dword ptr [ebp-4CH], eax jmp G_M000_IG03 G_M000_IG06: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG07: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()] int3 G_M000_IG08: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 305 1051: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:SumWithoutOutliers(int,System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],double,double,byref,byref) [Tier-0 switched to FullOpts, IL size=98, code size=305] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-04H], ecx G_M000_IG02: cmp dword ptr [ebp-04H], 3 ja SHORT G_M000_IG03 mov eax, dword ptr [ebp-04H] lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG03: jmp SHORT G_M000_IG13 G_M000_IG04: G_M000_IG05: xor eax, eax G_M000_IG06: mov esp, ebp pop ebp ret 24 G_M000_IG07: vmovsd xmm0, qword ptr [ebp+18H] xor eax, eax vucomisd xmm0, qword ptr [ebp+08H] seta al mov dword ptr [ebp-10H], eax jmp G_M000_IG14 G_M000_IG08: vmovsd xmm0, qword ptr [ebp+10H] xor eax, eax vucomisd xmm0, qword ptr [ebp+18H] seta al mov dword ptr [ebp-10H], eax jmp SHORT G_M000_IG14 G_M000_IG09: vmovsd xmm0, qword ptr [ebp+10H] vucomisd xmm0, qword ptr [ebp+18H] ja SHORT G_M000_IG10 vmovsd xmm0, qword ptr [ebp+18H] xor eax, eax vucomisd xmm0, qword ptr [ebp+08H] seta al mov dword ptr [ebp-10H], eax jmp SHORT G_M000_IG14 G_M000_IG10: G_M000_IG11: mov eax, 1 G_M000_IG12: mov esp, ebp pop ebp ret 24 G_M000_IG13: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax mov ecx, gword ptr [ebp-08H] mov eax, dword ptr [ebp-04H] mov dword ptr [ecx+04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0x9BE4 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax push gword ptr [ebp-08H] push 0 mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-0CH] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG14: mov eax, dword ptr [ebp-10H] movzx eax, al G_M000_IG15: mov esp, ebp pop ebp ret 24 RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 ; Total bytes of code 237 1052: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double) [Tier0, IL size=65, code size=237] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:VarianceWithoutOutliers(int,System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int,double,double,double):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 164 vzeroupper vxorps xmm4, xmm4 mov eax, -144 vmovdqu xmmword ptr [ebp+eax-18H], xmm4 vmovdqu xmmword ptr [ebp+eax-08H], xmm4 vmovdqu xmmword ptr [ebp+eax+08H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], eax mov ebx, ecx mov esi, dword ptr [ebp+20H] vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm2, qword ptr [ebp+08H] G_M000_IG02: mov dword ptr [ebp+20H], esi cmp esi, 1 jne SHORT G_M000_IG05 G_M000_IG03: vxorps xmm1, xmm1 vmovsd qword ptr [ebp-B0H], xmm1 fld qword ptr [ebp-B0H] G_M000_IG04: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG05: vxorps xmm3, xmm3 vmovsd qword ptr [ebp-28H], xmm3 mov gword ptr [ebp-A8H], edx mov ecx, dword ptr [edx+0CH] mov dword ptr [ebp-A0H], ecx vxorps ymm4, ymm4 vmovdqu ymmword ptr [ebp-98H], ymm4 lea edi, bword ptr [ebp-58H] lea esi, bword ptr [ebp-A8H] mov ecx, 12 rep movsd jmp G_M000_IG07 G_M000_IG06: vmovdqu ymm4, ymmword ptr [ebp-48H] vmovdqu ymmword ptr [ebp-78H], ymm4 vmovsd xmm4, qword ptr [ebp-60H] sub esp, 8 vmovsd qword ptr [esp], xmm4 vmovsd qword ptr [ebp+10H], xmm1 sub esp, 8 vmovsd qword ptr [esp], xmm1 vmovsd qword ptr [ebp+08H], xmm2 sub esp, 8 vmovsd qword ptr [esp], xmm2 mov ecx, ebx call [BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool] test eax, eax vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm2, qword ptr [ebp+08H] jne SHORT G_M000_IG07 vmovsd xmm4, qword ptr [ebp-60H] vmovsd xmm0, qword ptr [ebp+18H] vsubsd xmm4, xmm4, xmm0 vmulsd xmm4, xmm4, xmm4 mov esi, dword ptr [ebp+20H] lea eax, [esi-01H] vxorps xmm5, xmm5 vcvtsi2sd xmm5, eax vdivsd xmm4, xmm4, xmm5 vaddsd xmm3, xmm4, qword ptr [ebp-28H] mov dword ptr [ebp+20H], esi vmovsd qword ptr [ebp-28H], xmm3 vmovsd qword ptr [ebp+18H], xmm0 G_M000_IG07: mov ecx, gword ptr [ebp-58H] mov eax, dword ptr [ebp-50H] cmp eax, dword ptr [ecx+0CH] jne SHORT G_M000_IG10 mov eax, dword ptr [ebp-54H] mov edx, dword ptr [ecx+08H] cmp eax, edx jae SHORT G_M000_IG08 mov ecx, gword ptr [ecx+04H] mov edx, eax cmp edx, dword ptr [ecx+04H] jae SHORT G_M000_IG11 shl edx, 5 vmovdqu ymm4, ymmword ptr [ecx+edx+08H] vmovdqu ymmword ptr [ebp-48H], ymm4 inc eax mov dword ptr [ebp-54H], eax jmp G_M000_IG06 G_M000_IG08: vmovsd xmm3, qword ptr [ebp-28H] vmovsd qword ptr [ebp-28H], xmm3 fld qword ptr [ebp-28H] G_M000_IG09: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 28 G_M000_IG10: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()] int3 G_M000_IG11: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 382 1053: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:VarianceWithoutOutliers(int,System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int,double,double,double) [Tier-0 switched to FullOpts, IL size=114, code size=382] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:.ctor(double,double,Perfolizer.Mathematics.Common.ConfidenceInterval):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+48H] vmovsd qword ptr [eax], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+40H] vmovsd qword ptr [eax+08H], xmm0 mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp+08H] vmovdqu ymmword ptr [eax+10H], ymm0 vmovdqu ymm0, ymmword ptr [ebp+20H] vmovdqu ymmword ptr [eax+28H], ymm0 G_M000_IG03: mov esp, ebp pop ebp ret 72 ; Total bytes of code 64 1054: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:.ctor(double,double,Perfolizer.Mathematics.Common.ConfidenceInterval) [Tier0, IL size=22, code size=64] ; Assembly listing for method System.Array:Sort[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement[],int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 32 vxorps xmm4, xmm4 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 1055: JIT compiled System.Array:Sort[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement[],int,int,System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]) [Tier0, IL size=78, code size=190] ; Assembly listing for method System.Runtime.InteropServices.MemoryMarshal:GetArrayDataReference[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement[]):byref ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp byte ptr [eax], al mov eax, gword ptr [ebp-04H] xor edx, edx imul ecx, edx, 32 lea eax, bword ptr [eax+ecx+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 1056: JIT compiled System.Runtime.InteropServices.MemoryMarshal:GetArrayDataReference[BenchmarkDotNet.Reports.Measurement](BenchmarkDotNet.Reports.Measurement[]) [Tier0, IL size=7, code size=28] ; Assembly listing for method System.Span`1[BenchmarkDotNet.Reports.Measurement]:.ctor(byref,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov edx, bword ptr [ebp-08H] mov bword ptr [eax], edx mov eax, bword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 1057: JIT compiled System.Span`1[BenchmarkDotNet.Reports.Measurement]:.ctor(byref,int) [Tier0, IL size=15, code size=35] ; Assembly listing for method System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:get_Default():System.Collections.Generic.IArraySortHelper`1[BenchmarkDotNet.Reports.Measurement] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 53 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov eax, gword ptr [D1FFAB1EH] G_M000_IG03: pop ebp ret ; Total bytes of code 25 1058: JIT compiled System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:get_Default() [Tier0, IL size=6, code size=25] ; Assembly listing for method System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:CreateArraySortHelper():System.Collections.Generic.IArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 21 1059: JIT compiled System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:.cctor() [Tier0, IL size=11, code size=21] ; Assembly listing for method System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:CreateArraySortHelper():System.Collections.Generic.IArraySortHelper`1[BenchmarkDotNet.Reports.Measurement] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov gword ptr [ebp-08H], eax mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTCLASS] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.RuntimeTypeHandle:CreateInstanceForAnotherGenericParameter(System.RuntimeType,System.RuntimeType):System.Object] mov gword ptr [ebp-10H], eax mov edx, gword ptr [ebp-10H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_CHKCASTINTERFACE] mov gword ptr [ebp-04H], eax G_M000_IG03: mov eax, gword ptr [ebp-04H] G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 97 1060: JIT compiled System.Collections.Generic.ArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:CreateArraySortHelper() [Tier0, IL size=78, code size=97] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1061: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:Sort(System.Span`1[BenchmarkDotNet.Reports.Measurement],System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 76 vxorps xmm4, xmm4 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 1062: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:Sort(System.Span`1[BenchmarkDotNet.Reports.Measurement],System.Collections.Generic.IComparer`1[BenchmarkDotNet.Reports.Measurement]) [Tier0, IL size=212, code size=231] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:IntroSort(System.Span`1[BenchmarkDotNet.Reports.Measurement],int) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 28 single block inlinees; 16 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 264 vzeroupper mov esi, ecx G_M000_IG02: mov edi, dword ptr [ebp+0CH] mov ebx, edi cmp ebx, 1 jle G_M000_IG23 G_M000_IG03: cmp ebx, 16 jle SHORT G_M000_IG05 test esi, esi je G_M000_IG22 dec esi cmp ebx, edi ja G_M000_IG24 mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-114H], eax mov edx, eax mov ecx, ebx push ecx push edx call [System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:PickPivotAndPartition(System.Span`1[BenchmarkDotNet.Reports.Measurement]):int] mov dword ptr [ebp-10H], eax lea ecx, [eax+01H] sub ebx, ecx cmp ecx, edi ja G_M000_IG24 mov edx, edi sub edx, ecx cmp edx, ebx jb G_M000_IG24 shl ecx, 5 add ecx, bword ptr [ebp-114H] push ebx push ecx mov ecx, esi call [System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:IntroSort(System.Span`1[BenchmarkDotNet.Reports.Measurement],int)] mov ebx, dword ptr [ebp-10H] cmp ebx, 1 jg SHORT G_M000_IG03 G_M000_IG04: jmp G_M000_IG23 G_M000_IG05: cmp ebx, 2 jne SHORT G_M000_IG09 mov eax, bword ptr [ebp+08H] mov esi, eax mov eax, esi lea edx, bword ptr [esi+20H] cmp byte ptr [eax], al vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-30H], ymm0 vmovsd xmm0, qword ptr [eax+18H] vmovsd xmm1, qword ptr [ebp-18H] vucomisd xmm1, xmm0 ja G_M000_IG23 vucomisd xmm0, xmm1 ja SHORT G_M000_IG08 vucomisd xmm0, xmm1 jp SHORT G_M000_IG06 je G_M000_IG23 G_M000_IG06: vucomisd xmm0, xmm0 jp SHORT G_M000_IG07 je SHORT G_M000_IG08 G_M000_IG07: vucomisd xmm1, xmm1 jp G_M000_IG23 jmp G_M000_IG23 G_M000_IG08: vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ebp-50H], ymm0 vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [eax], ymm0 vmovdqu ymm0, ymmword ptr [ebp-50H] vmovdqu ymmword ptr [edx], ymm0 jmp G_M000_IG23 G_M000_IG09: cmp ebx, 3 jne G_M000_IG21 cmp edi, 2 jbe G_M000_IG25 mov esi, bword ptr [ebp+08H] lea eax, bword ptr [esi+40H] lea edx, bword ptr [esi+20H] mov ecx, esi cmp byte ptr [ecx], cl vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-70H], ymm0 vmovsd xmm0, qword ptr [ecx+18H] vmovsd xmm1, qword ptr [ebp-58H] vucomisd xmm1, xmm0 ja SHORT G_M000_IG13 vucomisd xmm0, xmm1 ja SHORT G_M000_IG12 vucomisd xmm0, xmm1 jp SHORT G_M000_IG10 je SHORT G_M000_IG13 G_M000_IG10: vucomisd xmm0, xmm0 jp SHORT G_M000_IG11 je SHORT G_M000_IG12 G_M000_IG11: vucomisd xmm1, xmm1 jp SHORT G_M000_IG13 jmp SHORT G_M000_IG13 G_M000_IG12: vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-90H], ymm0 vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-90H] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG13: vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ebp-B0H], ymm0 vmovsd xmm0, qword ptr [ecx+18H] vmovsd xmm1, qword ptr [ebp-98H] vucomisd xmm1, xmm0 ja SHORT G_M000_IG17 vucomisd xmm0, xmm1 ja SHORT G_M000_IG16 vucomisd xmm0, xmm1 jp SHORT G_M000_IG14 je SHORT G_M000_IG17 G_M000_IG14: vucomisd xmm0, xmm0 jp SHORT G_M000_IG15 je SHORT G_M000_IG16 G_M000_IG15: vucomisd xmm1, xmm1 jp SHORT G_M000_IG17 jmp SHORT G_M000_IG17 G_M000_IG16: vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-D0H], ymm0 vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ecx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-D0H] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG17: vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ebp-F0H], ymm0 vmovsd xmm0, qword ptr [edx+18H] vmovsd xmm1, qword ptr [ebp-D8H] vucomisd xmm1, xmm0 ja SHORT G_M000_IG23 vucomisd xmm0, xmm1 ja SHORT G_M000_IG20 vucomisd xmm0, xmm1 jp SHORT G_M000_IG18 je SHORT G_M000_IG23 G_M000_IG18: vucomisd xmm0, xmm0 jp SHORT G_M000_IG19 je SHORT G_M000_IG20 G_M000_IG19: vucomisd xmm1, xmm1 jp SHORT G_M000_IG23 jmp SHORT G_M000_IG23 G_M000_IG20: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-110H], ymm0 vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-110H] vmovdqu ymmword ptr [eax], ymm0 jmp SHORT G_M000_IG23 G_M000_IG21: cmp ebx, edi ja SHORT G_M000_IG24 mov esi, bword ptr [ebp+08H] mov eax, esi mov edx, ebx push edx push eax call [System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:InsertionSort(System.Span`1[BenchmarkDotNet.Reports.Measurement])] jmp SHORT G_M000_IG23 G_M000_IG22: cmp ebx, edi ja SHORT G_M000_IG24 mov esi, bword ptr [ebp+08H] mov eax, esi mov edx, ebx push edx push eax call [System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:HeapSort(System.Span`1[BenchmarkDotNet.Reports.Measurement])] G_M000_IG23: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG24: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG25: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 624 1063: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:IntroSort(System.Span`1[BenchmarkDotNet.Reports.Measurement],int) [Tier-0 switched to FullOpts, IL size=187, code size=624] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vzeroupper vxorps xmm4, xmm4 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 1064: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int) [Tier0, IL size=71, code size=222] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: cmp dword ptr [ebp-08H], 1 jg SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, 0x9AB mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-10H], eax mov ecx, 0xB8B mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, gword ptr [ebp-10H] mov ecx, gword ptr [ebp-0CH] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, gword ptr [ebp-0CH] call CORINFO_HELP_THROW G_M000_IG04: mov ecx, dword ptr [ebp-04H] call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int):double] fstp qword ptr [ebp-18H] vmovsd xmm1, qword ptr [@RWD00] vmovsd xmm0, qword ptr [ebp-18H] vsubsd xmm0, xmm1, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 mov eax, dword ptr [ebp-08H] dec eax vxorps xmm0, xmm0 vcvtsi2sd 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 1065: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int) [Tier0, IL size=46, code size=179] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vzeroupper xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 66 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-18H], ecx push dword ptr [ebp-04H] mov ecx, gword ptr [ebp-18H] lea edx, [ebp-14H] cmp dword ptr [ecx], ecx call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int):System.ValueTuple`2[int,int]:this] mov eax, dword ptr [ebp-14H] mov dword ptr [ebp-08H], eax mov eax, dword ptr [ebp-10H] mov dword ptr [ebp-0CH], eax vmovsd xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 vxorps xmm0, xmm0 vcvtsi2sd 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 vcvtsi2sd 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 1066: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int) [Tier0, IL size=44, code size=147] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:CreateConfidenceLevelMapping():System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 21 1067: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:.cctor() [Tier0, IL size=11, code size=21] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:CreateConfidenceLevelMapping():System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vxorps xmm4, xmm4 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 1068: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:CreateConfidenceLevelMapping() [Tier0, IL size=88, code size=332] ; Assembly listing for method System.Linq.Enumerable:Cast[int](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[int] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFANY] mov gword ptr [ebp-08H], eax cmp gword ptr [ebp-08H], 0 je SHORT G_M000_IG04 mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG05 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG05: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable:CastIterator[int](System.Collections.IEnumerable):System.Collections.Generic.IEnumerable`1[int]] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 74 1069: JIT compiled System.Linq.Enumerable:Cast[int](System.Collections.IEnumerable) [Tier0, IL size=29, code size=74] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 1070: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1071: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp+08H] push 0 mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 35 1072: JIT compiled System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]]) [Tier0, IL size=10, code size=35] ; Assembly listing for method System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 52 xor eax, eax mov dword ptr [ebp-18H], eax mov ebx, ecx mov esi, edx mov edi, gword ptr [ebp+0CH] G_M000_IG02: test ebx, ebx je G_M000_IG17 test esi, esi je G_M000_IG18 test edi, edi je G_M000_IG19 xor ecx, ecx mov dword ptr [ebp-24H], ecx mov edx, ebx mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-34H], eax test eax, eax je G_M000_IG09 G_M000_IG03: mov ecx, eax call [System.Collections.Generic.ICollection`1[int]:get_Count():int:this] mov dword ptr [ebp-24H], eax test eax, eax jne SHORT G_M000_IG05 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax push gword ptr [ebp+08H] mov ecx, edi xor edx, edx call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this] mov eax, edi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov edx, gword ptr [ebp-34H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFARRAY] test eax, eax je SHORT G_M000_IG07 push edi push gword ptr [ebp+08H] mov ecx, eax mov edx, esi call [System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](int[],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]] G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG07: mov edx, gword ptr [ebp-34H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFCLASS] test eax, eax je SHORT G_M000_IG09 push edi push gword ptr [ebp+08H] mov ecx, eax mov edx, esi call [System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.List`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]] G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG09: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-40H], eax push gword ptr [ebp+08H] mov ecx, eax mov edx, dword ptr [ebp-24H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this] mov eax, gword ptr [ebp-40H] mov gword ptr [ebp-38H], eax mov ecx, ebx call [System.Collections.Generic.IEnumerable`1[int]:GetEnumerator():System.Collections.Generic.IEnumerator`1[int]:this] mov gword ptr [ebp-3CH], eax G_M000_IG10: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG12 G_M000_IG11: mov ecx, gword ptr [ebp-3CH] call [System.Collections.Generic.IEnumerator`1[int]:get_Current():int:this] mov ebx, eax mov ecx, gword ptr [esi+04H] mov edx, ebx call [esi+0CH]System.Func`2[int,int]:Invoke(int):int:this mov dword ptr [ebp-28H], eax push ebx lea edx, [ebp-30H] mov ecx, gword ptr [edi+04H] call [edi+0CH]System.Func`2[int,System.ValueTuple`2[int,int]]:Invoke(int):System.ValueTuple`2[int,int]:this push dword ptr [ebp-2CH] push dword ptr [ebp-30H] push 2 mov ecx, gword ptr [ebp-38H] mov edx, dword ptr [ebp-28H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:TryInsert(int,System.ValueTuple`2[int,int],ubyte):bool:this] mov ecx, gword ptr [ebp-3CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG11 G_M000_IG12: mov ecx, gword ptr [ebp-3CH] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG15 G_M000_IG13: cmp gword ptr [ebp-3CH], 0 je SHORT G_M000_IG14 mov ecx, gword ptr [ebp-3CH] call [System.IDisposable:Dispose():this] G_M000_IG14: pop eax jmp eax G_M000_IG15: mov eax, gword ptr [ebp-38H] G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG17: mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG18: mov ecx, 9 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 G_M000_IG19: mov ecx, 2 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 409 1073: JIT compiled System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](System.Collections.Generic.IEnumerable`1[int],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]) [Tier-0 switched to FullOpts, IL size=175, code size=409] ; Assembly listing for method System.SZArrayHelper:get_Count[int]():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 1074: JIT compiled System.SZArrayHelper:get_Count[int]() [Tier0, IL size=11, code size=30] ; Assembly listing for method System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](int[],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]):System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 28 mov esi, ecx mov edi, edx mov ebx, gword ptr [ebp+0CH] G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-28H], eax mov ecx, dword ptr [esi+04H] mov dword ptr [ebp-20H], ecx mov edx, ecx push gword ptr [ebp+08H] mov ecx, eax call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this] mov eax, gword ptr [ebp-28H] mov gword ptr [ebp-24H], eax xor ecx, ecx cmp dword ptr [ebp-20H], 0 jle SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-10H], ecx mov edx, dword ptr [esi+4*ecx+08H] mov ecx, gword ptr [edi+04H] call [edi+0CH]System.Func`2[int,int]:Invoke(int):int:this mov dword ptr [ebp-14H], eax mov ecx, dword ptr [ebp-10H] push dword ptr [esi+4*ecx+08H] lea edx, [ebp-1CH] mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[int,System.ValueTuple`2[int,int]]:Invoke(int):System.ValueTuple`2[int,int]:this push dword ptr [ebp-18H] push dword ptr [ebp-1CH] push 2 mov ecx, gword ptr [ebp-24H] mov edx, dword ptr [ebp-14H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:TryInsert(int,System.ValueTuple`2[int,int],ubyte):bool:this] mov ecx, dword ptr [ebp-10H] inc ecx mov eax, dword ptr [ebp-20H] cmp eax, ecx jg SHORT G_M000_IG03 G_M000_IG04: mov eax, gword ptr [ebp-24H] G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 138 1075: JIT compiled System.Linq.Enumerable:ToDictionary[int,int,System.ValueTuple`2[int,int]](int[],System.Func`2[int,int],System.Func`2[int,System.ValueTuple`2[int,int]],System.Collections.Generic.IEqualityComparer`1[int]) [Tier-0 switched to FullOpts, IL size=58, code size=138] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] cmp dword ptr [ebp-08H], 0 jge SHORT G_M000_IG03 mov ecx, 22 call [System.ThrowHelper:ThrowArgumentOutOfRangeException(int)] G_M000_IG03: cmp dword ptr [ebp-08H], 0 jle SHORT G_M000_IG04 mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:Initialize(int):int:this] G_M000_IG04: G_M000_IG05: cmp gword ptr [ebp+08H], 0 je SHORT G_M000_IG06 call [System.Collections.Generic.EqualityComparer`1[int]:get_Default():System.Collections.Generic.EqualityComparer`1[int]] cmp eax, gword ptr [ebp+08H] je SHORT G_M000_IG06 mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG06: mov esp, ebp pop ebp ret 4 ; Total bytes of code 98 1076: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]) [Tier0, IL size=136, code size=98] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:Initialize(int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, dword ptr [ebp-08H] call [System.Collections.HashHelpers:GetPrime(int):int] mov dword ptr [ebp-0CH], eax mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-10H], eax mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-14H], eax mov edx, gword ptr [ebp-04H] mov dword ptr [edx+1CH], -1 mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, dword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 109 1077: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:Initialize(int) [Tier0, IL size=44, code size=109] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:b__4_0(int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, dword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 19 1078: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:b__4_0(int) [Tier0, IL size=2, code size=19] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:b__4_1(int):System.ValueTuple`2[int,int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov eax, dword ptr [ebp+08H] mov dword ptr [ecx+04H], eax mov ecx, gword ptr [ebp-10H] mov gword ptr [ebp-1CH], ecx mov ecx, gword ptr [ebp-1CH] mov eax, gword ptr [ebp-1CH] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+04H]System.Object:ToString():System.String:this mov gword ptr [ebp-20H], eax mov ecx, gword ptr [ebp-20H] mov edx, 1 cmp dword ptr [ecx], ecx call [System.String:Substring(int):System.String:this] mov gword ptr [ebp-0CH], eax xor ecx, ecx mov dword ptr [ebp-18H], ecx mov dword ptr [ebp-14H], ecx mov ecx, gword ptr [ebp-0CH] call [System.Int32:Parse(System.String):int] mov dword ptr [ebp-24H], eax mov edx, gword ptr [ebp-0CH] push dword ptr [edx+04H] mov edx, dword ptr [ebp-24H] lea ecx, [ebp-18H] call [System.ValueTuple`2[int,int]:.ctor(int,int):this] mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp-18H] mov dword ptr [eax], edx mov edx, dword ptr [ebp-14H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 148 1079: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions+<>c:b__4_1(int) [Tier0, IL size=38, code size=148] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:TryInsert(int,System.ValueTuple`2[int,int],ubyte):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 68 mov esi, ecx mov edi, edx G_M000_IG02: cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, esi xor edx, edx call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:Initialize(int):int:this] G_M000_IG04: mov ebx, gword ptr [esi+08H] mov eax, gword ptr [esi+0CH] mov gword ptr [ebp-44H], eax test eax, eax je SHORT G_M000_IG06 G_M000_IG05: mov ecx, eax mov edx, edi call [System.Collections.Generic.IEqualityComparer`1[int]:GetHashCode(int):int:this] jmp SHORT G_M000_IG07 align [0 bytes for IG10] G_M000_IG06: mov dword ptr [ebp-10H], edi mov edx, edi mov eax, edx mov edi, dword ptr [ebp-10H] G_M000_IG07: mov dword ptr [ebp-14H], eax xor edx, edx mov dword ptr [ebp-18H], edx mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-4CH], ecx push 0 push eax push 0 push dword ptr [ecx+04H] call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG08 test edx, edx jne G_M000_IG31 jmp SHORT G_M000_IG09 G_M000_IG08: cmp edx, -1 jne G_M000_IG31 G_M000_IG09: mov edx, eax mov ecx, gword ptr [ebp-4CH] cmp edx, dword ptr [ecx+04H] jae G_M000_IG34 lea eax, bword ptr [ecx+4*edx+08H] mov bword ptr [ebp-48H], eax mov ecx, dword ptr [eax] dec ecx cmp gword ptr [ebp-44H], 0 jne SHORT G_M000_IG18 G_M000_IG10: mov edx, dword ptr [ebx+04H] cmp edx, ecx jbe G_M000_IG23 mov dword ptr [ebp-10H], edi lea eax, [ecx+4*ecx] mov edi, dword ptr [ebp-14H] cmp dword ptr [ebx+4*eax+08H], edi jne SHORT G_M000_IG12 G_M000_IG11: mov edi, dword ptr [ebp-10H] cmp dword ptr [ebx+4*eax+10H], edi je SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [ebx+4*eax+0CH] mov eax, dword ptr [ebp-18H] inc eax cmp edx, eax jb G_M000_IG33 mov dword ptr [ebp-18H], eax mov edi, dword ptr [ebp-10H] jmp SHORT G_M000_IG10 G_M000_IG13: movzx eax, byte ptr [ebp+08H] cmp eax, 1 jne SHORT G_M000_IG15 G_M000_IG14: cmp ecx, edx jae G_M000_IG34 lea eax, [ecx+4*ecx] mov edx, dword ptr [ebp+0CH] mov dword ptr [ebx+4*eax+14H], edx mov edx, dword ptr [ebp+10H] mov dword ptr [ebx+4*eax+18H], edx jmp G_M000_IG29 G_M000_IG15: cmp eax, 2 je G_M000_IG32 G_M000_IG16: xor eax, eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG18: mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-30H], eax cmp eax, ecx jbe SHORT G_M000_IG21 mov dword ptr [ebp-10H], edi mov dword ptr [ebp-1CH], ecx lea edx, [ecx+4*ecx] mov dword ptr [ebp-20H], edx mov edi, dword ptr [ebp-14H] cmp dword ptr [ebx+4*edx+08H], edi jne SHORT G_M000_IG22 G_M000_IG19: mov edi, dword ptr [ebx+4*edx+10H] push dword ptr [ebp-10H] mov edx, edi mov ecx, gword ptr [ebp-44H] call [System.Collections.Generic.IEqualityComparer`1[int]:Equals(int,int):bool:this] test eax, eax mov edx, dword ptr [ebp-20H] je SHORT G_M000_IG22 G_M000_IG20: movzx eax, byte ptr [ebp+08H] cmp eax, 1 mov ecx, dword ptr [ebp-1CH] mov edx, dword ptr [ebp-30H] je SHORT G_M000_IG14 cmp eax, 2 je G_M000_IG32 jmp SHORT G_M000_IG16 G_M000_IG21: mov edx, dword ptr [ebp-30H] jmp SHORT G_M000_IG23 G_M000_IG22: mov ecx, dword ptr [ebx+4*edx+0CH] mov edx, ecx mov ecx, dword ptr [ebp-18H] inc ecx cmp dword ptr [ebp-30H], ecx jb G_M000_IG33 mov dword ptr [ebp-18H], ecx mov ecx, edx mov edi, dword ptr [ebp-10H] jmp SHORT G_M000_IG18 G_M000_IG23: mov ecx, dword ptr [esi+20H] mov dword ptr [ebp-2CH], ecx test ecx, ecx jle SHORT G_M000_IG24 mov ecx, dword ptr [esi+1CH] mov dword ptr [ebp-28H], ecx mov eax, dword ptr [ebp-28H] cmp eax, edx jae G_M000_IG34 lea edx, [eax+4*eax] mov eax, dword ptr [ebx+4*edx+0CH] neg eax add eax, -3 mov dword ptr [esi+1CH], eax mov eax, dword ptr [ebp-2CH] dec eax mov dword ptr [esi+20H], eax jmp SHORT G_M000_IG28 G_M000_IG24: mov ecx, dword ptr [esi+18H] mov ebx, ecx cmp edx, ebx jne SHORT G_M000_IG27 call [System.Collections.HashHelpers:ExpandPrime(int):int] mov edx, eax push 0 mov ecx, esi call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:Resize(int,bool):this] mov eax, gword ptr [esi+04H] mov gword ptr [ebp-50H], eax push 0 push dword ptr [ebp-14H] mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-24H], ecx push 0 push ecx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG25 test edx, edx jne SHORT G_M000_IG31 jmp SHORT G_M000_IG26 G_M000_IG25: cmp edx, -1 jne SHORT G_M000_IG31 G_M000_IG26: cmp eax, dword ptr [ebp-24H] jae SHORT G_M000_IG34 mov ecx, gword ptr [ebp-50H] lea eax, bword ptr [ecx+4*eax+08H] mov ecx, eax mov bword ptr [ebp-48H], ecx G_M000_IG27: mov ecx, ebx lea edx, [ecx+01H] mov dword ptr [esi+18H], edx mov ebx, gword ptr [esi+08H] G_M000_IG28: cmp ecx, dword ptr [ebx+04H] jae SHORT G_M000_IG34 lea edx, [ecx+4*ecx] lea edx, bword ptr [ebx+4*edx+08H] mov ebx, dword ptr [ebp-14H] mov dword ptr [edx], ebx mov eax, bword ptr [ebp-48H] mov ebx, dword ptr [eax] dec ebx mov dword ptr [edx+04H], ebx mov dword ptr [edx+08H], edi mov edi, dword ptr [ebp+0CH] mov dword ptr [edx+0CH], edi mov edi, dword ptr [ebp+10H] mov dword ptr [edx+10H], edi inc ecx mov dword ptr [eax], ecx inc dword ptr [esi+24H] G_M000_IG29: mov eax, 1 G_M000_IG30: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG31: call CORINFO_HELP_OVERFLOW G_M000_IG32: mov ecx, dword ptr [ebp-10H] call [System.ThrowHelper:ThrowAddingDuplicateWithKeyArgumentException[int](int)] int3 G_M000_IG33: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG34: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 615 1080: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:TryInsert(int,System.ValueTuple`2[int,int],ubyte) [Tier-0 switched to FullOpts, IL size=569, code size=615] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int):System.ValueTuple`2[int,int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, dword ptr [ebp+08H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:FindValue(int):byref:this] mov bword ptr [ebp-0CH], eax cmp bword ptr [ebp-0CH], 0 je SHORT G_M000_IG04 mov ecx, bword ptr [ebp-0CH] mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ecx] mov dword ptr [eax], edx mov edx, dword ptr [ecx+04H] mov dword ptr [eax+04H], edx G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov ecx, dword ptr [ebp+08H] call [System.ThrowHelper:ThrowKeyNotFoundException[int](int)] xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp-14H] mov dword ptr [eax], edx mov edx, dword ptr [ebp-10H] mov dword ptr [eax+04H], edx G_M000_IG05: mov esp, ebp pop ebp ret 4 ; Total bytes of code 97 1081: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int) [Tier0, IL size=39, code size=97] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:FindValue(int):byref:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 52 mov edi, ecx mov esi, edx G_M000_IG02: cmp gword ptr [edi+04H], 0 je G_M000_IG19 G_M000_IG03: mov ebx, gword ptr [edi+0CH] mov gword ptr [ebp-38H], ebx test ebx, ebx jne SHORT G_M000_IG09 mov ebx, esi mov eax, gword ptr [edi+04H] mov gword ptr [ebp-3CH], eax push 0 push ebx mov edx, dword ptr [eax+04H] mov dword ptr [ebp-18H], edx push 0 push edx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG04 test edx, edx jne G_M000_IG20 jmp SHORT G_M000_IG05 G_M000_IG04: cmp edx, -1 jne G_M000_IG20 G_M000_IG05: mov ecx, eax cmp ecx, dword ptr [ebp-18H] jae G_M000_IG22 mov edx, gword ptr [ebp-3CH] mov ecx, dword ptr [edx+4*ecx+08H] mov eax, gword ptr [edi+08H] xor edx, edx dec ecx align [0 bytes for IG06] G_M000_IG06: mov edi, dword ptr [eax+04H] cmp edi, ecx jbe G_M000_IG19 lea ecx, [ecx+4*ecx] lea ecx, bword ptr [eax+4*ecx+08H] cmp dword ptr [ecx], esi jne SHORT G_M000_IG08 G_M000_IG07: cmp dword ptr [ecx+08H], ebx je G_M000_IG17 G_M000_IG08: mov ecx, dword ptr [ecx+04H] inc edx cmp edi, edx jb G_M000_IG21 jmp SHORT G_M000_IG06 G_M000_IG09: mov ecx, ebx mov edx, esi call [System.Collections.Generic.IEqualityComparer`1[int]:GetHashCode(int):int:this] mov dword ptr [ebp-10H], eax mov edx, gword ptr [edi+04H] mov gword ptr [ebp-40H], edx push 0 push eax mov ecx, dword ptr [edx+04H] mov dword ptr [ebp-1CH], ecx push 0 push ecx call CORINFO_HELP_ULMOD test eax, eax js SHORT G_M000_IG10 test edx, edx jne SHORT G_M000_IG20 jmp SHORT G_M000_IG11 G_M000_IG10: cmp edx, -1 jne SHORT G_M000_IG20 G_M000_IG11: mov edx, eax cmp edx, dword ptr [ebp-1CH] jae SHORT G_M000_IG22 mov ecx, gword ptr [ebp-40H] mov edx, dword ptr [ecx+4*edx+08H] mov edi, gword ptr [edi+08H] xor eax, eax mov dword ptr [ebp-14H], eax dec edx G_M000_IG12: mov ecx, dword ptr [edi+04H] mov dword ptr [ebp-20H], ecx cmp ecx, edx jbe SHORT G_M000_IG19 lea edx, [edx+4*edx] lea edx, bword ptr [edi+4*edx+08H] mov ebx, dword ptr [ebp-10H] cmp dword ptr [edx], ebx jne SHORT G_M000_IG15 G_M000_IG13: mov bword ptr [ebp-34H], edx mov ebx, dword ptr [edx+08H] push esi mov edx, ebx mov ecx, gword ptr [ebp-38H] call [System.Collections.Generic.IEqualityComparer`1[int]:Equals(int,int):bool:this] test eax, eax jne SHORT G_M000_IG16 G_M000_IG14: mov edx, bword ptr [ebp-34H] G_M000_IG15: mov edx, dword ptr [edx+04H] mov eax, dword ptr [ebp-14H] inc eax cmp dword ptr [ebp-20H], eax jb SHORT G_M000_IG21 mov dword ptr [ebp-14H], eax jmp SHORT G_M000_IG12 G_M000_IG16: mov ecx, bword ptr [ebp-34H] G_M000_IG17: cmp byte ptr [ecx], cl lea eax, bword ptr [ecx+0CH] G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG19: xor eax, eax jmp SHORT G_M000_IG18 G_M000_IG20: call CORINFO_HELP_OVERFLOW G_M000_IG21: call [System.ThrowHelper:ThrowInvalidOperationException_ConcurrentOperationsNotSupported()] int3 G_M000_IG22: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 328 1082: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:FindValue(int) [Tier-0 switched to FullOpts, IL size=299, code size=328] ; Assembly listing for method Perfolizer.Mathematics.Distributions.StudentDistribution:InverseTwoTailStudent(double,double):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vzeroupper vmovsd xmm1, qword ptr [ebp+08H] G_M000_IG02: vxorps xmm2, xmm2 vmovsd xmm3, qword ptr [@RWD00] vmovsd xmm4, qword ptr [@RWD08] vmovsd qword ptr [ebp-20H], xmm4 G_M000_IG03: vmovsd qword ptr [ebp-08H], xmm2 vmovsd qword ptr [ebp-10H], xmm3 vaddsd xmm5, xmm2, xmm3 vmulsd xmm5, xmm5, qword ptr [@RWD16] vmovsd qword ptr [ebp-18H], xmm5 sub esp, 8 vmovsd qword ptr [esp], xmm5 vmovsd qword ptr [ebp+08H], xmm1 sub esp, 8 vmovsd qword ptr [esp], xmm1 call [Perfolizer.Mathematics.Distributions.StudentDistribution:StudentTwoTail(double,double):double] fstp qword ptr [ebp-28H] vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm0, qword ptr [ebp-28H] vucomisd xmm1, xmm0 jbe SHORT G_M000_IG05 G_M000_IG04: vmovsd xmm5, qword ptr [ebp-18H] vmovaps xmm3, xmm5 jmp SHORT G_M000_IG06 G_M000_IG05: vmovsd xmm5, qword ptr [ebp-18H] vmovaps xmm2, xmm5 vmovsd qword ptr [ebp-08H], xmm2 vmovsd xmm3, qword ptr [ebp-10H] G_M000_IG06: vmovsd xmm2, qword ptr [ebp-08H] vsubsd xmm0, xmm3, xmm2 vmovsd xmm4, qword ptr [ebp-20H] vucomisd xmm0, xmm4 vmovsd qword ptr [ebp-20H], xmm4 vmovsd qword ptr [ebp+10H], xmm1 ja SHORT G_M000_IG09 G_M000_IG07: vaddsd xmm0, xmm2, xmm3 vmulsd xmm0, xmm0, qword ptr [@RWD16] vmovsd qword ptr [ebp-28H], xmm0 fld qword ptr [ebp-28H] G_M000_IG08: mov esp, ebp pop ebp ret 16 G_M000_IG09: vmovsd xmm1, qword ptr [ebp+08H] jmp G_M000_IG03 RWD00 dq 408F400000000000h ; 1000 RWD08 dq 3E112E0BE826D695h ; 1e-09 RWD16 dq 3FE0000000000000h ; 0.5 ; Total bytes of code 208 1083: JIT compiled Perfolizer.Mathematics.Distributions.StudentDistribution:InverseTwoTailStudent(double,double) [Tier-0 switched to FullOpts, IL size=80, code size=208] ; Assembly listing for method Perfolizer.Mathematics.Distributions.StudentDistribution:StudentTwoTail(double,double):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 32 vzeroupper vmovsd xmm1, qword ptr [ebp+10H] vmovsd xmm0, qword ptr [ebp+08H] G_M000_IG02: vxorps xmm2, xmm2 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, xmm0, 4 vcvttsd2si esi, xmm4 vxorps xmm4, xmm4 vcvtsi2sd xmm4, esi vsubsd xmm5, xmm0, xmm4 vandps xmm5, xmm5, qword 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 vmulsd xmm2, xmm0, xmm2 vxorps xmm0, xmm2, qword 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 vmovaps xmm0, xmm2 cmp esi, 1 jne G_M000_IG11 vxorps xmm0, xmm0 jmp G_M000_IG11 align [0 bytes for IG09] G_M000_IG08: vsqrtsd xmm0, xmm3 vmulsd xmm2, xmm0, xmm4 xor eax, eax vsubsd xmm6, xmm0, qword ptr [@RWD00] vandps xmm6, xmm6, qword ptr [@RWD16] vxorps xmm1, xmm1 vucomisd xmm6, xmm1 jbe SHORT G_M000_IG10 G_M000_IG09: add eax, 2 vmovaps xmm6, xmm0 vxorps xmm0, xmm0 vcvtsi2sd xmm0, eax vmulsd xmm0, xmm3, xmm0 lea edx, [eax-01H] vxorps xmm1, xmm1 vcvtsi2sd xmm1, edx vdivsd xmm0, xmm1, xmm0 vmulsd xmm2, xmm0, xmm2 lea edx, [esi+eax] vxorps xmm0, xmm0 vcvtsi2sd xmm0, edx vdivsd xmm0, xmm2, xmm0 vaddsd xmm0, xmm0, xmm6 vsubsd xmm6, xmm0, xmm6 vandps xmm6, xmm6, qword ptr [@RWD16] vxorps xmm1, xmm1 vucomisd xmm6, xmm1 ja SHORT G_M000_IG09 G_M000_IG10: add esi, 2 vxorps xmm6, xmm6 vmovsd qword ptr [ebp-18H], xmm6 vxorps xmm2, xmm2 vxorps xmm0, xmm0, qword 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 vcvtsi2sd xmm1, esi vmovsd qword ptr [ebp-10H], xmm3 vmulsd xmm1, xmm3, xmm1 lea eax, [esi-01H] vxorps xmm4, xmm4 vcvtsi2sd 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 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 ; nan dq 7FFFFFFFFFFFFFFFh ; nan 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 ; -0 dq 8000000000000000h ; -0 RWD160 dq 4000000000000000h ; 2 RWD168 dq 4010000000000000h ; 4 RWD176 dq 400921FB54442D18h ; 3.14159265 ; Total bytes of code 876 1084: JIT compiled Perfolizer.Mathematics.Distributions.StudentDistribution:StudentTwoTail(double,double) [Tier-0 switched to FullOpts, IL size=565, code size=876] ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:InsertionSort(System.Span`1[BenchmarkDotNet.Reports.Measurement]) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 10 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 68 vzeroupper G_M000_IG02: xor eax, eax mov edx, dword ptr [ebp+0CH] dec edx mov dword ptr [ebp-50H], edx test edx, edx jle G_M000_IG11 mov ecx, bword ptr [ebp+08H] G_M000_IG03: mov esi, ecx lea edi, [eax+01H] mov ebx, edi shl ebx, 5 vmovdqu ymm0, ymmword ptr [esi+ebx] vmovdqu ymmword ptr [ebp-2CH], ymm0 jmp SHORT G_M000_IG05 align [0 bytes for IG04] G_M000_IG04: mov ebx, ecx lea edx, [eax+01H] shl edx, 5 add edx, ebx vmovdqu ymm0, ymmword ptr [esi] vmovdqu ymmword ptr [edx], ymm0 dec eax G_M000_IG05: test eax, eax jl SHORT G_M000_IG10 G_M000_IG06: mov esi, ecx mov ebx, eax shl ebx, 5 add esi, ebx vmovdqu ymm0, ymmword ptr [esi] vmovdqu ymmword ptr [ebp-4CH], ymm0 vmovsd xmm0, qword ptr [ebp-14H] vmovsd xmm1, qword ptr [ebp-34H] vucomisd xmm1, xmm0 ja SHORT G_M000_IG04 G_M000_IG07: vucomisd xmm0, xmm1 ja SHORT G_M000_IG10 vucomisd xmm0, xmm1 jp SHORT G_M000_IG08 je SHORT G_M000_IG10 G_M000_IG08: vucomisd xmm0, xmm0 jp SHORT G_M000_IG09 je SHORT G_M000_IG10 G_M000_IG09: vucomisd xmm1, xmm1 jnp SHORT G_M000_IG04 G_M000_IG10: mov esi, ecx inc eax shl eax, 5 vmovdqu ymm0, ymmword ptr [ebp-2CH] vmovdqu ymmword ptr [esi+eax], ymm0 mov eax, edi mov edx, dword ptr [ebp-50H] cmp eax, edx jl G_M000_IG03 G_M000_IG11: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 181 1085: JIT compiled System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:InsertionSort(System.Span`1[BenchmarkDotNet.Reports.Measurement]) [Tier-0 switched to FullOpts, IL size=141, code size=181] ; Assembly listing for method System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 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_IG05 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 G_M000_IG03: mov byte ptr [edx], 1 G_M000_IG04: pop ecx pop esi pop edi pop ebp ret G_M000_IG05: call [System.ThrowHelper:ThrowObjectDisposedException(System.Object)] int3 ; Total bytes of code 46 1086: JIT compiled System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref) [Tier1, IL size=45, code size=46] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: xor eax, eax G_M000_IG03: ret ; Total bytes of code 3 1087: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__Overhead() [Tier1, IL size=2, code size=3] ; Assembly listing for method System.GC:Collect() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 G_M000_IG02: lea edi, [ebp-28H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-14H], eax push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG05 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: call eax ; System.GC:_Collect(int,int) G_M000_IG05: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-18H], eax mov eax, bword ptr [ebp-24H] mov dword ptr [esi+0CH], eax G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 95 1088: JIT compiled System.GC:Collect() [Tier1, IL size=8, code size=95] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationMode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx] G_M000_IG03: ret ; Total bytes of code 3 1089: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationMode() [Tier1, IL size=7, code size=3] ; Assembly listing for method System.RuntimeType:IsDefined(System.Type,bool):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 4231 ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: test edx, edx je SHORT G_M000_IG08 cmp dword ptr [edx], 0xD1FFAB1E jne SHORT G_M000_IG07 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, 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_IG08: mov ecx, 233 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 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 1090: JIT compiled System.RuntimeType:IsDefined(System.Type,bool) [Tier1 with Static PGO, IL size=51, code size=141] ; Assembly listing for method System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,bool):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 4231 ; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov ebx, ecx mov esi, edx G_M000_IG02: cmp byte ptr [ebx], bl mov ecx, ebx call System.RuntimeTypeHandle:GetElementType(System.RuntimeType):System.RuntimeType test eax, eax jne G_M000_IG09 mov ecx, ebx mov edx, esi call [System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType):bool] test eax, eax jne G_M000_IG11 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_IG11 G_M000_IG03: movzx eax, byte ptr [ebp+08H] mov edi, eax test edi, edi je SHORT G_M000_IG09 G_M000_IG04: mov ecx, ebx call [System.RuntimeType:GetBaseType():System.RuntimeType:this] mov ebx, eax test ebx, ebx je SHORT 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-10H], eax mov ecx, ebx call System.RuntimeTypeHandle:GetToken(System.RuntimeType):int mov edx, eax push esi push 0 push edi mov ecx, gword ptr [ebp-10H] call [System.Reflection.CustomAttribute:IsCustomAttributeDefined(System.Reflection.RuntimeModule,int,System.RuntimeType,int,bool):bool] test eax, eax jne SHORT G_M000_IG11 G_M000_IG07: mov ecx, ebx call [System.RuntimeType:GetBaseType():System.RuntimeType: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: xor eax, eax G_M000_IG10: pop ecx pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG11: mov eax, 1 G_M000_IG12: pop ecx pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 196 1091: JIT compiled System.Reflection.CustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType,bool) [Tier1 with Static PGO, IL size=105, code size=196] ; Assembly listing for method System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4231 ; 2 inlinees with PGO data; 3 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 1092: JIT compiled System.Reflection.PseudoCustomAttribute:IsDefined(System.RuntimeType,System.RuntimeType) [Tier1 with Static PGO, IL size=132, code size=158] ; Assembly listing for method System.Gen2GcCallback:Finalize():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 101 ; 1 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 24 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-18H], ecx G_M000_IG02: mov edx, dword ptr [ecx+0CH] test edx, edx je SHORT G_M000_IG07 G_M000_IG03: and edx, -2 mov edx, gword ptr [edx] test edx, edx je SHORT G_M000_IG09 G_M000_IG04: mov eax, gword ptr [ecx+08H] mov ecx, gword ptr [eax+04H] call [eax+0CH]System.Func`2[System.__Canon,bool]:Invoke(System.__Canon):bool:this test eax, eax jne SHORT G_M000_IG11 G_M000_IG05: mov ecx, gword ptr [ebp-18H] add ecx, 12 call [System.Runtime.InteropServices.GCHandle:Free():this] mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG14 jmp SHORT G_M000_IG16 G_M000_IG06: call CORINFO_HELP_ENDCATCH jmp SHORT G_M000_IG11 G_M000_IG07: 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_IG11 G_M000_IG08: mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG15 jmp SHORT G_M000_IG16 G_M000_IG09: add ecx, 12 call [System.Runtime.InteropServices.GCHandle:Free():this] mov dword ptr [ebp-10H], 0 mov dword ptr [ebp-0CH], 252 push G_M000_IG13 jmp SHORT G_M000_IG16 G_M000_IG10: call CORINFO_HELP_ENDCATCH G_M000_IG11: mov ecx, gword ptr [ebp-18H] call [System.GC:ReRegisterForFinalize(System.Object)] G_M000_IG12: mov ecx, gword ptr [ebp-18H] call [System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this] jmp SHORT G_M000_IG17 G_M000_IG13: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG17 G_M000_IG14: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG17 G_M000_IG15: mov dword ptr [ebp-0CH], 0 jmp SHORT G_M000_IG17 G_M000_IG16: mov ecx, gword ptr [ebp-18H] call [System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this] pop eax jmp eax G_M000_IG17: mov esp, ebp pop ebp ret ; Total bytes of code 215 1093: JIT compiled System.Gen2GcCallback:Finalize() [Tier1 with Static PGO, IL size=111, code size=215] ; Assembly listing for method System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1+<>c[ushort]:b__13_0(System.Object):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, edx test ecx, ecx je SHORT G_M000_IG04 G_M000_IG03: mov eax, 0xD1FFAB1E cmp dword ptr [ecx], eax jne SHORT G_M000_IG06 G_M000_IG04: cmp dword ptr [ecx], ecx call [System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[ushort]:Trim():bool:this] G_M000_IG05: pop ebp ret G_M000_IG06: mov ecx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 37 1094: JIT compiled System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1+<>c[ushort]:b__13_0(System.Object) [Tier1, IL size=12, code size=37] ; Assembly listing for method System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[ushort]:Trim():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 24 ; 5 inlinees with PGO data; 17 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 vxorps xmm4, xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-34H], xmm4 vmovdqu xmmword ptr [ebp+eax-24H], xmm4 vmovdqu xmmword ptr [ebp+eax-14H], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-34H], eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-2CH], eax 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_IG55 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_IG07 G_M000_IG05: mov ecx, dword ptr [ebp-28H] inc ecx mov eax, dword ptr [ebp-6CH] cmp eax, ecx mov edx, gword ptr [ebp-78H] jg SHORT G_M000_IG04 G_M000_IG06: cmp ebx, 2 je G_M000_IG56 mov esi, 0x7530 mov ecx, 0x3A98 cmp ebx, 1 cmove esi, ecx mov dword ptr [ebp-40H], esi mov ebx, gword ptr [ebp-70H] 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-88H], eax jmp G_M000_IG16 G_M000_IG07: 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-64H], edx mov esi, gword ptr [esi+04H] xor ecx, ecx cmp dword ptr [esi+04H], 0 jle SHORT G_M000_IG05 G_M000_IG08: mov dword ptr [ebp-68H], ecx mov edx, gword ptr [esi+4*ecx+08H] push eax push ebx push dword ptr [ebp-64H] mov ecx, edx mov edx, edi cmp dword ptr [ecx], ecx call [System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1+LockedStack[ushort]:Trim(int,int,int,int):this] mov ecx, dword ptr [ebp-68H] inc ecx cmp dword ptr [esi+04H], ecx mov eax, dword ptr [ebp-50H] jg SHORT G_M000_IG08 jmp G_M000_IG05 G_M000_IG09: mov dword ptr [ebp-18H], 0 jmp G_M000_IG44 G_M000_IG10: cmp gword ptr [ebp-7CH], 0 je SHORT G_M000_IG11 mov ecx, gword ptr [ebp-7CH] call [System.IDisposable:Dispose():this] G_M000_IG11: pop eax jmp eax G_M000_IG12: mov esi, gword ptr [ebp-70H] mov ecx, gword ptr [esi+04H] cmp dword ptr [ecx], ecx call [System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this] mov gword ptr [ebp-80H], eax jmp G_M000_IG49 G_M000_IG13: mov dword ptr [ebp-18H], 0 jmp G_M000_IG44 G_M000_IG14: cmp gword ptr [ebp-80H], 0 je SHORT G_M000_IG15 mov ecx, gword ptr [ebp-80H] 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_IG41 G_M000_IG17: mov ecx, gword ptr [ebp-88H] cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG33 G_M000_IG18: mov eax, ecx cmp dword ptr [eax+0CH], 0 jl G_M000_IG29 add eax, 16 mov edx, gword ptr [eax] mov gword ptr [ebp-48H], edx mov eax, gword ptr [eax+04H] mov gword ptr [ebp-44H], eax mov eax, gword ptr [ebp-48H] xor edx, edx mov ebx, dword ptr [eax+04H] test ebx, ebx jle SHORT G_M000_IG21 G_M000_IG19: cmp gword ptr [eax+8*edx+08H], 0 jne G_M000_IG30 G_M000_IG20: inc edx cmp ebx, edx jg SHORT G_M000_IG19 G_M000_IG21: mov ecx, gword ptr [ebp-88H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax mov ecx, gword ptr [ebp-88H] jne SHORT G_M000_IG18 G_M000_IG22: jmp G_M000_IG41 G_M000_IG23: mov dword ptr [ebp-40H], edi mov gword ptr [ebp-8CH], eax mov dword ptr [ebp-4CH], edx lea ecx, bword ptr [eax+8*edx+08H] mov bword ptr [ebp-94H], ecx xor ecx, ecx mov edi, bword ptr [ebp-94H] xchg gword ptr [edi], ecx mov edi, ecx test edi, edi mov gword ptr [ebp-90H], edi mov eax, gword ptr [ebp-8CH] mov edx, dword ptr [ebp-4CH] je SHORT G_M000_IG24 mov edi, gword ptr [ebp-74H] cmp byte ptr [edi+59H], 0 mov edi, dword ptr [ebp-24H] je SHORT G_M000_IG20 mov dword ptr [ebp-4CH], edx mov gword ptr [ebp-8CH], eax mov ecx, gword ptr [ebp-90H] call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int mov dword ptr [ebp-54H], eax mov edx, gword ptr [ebp-90H] mov ecx, dword ptr [edx+04H] mov dword ptr [ebp-58H], ecx mov ecx, gword ptr [ebp-70H] call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int push dword ptr [ebp-54H] push dword ptr [ebp-58H] push eax mov ecx, gword ptr [ebp-74H] mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this] mov eax, gword ptr [ebp-8CH] mov edx, dword ptr [ebp-4CH] jmp G_M000_IG20 G_M000_IG24: mov edi, dword ptr [ebp-24H] jmp G_M000_IG20 G_M000_IG25: mov ebx, gword ptr [ebp-70H] mov gword ptr [ebp-8CH], eax mov dword ptr [ebp-4CH], edx lea ecx, bword ptr [eax+8*edx+08H] xor edi, edi xchg gword ptr [ecx], edi test edi, edi mov dword ptr [ebp-40H], esi mov gword ptr [ebp-90H], edi mov eax, gword ptr [ebp-8CH] mov edx, dword ptr [ebp-4CH] je SHORT G_M000_IG27 mov edi, gword ptr [ebp-74H] cmp byte ptr [edi+59H], 0 mov edi, dword ptr [ebp-24H] je SHORT G_M000_IG26 mov dword ptr [ebp-4CH], edx mov gword ptr [ebp-8CH], eax mov ecx, gword ptr [ebp-90H] call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int mov dword ptr [ebp-54H], eax mov ecx, gword ptr [ebp-90H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-58H], ecx mov ecx, ebx call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int push dword ptr [ebp-54H] push dword ptr [ebp-58H] push eax mov ecx, gword ptr [ebp-74H] mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this] mov gword ptr [ebp-70H], ebx mov eax, gword ptr [ebp-8CH] mov edx, dword ptr [ebp-4CH] jmp G_M000_IG36 G_M000_IG26: mov gword ptr [ebp-70H], ebx jmp G_M000_IG36 G_M000_IG27: mov gword ptr [ebp-70H], ebx mov edi, dword ptr [ebp-24H] jmp SHORT G_M000_IG36 G_M000_IG28: mov ebx, gword ptr [ebp-70H] 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 gword ptr [ebp-70H], ebx jmp SHORT G_M000_IG34 G_M000_IG29: call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen()] int3 G_M000_IG30: mov ecx, dword ptr [eax+8*edx+0CH] test ecx, ecx jne SHORT G_M000_IG32 G_M000_IG31: mov dword ptr [eax+8*edx+0CH], edi jmp G_M000_IG20 G_M000_IG32: mov esi, edi sub esi, ecx mov ecx, esi sar ecx, 31 mov edi, dword ptr [ebp-40H] cmp esi, edi sbb ecx, 0 jge G_M000_IG23 mov dword ptr [ebp-40H], edi mov edi, dword ptr [ebp-24H] jmp G_M000_IG20 G_M000_IG33: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG28 mov eax, ecx cmp dword ptr [eax+0CH], 0 jl SHORT G_M000_IG29 add eax, 16 mov edx, gword ptr [eax] mov gword ptr [ebp-48H], edx mov eax, gword ptr [eax+04H] mov gword ptr [ebp-44H], eax G_M000_IG34: mov eax, gword ptr [ebp-48H] xor edx, edx cmp dword ptr [eax+04H], 0 jle SHORT G_M000_IG37 G_M000_IG35: cmp gword ptr [eax+8*edx+08H], 0 jne SHORT G_M000_IG38 G_M000_IG36: inc edx cmp dword ptr [eax+04H], edx jg SHORT G_M000_IG35 G_M000_IG37: mov ecx, gword ptr [ebp-88H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG41 mov ecx, gword ptr [ebp-88H] jmp SHORT G_M000_IG33 G_M000_IG38: mov ebx, dword ptr [eax+8*edx+0CH] test ebx, ebx jne SHORT G_M000_IG40 G_M000_IG39: mov dword ptr [eax+8*edx+0CH], edi jmp SHORT G_M000_IG36 G_M000_IG40: mov ecx, edi sub ecx, ebx mov ebx, ecx sar ebx, 31 mov esi, dword ptr [ebp-40H] cmp ecx, esi sbb ebx, 0 jge G_M000_IG25 mov dword ptr [ebp-40H], esi jmp SHORT G_M000_IG36 G_M000_IG41: mov ecx, gword ptr [ebp-88H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG44 G_M000_IG42: cmp gword ptr [ebp-88H], 0 je SHORT G_M000_IG43 mov ecx, gword ptr [ebp-88H] call [System.IDisposable:Dispose():this] G_M000_IG43: pop eax jmp eax G_M000_IG44: mov eax, 1 G_M000_IG45: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG46: jmp SHORT G_M000_IG48 G_M000_IG47: lea edx, [ebp-30H] mov ecx, gword ptr [ebp-7CH] 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_IG48: mov ecx, gword ptr [ebp-7CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG47 mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG09 jmp G_M000_IG10 G_M000_IG49: jmp SHORT G_M000_IG54 G_M000_IG50: lea edx, [ebp-38H] mov ecx, gword ptr [ebp-80H] call [System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Current():System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]:this] mov edi, gword ptr [ebp-38H] xor eax, eax jmp SHORT G_M000_IG53 G_M000_IG51: 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_IG52 mov ecx, edx call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int mov dword ptr [ebp-5CH], eax mov ecx, gword ptr [ebp-84H] mov edx, dword ptr [ecx+04H] mov dword ptr [ebp-60H], edx mov ecx, esi call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int push dword ptr [ebp-5CH] push dword ptr [ebp-60H] push eax mov ecx, ebx mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this] G_M000_IG52: mov eax, dword ptr [ebp-3CH] inc eax G_M000_IG53: cmp dword ptr [edi+04H], eax jg SHORT G_M000_IG51 G_M000_IG54: mov ecx, gword ptr [ebp-80H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG50 mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG13 jmp G_M000_IG14 G_M000_IG55: mov eax, gword ptr [ebp-74H] push edi push ebx mov ecx, eax mov edx, 5 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this] jmp G_M000_IG03 G_M000_IG56: mov ebx, gword ptr [ebp-74H] cmp byte ptr [ebx+59H], 0 jne G_M000_IG12 mov esi, gword ptr [ebp-70H] mov ecx, gword ptr [esi+04H] cmp dword ptr [ecx], ecx call [System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this] mov gword ptr [ebp-7CH], eax jmp G_M000_IG46 ; Total bytes of code 1268 1095: JIT compiled System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[ushort]:Trim() [Tier1 with Static PGO, IL size=523, code size=1268] ; Assembly listing for method System.Buffers.Utilities:GetMemoryPressure():int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 77 ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 16 vzeroupper G_M000_IG02: xor ecx, ecx call [System.GC:GetGCMemoryInfo(int):System.GCMemoryInfo] mov esi, eax lea eax, bword ptr [esi+14H] mov edx, dword ptr [eax] push dword ptr [eax+04H] push edx call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-0CH], xmm0 add esi, 4 mov eax, dword ptr [esi] push dword ptr [esi+04H] push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmulsd xmm1, xmm0, qword ptr [@RWD00] vmovsd xmm2, qword ptr [ebp-0CH] vucomisd xmm2, xmm1 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 122 1096: JIT compiled System.Buffers.Utilities:GetMemoryPressure() [Tier1 with Static PGO, IL size=68, code size=122] ; Assembly listing for method System.GC:GetGCMemoryInfo(int):System.GCMemoryInfo ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 108 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov esi, ecx G_M000_IG02: test esi, esi jl SHORT G_M000_IG04 cmp esi, 3 jg SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov ecx, edi mov edx, esi call System.GC:GetMemoryInfo(System.GCMemoryInfoData,int) mov eax, edi G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax call [System.SR:get_ArgumentOutOfRange_Bounds_Lower_Upper():System.String] mov edi, eax xor ecx, ecx mov dword ptr [esi+04H], ecx mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ebx, eax mov dword ptr [ebx+04H], 3 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x1283 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax push ebx mov edx, esi mov ecx, edi call [System.SR:Format(System.String,System.Object,System.Object):System.String] push eax mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 ; Total bytes of code 159 1097: JIT compiled System.GC:GetGCMemoryInfo(int) [Tier1 with Static PGO, IL size=61, code size=159] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push edi push esi sub esp, 36 mov dword ptr [esp+20H], 0xD1FFAB1E G_M000_IG02: cmp byte ptr [ecx+59H], 0 je SHORT G_M000_IG06 G_M000_IG03: lea eax, [esp] lea esi, [esp+34H] mov edi, eax mov dword ptr [edi], esi xor esi, esi mov dword ptr [edi+04H], esi mov dword ptr [eax+08H], 4 G_M000_IG04: mov dword ptr [eax+0CH], esi lea esi, [esp+30H] lea edi, [eax+10H] mov dword ptr [edi], esi xor esi, esi mov dword ptr [edi+04H], esi mov dword ptr [eax+18H], 4 G_M000_IG05: mov dword ptr [eax+1CH], esi push 0 push 2 push eax call [System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this] G_M000_IG06: cmp dword ptr [esp+20H], 0xD1FFAB1E je SHORT G_M000_IG07 call CORINFO_HELP_FAIL_FAST G_M000_IG07: add esp, 36 pop esi pop edi ret 8 ; Total bytes of code 103 1098: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int) [Tier1, IL size=97, code size=103] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator():System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 32 xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-20H], ecx G_M000_IG02: mov edx, gword ptr [ebp-20H] mov ecx, gword ptr [edx+04H] mov gword ptr [ebp-24H], ecx xor edx, edx mov dword ptr [ebp-1CH], edx G_M000_IG03: cmp byte ptr [ebp-1CH], 0 jne SHORT G_M000_IG07 lea edx, [ebp-1CH] call System.Threading.Monitor:ReliableEnter(System.Object,byref) mov ecx, gword ptr [ebp-20H] mov ecx, gword ptr [ecx+08H] test ecx, ecx je SHORT G_M000_IG09 G_M000_IG04: cmp dword ptr [ecx+14H], 0 je SHORT G_M000_IG09 mov ecx, gword ptr [ebp-20H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+18H] test edx, edx je SHORT G_M000_IG08 G_M000_IG05: mov ecx, edx call CORINFO_HELP_NEWFAST mov esi, eax lea edx, bword ptr [esi+04H] mov ecx, gword ptr [ebp-20H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-20H] inc dword ptr [ecx+0CH] mov ecx, gword ptr [ebp-20H] mov ecx, gword ptr [ecx+08H] mov ecx, dword ptr [ecx+14H] dec ecx mov dword ptr [esi+08H], ecx mov dword ptr [esi+0CH], -1 G_M000_IG06: jmp SHORT G_M000_IG13 G_M000_IG07: call [System.Threading.Monitor:ThrowLockTakenException()] int3 G_M000_IG08: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax jmp SHORT G_M000_IG05 G_M000_IG09: mov ecx, gword ptr [ebp-20H] mov ecx, dword ptr [ecx] mov edx, dword ptr [ecx+20H] mov edx, dword ptr [edx] mov edx, dword ptr [edx+14H] test edx, edx je SHORT G_M000_IG11 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov edx, eax G_M000_IG12: mov ecx, edx call CORINFO_HELP_GETGENERICS_GCSTATIC_BASE mov esi, gword ptr [eax] jmp SHORT G_M000_IG06 G_M000_IG13: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG17 G_M000_IG14: mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) jmp SHORT G_M000_IG17 G_M000_IG15: cmp byte ptr [ebp-1CH], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-24H] call System.Threading.Monitor:Exit(System.Object) G_M000_IG16: pop eax jmp eax G_M000_IG17: mov eax, esi G_M000_IG18: lea esp, [ebp-04H] pop esi pop ebp ret ; Total bytes of code 228 1099: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]:System.Collections.Generic.IEnumerable>.GetEnumerator() [Tier1, IL size=69, code size=228] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:.ctor(System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: mov eax, edx G_M000_IG02: lea edx, bword ptr [ecx+04H] call CORINFO_HELP_ASSIGN_REF_EAX inc dword ptr [eax+0CH] mov eax, gword ptr [eax+08H] mov eax, dword ptr [eax+14H] dec eax mov dword ptr [ecx+08H], eax mov dword ptr [ecx+0CH], -1 G_M000_IG03: ret ; Total bytes of code 31 1100: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:.ctor(System.Runtime.CompilerServices.ConditionalWeakTable`2[System.__Canon,System.__Canon]) [Tier1, IL size=56, code size=31] ; Assembly listing for method System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 77 ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 32 xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-20H], ecx G_M000_IG02: mov edx, gword ptr [ebp-20H] cmp dword ptr [edx], edx mov edx, gword ptr [ebp-20H] add edx, 4 xor ecx, ecx mov esi, ecx xchg gword ptr [edx], esi test esi, esi je SHORT G_M000_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 132 1101: JIT compiled System.Runtime.CompilerServices.ConditionalWeakTable`2+Enumerator[System.__Canon,System.__Canon]:Dispose() [Tier1 with Static PGO, IL size=78, code size=132] ; Assembly listing for method System.GC:ReRegisterForFinalize(System.Object) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: test ecx, ecx je SHORT G_M000_IG04 call System.GC:_ReRegisterForFinalize(System.Object) G_M000_IG03: pop ebp ret G_M000_IG04: mov ecx, 0x12E9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 ; Total bytes of code 38 1102: JIT compiled System.GC:ReRegisterForFinalize(System.Object) [Tier1, IL size=18, code size=38] ; Assembly listing for method System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 228 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 20 xor eax, eax mov dword ptr [ebp-0CH], eax G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 15 1103: JIT compiled System.Runtime.ConstrainedExecution.CriticalFinalizerObject:Finalize() [Tier1 with Static PGO, IL size=10, code size=15] ; Assembly listing for method System.Number:UInt32ToDecStrForKnownSmallNumber(uint):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, gword ptr [D1FFAB1EH] cmp ecx, dword ptr [eax+04H] jae SHORT G_M000_IG05 mov eax, gword ptr [eax+4*ecx+08H] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: call [System.Number:g__CreateAndCacheString|70_0(uint):System.String] G_M000_IG04: pop ebp ret G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 35 1104: JIT compiled System.Number:UInt32ToDecStrForKnownSmallNumber(uint) [Tier1, IL size=18, code size=35] ; Assembly listing for method Perfolizer.Horology.TimeInterval:get_Nanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ecx] vmovsd qword ptr [esp], xmm0 fld qword ptr [esp] G_M000_IG03: add esp, 8 ret ; Total bytes of code 22 1105: JIT compiled Perfolizer.Horology.TimeInterval:get_Nanoseconds() [Tier1, IL size=7, code size=22] ; Assembly listing for method Perfolizer.Horology.TimeUnit:get_NanosecondAmount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: add ecx, 4 mov eax, dword ptr [ecx] mov edx, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 9 1106: JIT compiled Perfolizer.Horology.TimeUnit:get_NanosecondAmount() [Tier1, IL size=7, code size=9] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_IterationStage():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 4 1107: JIT compiled BenchmarkDotNet.Engines.IterationData:get_IterationStage() [Tier1, IL size=7, code size=4] ; Assembly listing for method System.Number:ExtractFractionAndBiasedExponent(double,byref):ulong ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; double-aligned frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 132 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp and esp, -8 push esi sub esp, 12 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [esp], xmm0 mov eax, dword ptr [esp] mov edx, dword ptr [esp+04H] mov esi, edx and esi, 0xD1FFAB1E shr edx, 20 and edx, 0x7FF mov dword ptr [ecx], edx mov edx, dword ptr [ecx] test edx, edx je SHORT G_M000_IG05 or eax, 0 or esi, 0xD1FFAB1E add edx, -0x433 mov dword ptr [ecx], edx G_M000_IG03: mov edx, esi G_M000_IG04: add esp, 12 pop esi mov esp, ebp pop ebp ret 8 G_M000_IG05: mov dword ptr [ecx], -0x432 jmp SHORT G_M000_IG03 ; Total bytes of code 92 1108: JIT compiled System.Number:ExtractFractionAndBiasedExponent(double,byref) [Tier1 with Static PGO, IL size=69, code size=92] ; Assembly listing for method System.Number+BigInteger:SetUInt64(byref,ulong) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4 G_M000_IG01: G_M000_IG02: cmp dword ptr [esp+08H], 1 jb SHORT G_M000_IG04 mov edx, dword ptr [esp+04H] mov dword ptr [ecx+04H], edx mov edx, dword ptr [esp+08H] mov dword ptr [ecx+08H], edx mov dword ptr [ecx], 2 G_M000_IG03: ret 8 G_M000_IG04: mov edx, dword ptr [esp+04H] call [System.Number+BigInteger:SetUInt32(byref,uint)] G_M000_IG05: ret 8 ; Total bytes of code 43 1109: JIT compiled System.Number+BigInteger:SetUInt64(byref,ulong) [Tier1 with Static PGO, IL size=55, code size=43] ; Assembly listing for method System.Number:UInt32ToDecStr(uint):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: cmp ecx, 300 jae SHORT G_M000_IG05 G_M000_IG03: call [System.Number:UInt32ToDecStrForKnownSmallNumber(uint):System.String] G_M000_IG04: pop ebp ret G_M000_IG05: call [System.Number:UInt32ToDecStr_NoSmallNumberCheck(uint):System.String] G_M000_IG06: pop ebp ret ; Total bytes of code 27 1110: JIT compiled System.Number:UInt32ToDecStr(uint) [Tier1, IL size=22, code size=27] ; Assembly listing for method System.IO.StreamWriter:Flush(bool,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 970 ; 9 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, 64 xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-28H], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-48H], 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_IG30 movzx edx, bl or edx, dword ptr [esi+28H] mov dword ptr [ebp+08H], edi mov eax, edi movzx ecx, al or edx, ecx je G_M000_IG31 cmp byte ptr [esi+31H], 0 je G_M000_IG20 G_M000_IG03: cmp gword ptr [esi+1CH], 0 je G_M000_IG15 G_M000_IG04: mov ecx, gword ptr [esi+1CH] lea eax, bword ptr [ecx+08H] mov edx, dword ptr [ecx+04H] mov dword ptr [ebp-2CH], edx G_M000_IG05: mov ecx, gword ptr [esi+18H] mov edi, gword ptr [esi+20H] mov edx, dword ptr [esi+28H] test edi, edi je G_M000_IG33 mov bword ptr [ebp-38H], eax mov eax, dword ptr [edi+04H] cmp dword ptr [edi+04H], edx jb G_M000_IG29 add edi, 8 G_M000_IG06: cmp dword ptr [ecx], 0xD1FFAB1E jne G_M000_IG19 G_M000_IG07: mov gword ptr [ebp-34H], ecx mov eax, bword ptr [ebp-38H] mov bword ptr [ebp-3CH], eax mov ecx, dword ptr [ebp-2CH] mov eax, ecx mov dword ptr [ebp-30H], eax mov bword ptr [ebp-40H], edi mov edi, 1 test edx, edx cmovne edi, bword ptr [ebp-40H] mov bword ptr [ebp-20H], edi mov dword ptr [ebp-24H], edi mov edi, bword ptr [ebp-3CH] mov bword ptr [ebp-44H], edi mov edi, 1 test eax, eax cmovne edi, bword ptr [ebp-44H] mov bword ptr [ebp-28H], edi mov ecx, gword ptr [ebp-34H] mov eax, dword ptr [ebp-24H] push edx push edi push dword ptr [ebp-30H] movzx edx, byte ptr [ebp+08H] push edx mov edx, eax call [System.Text.EncoderNLS:GetBytes(uint,int,uint,int,bool):int:this] xor edx, edx mov bword ptr [ebp-20H], edx G_M000_IG08: mov bword ptr [ebp-28H], edx G_M000_IG09: xor ecx, ecx mov dword ptr [esi+28H], ecx test eax, eax jle SHORT G_M000_IG11 G_M000_IG10: mov ecx, gword ptr [esi+10H] cmp eax, dword ptr [ebp-2CH] ja G_M000_IG29 mov edi, bword ptr [ebp-38H] push eax push edi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+38H] call [eax+1CH]System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this G_M000_IG11: test bl, bl jne SHORT G_M000_IG14 G_M000_IG12: cmp dword ptr [ebp-48H], 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 4 G_M000_IG14: mov ecx, gword ptr [esi+10H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+30H] call [eax+18H]System.IO.Stream:Flush():this jmp SHORT G_M000_IG12 G_M000_IG15: mov ecx, gword ptr [esi+14H] mov edx, dword ptr [esi+28H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+14H]System.Text.Encoding:GetMaxByteCount(int):int:this cmp eax, 0x400 jg G_M000_IG24 G_M000_IG16: mov ecx, -0x400 add ecx, esp jb SHORT G_M000_IG17 xor ecx, ecx G_M000_IG17: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, ecx jae SHORT G_M000_IG17 mov esp, ecx lea eax, [esp] mov dword ptr [ebp-10H], esp mov edx, 0x400 G_M000_IG18: mov bword ptr [ebp-38H], eax mov dword ptr [ebp-2CH], edx mov eax, bword ptr [ebp-38H] jmp G_M000_IG05 G_M000_IG19: push edx push edi mov edi, dword ptr [ebp-2CH] push edi push bword ptr [ebp-38H] 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-2CH], edi jmp G_M000_IG09 G_M000_IG20: mov byte ptr [esi+31H], 1 mov ecx, gword ptr [esi+14H] mov eax, dword ptr [ecx] cmp eax, 0xD1FFAB1E je SHORT G_M000_IG27 G_M000_IG21: lea edx, [ebp-1CH] mov eax, dword ptr [eax+28H] call [eax+18H]System.Text.Encoding:get_Preamble():System.ReadOnlySpan`1[ubyte]:this G_M000_IG22: cmp dword ptr [ebp-18H], 0 jle G_M000_IG03 G_M000_IG23: 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 jmp G_M000_IG03 G_M000_IG24: mov ecx, gword ptr [esi+14H] mov edx, gword ptr [esi+20H] mov edx, dword ptr [edx+04H] mov eax, dword ptr [ecx] cmp eax, 0xD1FFAB1E je SHORT G_M000_IG28 G_M000_IG25: mov eax, dword ptr [eax+3CH] call [eax+14H]System.Text.Encoding:GetMaxByteCount(int):int:this G_M000_IG26: 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 jmp G_M000_IG18 G_M000_IG27: lea edx, [ebp-1CH] call [System.Text.UTF8Encoding:get_Preamble():System.ReadOnlySpan`1[ubyte]:this] jmp SHORT G_M000_IG22 G_M000_IG28: call [System.Text.UTF8Encoding:GetMaxByteCount(int):int:this] jmp SHORT G_M000_IG26 G_M000_IG29: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG30: mov ecx, esi call [System.IO.StreamWriter:g__ThrowObjectDisposedException|76_0():this] int3 G_M000_IG31: cmp dword ptr [ebp-48H], 0xD1FFAB1E je SHORT G_M000_IG32 call CORINFO_HELP_FAIL_FAST G_M000_IG32: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG33: test edx, edx mov dword ptr [ebp-14H], ebx jne SHORT G_M000_IG29 xor edx, edx xor ebx, ebx mov bword ptr [ebp-38H], eax mov edi, edx mov edx, ebx movzx ebx, byte ptr [ebp-14H] jmp G_M000_IG06 ; Total bytes of code 617 1111: JIT compiled System.IO.StreamWriter:Flush(bool,bool) [Tier1 with Static PGO, IL size=272, code size=617] ; Assembly listing for method System.Text.UTF8Encoding:GetMaxByteCount(int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 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, 8 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi jl SHORT G_M000_IG06 mov ebx, esi sar ebx, 31 add esi, 1 adc ebx, 0 mov ecx, gword ptr [edi+08H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+14H]System.Text.EncoderFallback:get_MaxCharCount():int:this cmp eax, 1 jle SHORT G_M000_IG04 G_M000_IG03: push ebx push esi mov ecx, gword ptr [edi+08H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+14H]System.Text.EncoderFallback:get_MaxCharCount():int:this mov edx, eax sar edx, 31 push edx push eax call CORINFO_HELP_LMUL mov esi, eax mov ebx, edx G_M000_IG04: push ebx push esi push 0 push 3 call CORINFO_HELP_LMUL mov esi, eax mov ebx, edx cmp esi, 0xD1FFAB1E sbb ebx, 0 jge SHORT G_M000_IG07 mov eax, esi G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG06: mov ecx, 0x13736 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG07: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x13736 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax call [System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String] push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 189 1112: JIT compiled System.Text.UTF8Encoding:GetMaxByteCount(int) [Tier1, IL size=79, code size=189] ; Assembly listing for method System.Text.EncoderExceptionFallback:get_MaxCharCount():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: xor eax, eax G_M000_IG03: ret ; Total bytes of code 3 1113: JIT compiled System.Text.EncoderExceptionFallback:get_MaxCharCount() [Tier1, IL size=2, code size=3] ; Assembly listing for method System.Text.EncoderNLS:GetBytes(uint,int,uint,int,bool):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 2 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, dword ptr [ebp+14H] mov eax, dword ptr [ebp+10H] mov edi, dword ptr [ebp+0CH] G_M000_IG02: test edx, edx je SHORT G_M000_IG04 test eax, eax je SHORT G_M000_IG05 test edi, edi jl SHORT G_M000_IG06 test esi, esi jl SHORT G_M000_IG07 mov ebx, dword ptr [ebp+08H] mov byte ptr [ecx+16H], bl mov byte ptr [ecx+17H], 1 mov ebx, gword ptr [ecx+0CH] push esi push eax push edi push ecx mov ecx, ebx mov eax, dword ptr [ebx] mov eax, dword ptr [eax+40H] call [eax+1CH]System.Text.Encoding:GetBytes(uint,int,uint,int,System.Text.EncoderNLS):int:this G_M000_IG03: pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG04: mov ecx, 0x13716 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG05: mov ecx, 0x1DC9 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax call [System.ArgumentNullException:Throw(System.String)] int3 G_M000_IG06: mov ecx, 0x136FC mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, edi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 G_M000_IG07: mov ecx, 0x13736 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 ; Total bytes of code 165 1114: JIT compiled System.Text.EncoderNLS:GetBytes(uint,int,uint,int,bool) [Tier1, IL size=78, code size=165] ; Assembly listing for method System.Text.Encoding:GetBytes(uint,int,uint,int,System.Text.EncoderNLS):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 6021 ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 16 mov esi, ecx mov edi, edx mov eax, dword ptr [ebp+14H] mov ebx, gword ptr [ebp+08H] G_M000_IG02: xor ecx, ecx xor edx, edx mov dword ptr [ebp-14H], edx cmp word ptr [ebx+14H], 0 jne G_M000_IG09 cmp gword ptr [ebx+08H], 0 mov dword ptr [ebp-10H], ecx jne G_M000_IG11 G_M000_IG03: cmp dword ptr [esi], 0xD1FFAB1E jne SHORT G_M000_IG05 G_M000_IG04: push dword ptr [ebp+10H] push dword ptr [ebp+0CH] lea ecx, [ebp-18H] push ecx lea ecx, [ebp-1CH] push ecx mov ecx, edi mov dword ptr [ebp+14H], eax mov edx, eax 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 dword ptr [ebp-14H], ecx mov ecx, dword ptr [ebp-1CH] mov eax, dword ptr [ebp+10H] sub ecx, eax jmp SHORT G_M000_IG06 G_M000_IG05: mov dword ptr [ebp+14H], eax push eax push dword ptr [ebp+10H] push dword ptr [ebp+0CH] lea ecx, [ebp-14H] push ecx mov ecx, esi mov edx, edi mov eax, dword ptr [esi] mov eax, dword ptr [eax+44H] call [eax]System.Text.Encoding:GetBytesFast(uint,int,uint,int,byref):int:this mov ecx, eax mov eax, dword ptr [ebp+10H] G_M000_IG06: mov edx, ecx mov ecx, dword ptr [ebp+14H] cmp dword ptr [ebp-14H], ecx mov dword ptr [ebp+10H], eax jne SHORT G_M000_IG08 mov dword ptr [ebx+10H], ecx mov eax, edx G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG08: mov eax, ecx mov ecx, edx G_M000_IG09: push eax push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp-14H] push ecx 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_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG11: mov dword ptr [ebp+14H], eax mov edx, gword ptr [ebx+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+14H] mov ecx, dword ptr [ebp-10H] jne SHORT G_M000_IG09 jmp G_M000_IG03 ; Total bytes of code 243 1115: JIT compiled System.Text.Encoding:GetBytes(uint,int,uint,int,System.Text.EncoderNLS) [Tier1 with Static PGO, IL size=57, code size=243] ; Assembly listing for method System.Text.EncoderNLS:get_HasLeftoverData():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 6021 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 1116: JIT compiled System.Text.EncoderNLS:get_HasLeftoverData() [Tier1 with Static PGO, IL size=35, code size=47] ; Assembly listing for method System.IO.FileStream:Write(System.ReadOnlySpan`1[ubyte]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 3278 ; 1 inlinees with PGO data; 3 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+08H] mov esi, ecx cmp dword ptr [esi], 0xD1FFAB1E jne SHORT G_M000_IG07 G_M000_IG03: mov ecx, gword ptr [esi+0CH] mov eax, dword ptr [ecx] cmp eax, 0xD1FFAB1E jne SHORT G_M000_IG04 mov ecx, gword ptr [ecx+1CH] test byte ptr [ecx+08H], 1 je SHORT G_M000_IG05 jmp SHORT G_M000_IG08 G_M000_IG04: mov eax, dword ptr [eax+3CH] call [eax+14H]System.IO.Strategies.FileStreamStrategy:get_IsClosed():bool:this test eax, eax jne SHORT G_M000_IG08 G_M000_IG05: push dword ptr [ebp+0CH] push bword ptr [ebp+08H] push 0 push 0 push 0 mov ecx, esi call [System.IO.Strategies.BufferedFileStreamStrategy:WriteSpan(System.ReadOnlySpan`1[ubyte],System.ArraySegment`1[ubyte]):this] G_M000_IG06: pop esi pop ebp ret 8 G_M000_IG07: push dword ptr [ebp+0CH] push bword ptr [ebp+08H] mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+38H] call [eax+1CH]System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this jmp SHORT G_M000_IG06 G_M000_IG08: xor ecx, ecx call [System.ThrowHelper:ThrowObjectDisposedException_StreamClosed(System.String)] int3 ; Total bytes of code 102 1117: JIT compiled System.IO.FileStream:Write(System.ReadOnlySpan`1[ubyte]) [Tier1 with Static PGO, IL size=13, code size=102] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:Write(System.ReadOnlySpan`1[ubyte]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 409 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: mov ecx, gword ptr [esi+1CH] test byte ptr [ecx+08H], 1 jne SHORT G_M000_IG04 test byte ptr [esi+20H], 2 je SHORT G_M000_IG05 mov ecx, gword ptr [esi+1CH] push dword ptr [ebp+0CH] push bword ptr [ebp+08H] lea eax, bword ptr [esi+0CH] mov edx, dword ptr [eax] push dword ptr [eax+04H] push edx call [System.IO.RandomAccess:WriteAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long)] lea eax, bword ptr [esi+0CH] mov edx, dword ptr [eax] mov eax, dword ptr [eax+04H] mov ecx, dword ptr [ebp+0CH] mov edi, ecx sar edi, 31 add edx, ecx adc eax, edi add esi, 12 mov dword ptr [esi], edx mov dword ptr [esi+04H], eax G_M000_IG03: pop esi pop edi pop ebp ret 8 G_M000_IG04: call [System.ThrowHelper:ThrowObjectDisposedException_FileClosed()] int3 G_M000_IG05: call [System.ThrowHelper:ThrowNotSupportedException_UnwritableStream()] int3 ; Total bytes of code 94 1118: JIT compiled System.IO.Strategies.OSFileStreamStrategy:Write(System.ReadOnlySpan`1[ubyte]) [Tier1 with Static PGO, IL size=75, code size=94] ; Assembly listing for method System.IO.RandomAccess:WriteAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 48 vzeroupper xor eax, eax mov dword ptr [ebp-24H], eax mov esi, ecx G_M000_IG02: mov edi, dword ptr [ebp+14H] test edi, edi jne SHORT G_M000_IG04 G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG04: mov ebx, esi cmp byte ptr [ebx], bl mov ecx, esi call [Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions():int:this] test eax, 0xD1FFAB1E je SHORT G_M000_IG06 push dword ptr [ebp+14H] push bword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, esi call [System.IO.RandomAccess:WriteSyncUsingAsyncHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long)] G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG06: xor ecx, ecx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-3CH], xmm0 mov dword ptr [ebp-2CH], ecx mov ecx, esi call [Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek():bool:this] test eax, eax je SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov dword ptr [ebp-34H], ecx mov ecx, dword ptr [ebp+0CH] mov dword ptr [ebp-30H], ecx G_M000_IG08: 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_IG10 G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG10: mov ecx, esi call [System.IO.Strategies.FileStreamHelpers:GetLastWin32ErrorAndDisposeHandleIfInvalid(Microsoft.Win32.SafeHandles.SafeFileHandle):int] mov ecx, eax mov edx, gword ptr [esi+1CH] call [System.IO.Win32Marshal:GetExceptionForWin32Error(int,System.String):System.Exception] mov ecx, eax call CORINFO_HELP_THROW int3 ; Total bytes of code 203 1119: JIT compiled System.IO.RandomAccess:WriteAtOffset(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlySpan`1[ubyte],long) [Tier1, IL size=89, code size=203] ; Assembly listing for method Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 8915 G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 12 mov esi, ecx G_M000_IG02: mov eax, dword ptr [esi+2CH] cmp eax, -1 je SHORT G_M000_IG04 G_M000_IG03: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG04: lea edx, [ebp-08H] push edx push 4 push 16 lea edx, [ebp-10H] mov ecx, esi call [Interop+NtDll:NtQueryInformationFile(Microsoft.Win32.SafeHandles.SafeFileHandle,byref,uint,uint,uint):int] mov ecx, eax test ecx, ecx jne SHORT G_M000_IG06 xor eax, eax mov ecx, 0xD1FFAB1E test byte ptr [ebp-08H], 48 cmove eax, ecx mov ecx, eax or ecx, 0xD1FFAB1E test byte ptr [ebp-08H], 2 cmovne eax, ecx mov ecx, eax or ecx, 0xD1FFAB1E test dword ptr [ebp-08H], 0x800 cmovne eax, ecx mov ecx, eax or ecx, 0xD1FFAB1E test byte ptr [ebp-08H], 4 cmovne eax, ecx mov ecx, eax or ecx, 0xD1FFAB1E test dword ptr [ebp-08H], 0x1000 cmovne eax, ecx mov ecx, eax or ecx, 0xD1FFAB1E test byte ptr [ebp-08H], 8 cmovne eax, ecx mov dword ptr [esi+2CH], eax G_M000_IG05: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG06: call Interop+NtDll:RtlNtStatusToDosError(int):uint mov esi, eax mov ecx, 85 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax mov ecx, esi call [System.IO.Win32Marshal:GetExceptionForWin32Error(int,System.String):System.Exception] mov ecx, eax call CORINFO_HELP_THROW int3 ; Total bytes of code 192 1120: JIT compiled Microsoft.Win32.SafeHandles.SafeFileHandle:GetFileOptions() [Tier1 with Static PGO, IL size=159, code size=192] ; Assembly listing for method System.IO.RandomAccess:GetNativeOverlappedForSyncHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,long):System.Threading.NativeOverlapped ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 8707 ; 2 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 vzeroupper mov edi, ecx mov esi, edx G_M000_IG02: xor ecx, ecx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-20H], xmm0 mov dword ptr [ebp-10H], ecx test byte ptr [esi+08H], 1 jne SHORT G_M000_IG04 mov ebx, dword ptr [esi+30H] cmp ebx, -1 je SHORT G_M000_IG06 G_M000_IG03: cmp ebx, 1 jne SHORT G_M000_IG04 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-18H], eax mov eax, dword ptr [ebp+0CH] mov dword ptr [ebp-14H], eax G_M000_IG04: vmovdqu xmm0, xmmword ptr [ebp-20H] vmovdqu xmmword ptr [edi], xmm0 mov eax, dword ptr [ebp-10H] mov dword ptr [edi+10H], eax G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG06: mov ecx, esi call [Interop+Kernel32:GetFileType(System.Runtime.InteropServices.SafeHandle):int] mov ebx, eax mov dword ptr [esi+30H], ebx jmp SHORT G_M000_IG03 ; Total bytes of code 101 1121: JIT compiled System.IO.RandomAccess:GetNativeOverlappedForSyncHandle(Microsoft.Win32.SafeHandles.SafeFileHandle,long) [Tier1 with Static PGO, IL size=39, code size=101] ; Assembly listing for method Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 230263 ; 1 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, ecx G_M000_IG02: test byte ptr [esi+08H], 1 jne SHORT G_M000_IG06 mov edi, dword ptr [esi+30H] 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+30H], edi jmp SHORT G_M000_IG03 G_M000_IG06: xor eax, eax G_M000_IG07: pop esi pop edi pop ebp ret ; Total bytes of code 54 1122: JIT compiled Microsoft.Win32.SafeHandles.SafeFileHandle:get_CanSeek() [Tier1 with Static PGO, IL size=20, code size=54] ; Assembly listing for method Interop+Kernel32:WriteFile(System.Runtime.InteropServices.SafeHandle,uint,int,byref,uint):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 534 ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 68 xor ebx, ebx mov dword ptr [ebp-28H], ebx mov dword ptr [ebp-18H], ebx mov gword ptr [ebp-30H], ecx 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-24H], edx G_M000_IG03: lea edx, [ebp-24H] cmp dword ptr [ecx], ecx call [System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref):this] mov ecx, gword ptr [ebp-30H] mov edi, dword ptr [ecx+04H] G_M000_IG04: mov eax, bword ptr [ebp+0CH] mov bword ptr [ebp-28H], eax mov dword ptr [ebp-2CH], eax push 0 mov edx, 0xD1FFAB1E G_M000_IG05: call edx ; Interop+Kernel32:SetLastError(int) push dword ptr [ebp+08H] push dword ptr [ebp-2CH] push dword ptr [ebp+10H] push ebx push edi mov dword ptr [ebp-44H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-40H], eax lea eax, G_M000_IG08 mov dword ptr [ebp-3CH], eax mov byte ptr [esi+08H], 0 G_M000_IG06: mov eax, 0xD1FFAB1E G_M000_IG07: call eax ; Interop+Kernel32:g____PInvoke|251_0(int,uint,int,uint,uint):int G_M000_IG08: mov edi, eax mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG09 call CORINFO_HELP_STOP_FOR_GC G_M000_IG09: xor eax, eax mov dword ptr [ebp-3CH], eax mov eax, 0xD1FFAB1E G_M000_IG10: call eax ; Interop+Kernel32:GetLastError():int mov ebx, eax G_M000_IG11: xor ecx, ecx mov bword ptr [ebp-28H], ecx jmp SHORT G_M000_IG13 G_M000_IG12: xor ecx, ecx mov bword ptr [ebp-28H], ecx pop eax jmp eax G_M000_IG13: cmp byte ptr [ebp-24H], 0 je SHORT G_M000_IG16 mov ecx, gword ptr [ebp-30H] xor edx, edx call [System.Runtime.InteropServices.SafeHandle:InternalRelease(bool):this] jmp SHORT G_M000_IG16 G_M000_IG14: cmp byte ptr [ebp-24H], 0 je SHORT G_M000_IG15 mov ecx, gword ptr [ebp-30H] cmp byte ptr [ecx], cl xor edx, edx call [System.Runtime.InteropServices.SafeHandle:InternalRelease(bool):this] G_M000_IG15: pop eax jmp eax G_M000_IG16: 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_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 ; Total bytes of code 233 1123: JIT compiled Interop+Kernel32:WriteFile(System.Runtime.InteropServices.SafeHandle,uint,int,byref,uint) [Tier1 with Static PGO, IL size=84, code size=233] ; Assembly listing for method System.IO.FileStream:Flush():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 399 ; 3 inlinees with PGO data; 2 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 dword ptr [esi], 0xD1FFAB1E jne SHORT G_M000_IG09 G_M000_IG03: mov ecx, esi mov ecx, gword ptr [ecx+08H] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG08 G_M000_IG04: mov ecx, gword ptr [ecx+0CH] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG10 mov ecx, gword ptr [ecx+1CH] mov eax, dword ptr [ecx+08H] and eax, 1 G_M000_IG05: test eax, eax jne SHORT G_M000_IG11 mov ecx, gword ptr [esi+08H] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG07 G_M000_IG06: pop esi pop ebp ret G_M000_IG07: 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_IG06 G_M000_IG08: 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_IG05 G_M000_IG09: 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_IG06 G_M000_IG10: 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_IG05 G_M000_IG11: call [System.ThrowHelper:ThrowObjectDisposedException_FileClosed()] int3 ; Total bytes of code 117 1124: JIT compiled System.IO.FileStream:Flush() [Tier1 with Static PGO, IL size=8, code size=117] ; Assembly listing for method System.IO.Strategies.OSFileStreamStrategy:get_IsClosed():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: G_M000_IG02: mov eax, gword ptr [ecx+1CH] mov eax, dword ptr [eax+08H] and eax, 1 G_M000_IG03: ret ; Total bytes of code 10 1125: JIT compiled System.IO.Strategies.OSFileStreamStrategy:get_IsClosed() [Tier1, IL size=12, code size=10] ; Assembly listing for method Perfolizer.Horology.Frequency:.ctor(double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [esp+04H] vmovsd qword ptr [ecx], xmm0 G_M000_IG03: ret 8 ; Total bytes of code 16 1126: JIT compiled Perfolizer.Horology.Frequency:.ctor(double) [Tier1, IL size=8, code size=16] ; Assembly listing for method Perfolizer.Horology.Frequency:get_Hertz():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ecx] vmovsd qword ptr [esp], xmm0 fld qword ptr [esp] G_M000_IG03: add esp, 8 ret ; Total bytes of code 22 1127: JIT compiled Perfolizer.Horology.Frequency:get_Hertz() [Tier1, IL size=7, code size=22] ; Assembly listing for method System.Enum:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 5 inlinees with PGO data; 23 single block inlinees; 19 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: mov ecx, esi call System.Object:GetType():System.Type:this mov edi, eax lea ebx, bword ptr [esi+04H] mov ecx, dword ptr [esi] call System.Enum:InternalGetCorElementType(uint):ubyte add eax, -4 cmp eax, 7 ja G_M000_IG52 lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG03: mov ecx, edi mov edx, ebx call [System.Enum:ToString[byte,ubyte](System.RuntimeType,byref):System.String] jmp G_M000_IG53 G_M000_IG04: movzx ebx, byte ptr [ebx] mov esi, dword ptr [edi+08H] test esi, esi je SHORT G_M000_IG12 G_M000_IG05: mov ecx, gword ptr [esi] G_M000_IG06: test ecx, ecx je SHORT G_M000_IG11 G_M000_IG07: mov ecx, gword ptr [ecx+3CH] G_M000_IG08: test ecx, ecx je SHORT G_M000_IG13 G_M000_IG09: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG13 G_M000_IG10: cmp gword ptr [ecx+08H], 0 je SHORT G_M000_IG13 jmp SHORT G_M000_IG14 G_M000_IG11: xor ecx, ecx jmp SHORT G_M000_IG08 G_M000_IG12: xor ecx, ecx jmp SHORT G_M000_IG06 G_M000_IG13: mov ecx, edi mov edx, 1 call [System.Enum:g__InitializeEnumInfo|7_0[ubyte](System.RuntimeType,bool):System.Enum+EnumInfo`1[ubyte]] mov ecx, eax G_M000_IG14: cmp byte ptr [ecx+0CH], 0 jne SHORT G_M000_IG23 mov edi, gword ptr [ecx+08H] cmp byte ptr [ecx+0DH], 0 je SHORT G_M000_IG15 mov esi, dword ptr [edi+04H] cmp esi, ebx jbe SHORT G_M000_IG21 mov eax, gword ptr [edi+4*ebx+08H] jmp SHORT G_M000_IG22 G_M000_IG15: mov ecx, gword ptr [ecx+04H] test ecx, ecx je SHORT G_M000_IG18 G_M000_IG16: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] G_M000_IG17: cmp dword ptr [ecx+04H], 32 jle SHORT G_M000_IG19 push ebx mov ecx, edx mov edx, eax call [System.SpanHelpers:BinarySearch[ubyte,ubyte](byref,int,ubyte):int] jmp SHORT G_M000_IG20 G_M000_IG18: xor edx, edx xor eax, eax jmp SHORT G_M000_IG17 G_M000_IG19: push eax mov ecx, edx mov edx, ebx call [System.SpanHelpers:NonPackedIndexOfValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,int):int] G_M000_IG20: mov esi, dword ptr [edi+04H] cmp esi, eax jbe SHORT G_M000_IG21 mov eax, gword ptr [edi+4*eax+08H] jmp SHORT G_M000_IG22 G_M000_IG21: xor eax, eax G_M000_IG22: jmp SHORT G_M000_IG24 G_M000_IG23: mov edx, ebx call [System.Enum:FormatFlagNames[ubyte](System.Enum+EnumInfo`1[ubyte],ubyte):System.String] G_M000_IG24: test eax, eax jne SHORT G_M000_IG25 mov ecx, ebx call [System.Number:UInt32ToDecStr(uint):System.String] G_M000_IG25: jmp G_M000_IG53 G_M000_IG26: mov ecx, edi mov edx, ebx call [System.Enum:ToString[short,ushort](System.RuntimeType,byref):System.String] jmp G_M000_IG53 G_M000_IG27: mov ecx, edi mov edx, ebx call [System.Enum:ToString[ushort,ushort](System.RuntimeType,byref):System.String] jmp G_M000_IG53 G_M000_IG28: mov ebx, dword ptr [ebx] mov esi, dword ptr [edi+08H] test esi, esi je SHORT G_M000_IG36 G_M000_IG29: mov ecx, gword ptr [esi] G_M000_IG30: test ecx, ecx je SHORT G_M000_IG35 G_M000_IG31: mov ecx, gword ptr [ecx+3CH] G_M000_IG32: test ecx, ecx je SHORT G_M000_IG37 G_M000_IG33: cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG37 G_M000_IG34: cmp gword ptr [ecx+08H], 0 je SHORT G_M000_IG37 jmp SHORT G_M000_IG38 G_M000_IG35: xor ecx, ecx jmp SHORT G_M000_IG32 G_M000_IG36: xor ecx, ecx jmp SHORT G_M000_IG30 G_M000_IG37: mov ecx, edi mov edx, 1 call [System.Enum:g__InitializeEnumInfo|7_0[uint](System.RuntimeType,bool):System.Enum+EnumInfo`1[uint]] mov ecx, eax G_M000_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 mov ecx, ebx mov esi, dword ptr [edi+04H] cmp esi, ecx 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[uint,uint](byref,int,uint):int] jmp SHORT G_M000_IG43 G_M000_IG42: push eax mov ecx, edx mov edx, ebx call [System.SpanHelpers:NonPackedIndexOfValueType[int,System.SpanHelpers+DontNegate`1[int]](byref,int,int):int] G_M000_IG43: mov esi, dword ptr [edi+04H] cmp esi, 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[uint](System.Enum+EnumInfo`1[uint],uint):System.String] G_M000_IG47: test eax, eax jne SHORT G_M000_IG48 mov ecx, ebx call [System.Number:Int32ToDecStr(int):System.String] G_M000_IG48: jmp SHORT G_M000_IG53 G_M000_IG49: mov ecx, edi mov edx, ebx call [System.Enum:ToString[uint,uint](System.RuntimeType,byref):System.String] jmp SHORT G_M000_IG53 G_M000_IG50: mov ecx, edi mov edx, ebx call [System.Enum:ToString[long,ulong](System.RuntimeType,byref):System.String] jmp SHORT G_M000_IG53 G_M000_IG51: mov ecx, edi mov edx, ebx call [System.Enum:ToString[ulong,ulong](System.RuntimeType,byref):System.String] jmp SHORT G_M000_IG53 G_M000_IG52: mov ecx, edi mov edx, ebx call [System.Enum:g__HandleRareTypes|55_0(System.RuntimeType,byref):System.String] G_M000_IG53: pop ebx pop esi pop edi pop ebp ret RWD00 dd G_M000_IG03 - G_M000_IG02 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG26 - G_M000_IG02 dd G_M000_IG27 - G_M000_IG02 dd G_M000_IG28 - G_M000_IG02 dd G_M000_IG49 - G_M000_IG02 dd G_M000_IG50 - G_M000_IG02 dd G_M000_IG51 - G_M000_IG02 ; Total bytes of code 514 1128: JIT compiled System.Enum:ToString() [Tier1, IL size=158, code size=514] ; Assembly listing for method System.Enum:g__InitializeEnumInfo|7_0[uint](System.RuntimeType,bool):System.Enum+EnumInfo`1[uint] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 60 xor ebx, ebx mov dword ptr [ebp-14H], ebx mov dword ptr [ebp-18H], ebx mov gword ptr [ebp-10H], ecx G_M000_IG02: lea edi, [ebp-44H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-30H], eax xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], eax lea eax, [ebp-10H] mov dword ptr [ebp-20H], eax mov eax, gword ptr [ebp-10H] lea edi, bword ptr [ebp-20H] test eax, eax je G_M000_IG20 G_M000_IG03: mov ebx, dword ptr [eax+0CH] G_M000_IG04: mov dword ptr [edi+04H], ebx mov eax, dword ptr [ebp-20H] mov ecx, dword ptr [ebp-1CH] lea edi, [ebp-14H] lea ebx, [ebp-18H] test dl, dl jne SHORT G_M000_IG06 G_M000_IG05: xor edx, edx jmp SHORT G_M000_IG07 G_M000_IG06: mov edx, 1 G_M000_IG07: push edx push ebx push edi push ecx push eax mov dword ptr [ebp-3CH], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-38H], eax lea eax, G_M000_IG10 mov dword ptr [ebp-34H], eax mov byte ptr [esi+08H], 0 G_M000_IG08: mov eax, 0xD1FFAB1E G_M000_IG09: call eax ; System.Enum:GetEnumValuesAndNames(System.Runtime.CompilerServices.QCallTypeHandle,System.Runtime.CompilerServices.ObjectHandleOnStack,System.Runtime.CompilerServices.ObjectHandleOnStack,int) G_M000_IG10: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG11 call CORINFO_HELP_STOP_FOR_GC G_M000_IG11: xor ecx, ecx mov dword ptr [ebp-34H], ecx push 0 mov ecx, gword ptr [ebp-10H] mov edx, 0xD1FFAB1E cmp dword ptr [ecx], ecx call [System.RuntimeType:IsDefined(System.Type,bool):bool:this] mov ebx, eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov eax, gword ptr [ebp-14H] mov gword ptr [ebp-24H], eax mov ecx, gword ptr [ebp-18H] mov gword ptr [ebp-28H], ecx mov byte ptr [edi+0CH], bl lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_EAX lea edx, bword ptr [edi+08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, eax call [System.Enum:AreSorted[uint](uint[]):bool] test eax, eax jne SHORT G_M000_IG16 G_M000_IG12: mov ebx, gword ptr [ebp-24H] test ebx, ebx je SHORT G_M000_IG21 push 0 push dword ptr [ebx+04H] push 0 push 0xD1FFAB1E mov ecx, ebx mov edx, gword ptr [ebp-28H] call [System.Array:Sort[uint,System.__Canon](uint[],System.__Canon[],int,int,System.Collections.Generic.IComparer`1[uint])] G_M000_IG13: mov ecx, ebx call [System.Enum:AreSequentialFromZero[uint](uint[]):bool] mov byte ptr [edi+0DH], al mov ecx, gword ptr [ebp-10H] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG17 G_M000_IG14: mov eax, dword ptr [ecx+08H] mov eax, gword ptr [eax] test eax, eax je SHORT G_M000_IG17 G_M000_IG15: jmp SHORT G_M000_IG18 G_M000_IG16: mov ebx, gword ptr [ebp-24H] jmp SHORT G_M000_IG13 G_M000_IG17: call [System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this] G_M000_IG18: lea edx, bword ptr [eax+3CH] call CORINFO_HELP_ASSIGN_REF_EDI mov eax, edi mov ecx, bword ptr [ebp-40H] mov dword ptr [esi+0CH], ecx G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG20: xor ebx, ebx jmp G_M000_IG04 G_M000_IG21: mov ecx, 75 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 342 1129: JIT compiled System.Enum:g__InitializeEnumInfo|7_0[uint](System.RuntimeType,bool) [Tier1, IL size=73, code size=342] ; Assembly listing for method System.Enum+EnumInfo`1[uint]:.ctor(bool,uint[],System.String[]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx mov edi, gword ptr [ebp+0CH] mov ebx, gword ptr [ebp+08H] G_M000_IG02: mov byte ptr [esi+0CH], dl lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EDI lea edx, bword ptr [esi+08H] call CORINFO_HELP_ASSIGN_REF_EBX mov ecx, edi call [System.Enum:AreSorted[uint](uint[]):bool] test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: test edi, edi je SHORT G_M000_IG06 push 0 push dword ptr [edi+04H] push 0 push 0xD1FFAB1E mov ecx, edi mov edx, ebx call [System.Array:Sort[uint,System.__Canon](uint[],System.__Canon[],int,int,System.Collections.Generic.IComparer`1[uint])] G_M000_IG04: mov ecx, edi call [System.Enum:AreSequentialFromZero[uint](uint[]):bool] mov byte ptr [esi+0DH], al G_M000_IG05: pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG06: mov ecx, 75 call [System.ThrowHelper:ThrowArgumentNullException(int)] int3 ; Total bytes of code 101 1130: JIT compiled System.Enum+EnumInfo`1[uint]:.ctor(bool,uint[],System.String[]) [Tier1, IL size=55, code size=101] ; Assembly listing for method System.Enum:AreSorted[uint](uint[]):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 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 eax, 1 mov edx, dword ptr [ecx+04H] cmp edx, 1 jle SHORT G_M000_IG06 align [14 bytes for IG03] G_M000_IG03: lea esi, [eax-01H] cmp esi, edx jae SHORT G_M000_IG10 lea esi, bword ptr [ecx+4*eax+04H] mov edi, dword ptr [ecx+4*eax+08H] cmp dword ptr [esi], edi jb SHORT G_M000_IG05 G_M000_IG04: cmp dword ptr [esi], edi ja SHORT G_M000_IG08 G_M000_IG05: inc eax cmp edx, eax jg SHORT G_M000_IG03 G_M000_IG06: mov eax, 1 G_M000_IG07: pop esi pop edi pop ebp ret G_M000_IG08: xor eax, eax G_M000_IG09: pop esi pop edi pop ebp ret G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 81 1131: JIT compiled System.Enum:AreSorted[uint](uint[]) [Tier1, IL size=50, code size=81] ; Assembly listing for method System.Enum:AreSequentialFromZero[uint](uint[]):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax G_M000_IG02: xor eax, eax mov edx, dword ptr [ecx+04H] mov dword ptr [ebp-10H], edx test edx, edx jle SHORT G_M000_IG04 align [13 bytes for IG03] G_M000_IG03: mov esi, dword ptr [ecx+4*eax+08H] xor edi, edi mov ebx, eax mov edx, ebx sar edx, 31 xor esi, ebx xor edx, edi or edx, esi jne SHORT G_M000_IG06 inc eax mov edx, dword ptr [ebp-10H] cmp edx, eax jg SHORT G_M000_IG03 G_M000_IG04: mov eax, 1 G_M000_IG05: pop ecx pop ebx pop esi pop edi pop ebp ret G_M000_IG06: xor eax, eax G_M000_IG07: pop ecx pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 80 1132: JIT compiled System.Enum:AreSequentialFromZero[uint](uint[]) [Tier1, IL size=34, code size=80] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ecx+18H] vmovsd qword ptr [esp], xmm0 fld qword ptr [esp] G_M000_IG03: add esp, 8 ret ; Total bytes of code 23 1133: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Nanoseconds() [Tier1, IL size=7, code size=23] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_Operations():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: add ecx, 16 mov eax, dword ptr [ecx] mov edx, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 9 1134: JIT compiled BenchmarkDotNet.Reports.Measurement:get_Operations() [Tier1, IL size=7, code size=9] ; Assembly listing for method System.String:PadLeft(int,ushort):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 3 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi jl SHORT G_M000_IG07 mov ebx, dword ptr [edi+04H] mov edx, esi sub edx, ebx mov dword ptr [ebp-10H], edx test edx, edx jg SHORT G_M000_IG05 G_M000_IG03: mov eax, edi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: mov ecx, esi call System.String:FastAllocateString(int):System.String mov esi, eax mov eax, esi cmp byte ptr [eax], al lea eax, bword ptr [esi+08H] mov bword ptr [ebp-14H], eax mov ecx, eax movzx edx, word ptr [ebp+08H] push edx mov edx, dword ptr [ebp-10H] call [System.SpanHelpers:Fill[ushort](byref,uint,ushort)] mov ecx, bword ptr [ebp-14H] mov edx, dword ptr [ebp-10H] lea ecx, bword ptr [ecx+2*edx] lea edx, bword ptr [edi+08H] add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov eax, esi G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG07: mov ecx, 0x176D mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 ; Total bytes of code 137 1135: JIT compiled System.String:PadLeft(int,ushort) [Tier1, IL size=83, code size=137] ; Assembly listing for method System.Double:ToString(System.String,System.IFormatProvider):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 8 vzeroupper mov esi, edx mov eax, gword ptr [ebp+08H] G_M000_IG02: vmovsd xmm0, qword ptr [ecx] vmovsd qword ptr [ebp-0CH], xmm0 test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, eax call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG05 G_M000_IG04: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG05: vmovsd xmm0, qword ptr [ebp-0CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, esi mov edx, eax call [System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String] G_M000_IG06: lea esp, [ebp-04H] pop esi pop ebp ret 4 ; Total bytes of code 75 1136: JIT compiled System.Double:ToString(System.String,System.IFormatProvider) [Tier1, IL size=15, code size=75] ; Assembly listing for method System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data 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] test eax, eax je SHORT G_M000_IG06 G_M000_IG03: cmp byte ptr [eax+31H], 0 jne SHORT G_M000_IG06 mov ecx, gword ptr [eax+0CH] test ecx, ecx jne SHORT G_M000_IG04 mov ecx, eax mov eax, dword ptr [eax] mov eax, dword ptr [eax+30H] call [eax+08H]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this mov ecx, eax G_M000_IG04: mov eax, ecx G_M000_IG05: pop esi pop ebp ret G_M000_IG06: mov ecx, esi test ecx, ecx je SHORT G_M000_IG08 G_M000_IG07: xor edx, edx cmp dword ptr [ecx], 0xD1FFAB1E cmovne ecx, edx G_M000_IG08: mov eax, ecx test eax, eax jne SHORT G_M000_IG11 mov ecx, esi mov edx, 0xD1FFAB1E call [System.IFormatProvider:GetFormat(System.Type):System.Object:this] test eax, eax je SHORT G_M000_IG10 G_M000_IG09: xor edx, edx cmp dword ptr [eax], 0xD1FFAB1E cmovne eax, edx G_M000_IG10: test eax, eax jne SHORT G_M000_IG11 call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG11: pop esi pop ebp ret ; Total bytes of code 117 1137: JIT compiled System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider) [Tier1, IL size=76, code size=117] ; Assembly listing for method System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 3 inlinees with PGO data; 9 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 36 vzeroupper vxorps 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_IG08 G_M000_IG07: mov ecx, dword ptr [ebp-14H] cmp ecx, dword ptr [ebp-0CH] ja SHORT G_M000_IG13 mov eax, bword ptr [ebp-10H] mov bword ptr [ebp-20H], eax mov dword ptr [ebp-1CH], ecx lea ecx, [ebp-20H] call [System.ReadOnlySpan`1[ushort]:ToString():System.String:this] mov esi, eax G_M000_IG08: mov edx, gword ptr [ebp-18H] test edx, edx je SHORT G_M000_IG10 G_M000_IG09: xor ecx, ecx mov gword ptr [ebp-18H], ecx push 0 mov ecx, gword ptr [D1FFAB1EH] call [System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[ushort]:Return(ushort[],bool):this] G_M000_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: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 218 1138: JIT compiled System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo) [Tier1, IL size=71, code size=218] ; Assembly listing for method System.Number:FormatDouble[ushort](byref,double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 13 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 60 vzeroupper vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-2CH], xmm4 xor eax, eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-44H], 0xD1FFAB1E mov edi, ecx mov esi, edx vmovsd xmm0, qword ptr [ebp+10H] G_M000_IG02: vmovsd qword ptr [ebp-38H], xmm0 mov ebx, dword ptr [ebp-34H] mov eax, ebx and eax, 0xD1FFAB1E cmp eax, 0xD1FFAB1E jl SHORT G_M000_IG10 G_M000_IG03: vucomisd xmm0, xmm0 jp SHORT G_M000_IG04 je SHORT G_M000_IG06 G_M000_IG04: mov eax, gword ptr [esi+2CH] cmp dword ptr [ebp-44H], 0xD1FFAB1E je SHORT G_M000_IG05 call CORINFO_HELP_FAIL_FAST G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG06: test ebx, ebx jl SHORT G_M000_IG08 mov eax, gword ptr [esi+30H] cmp dword ptr [ebp-44H], 0xD1FFAB1E je SHORT G_M000_IG07 call CORINFO_HELP_FAIL_FAST G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG08: mov eax, gword ptr [esi+34H] cmp dword ptr [ebp-44H], 0xD1FFAB1E je SHORT G_M000_IG09 call CORINFO_HELP_FAIL_FAST G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG10: vmovsd qword ptr [ebp+10H], xmm0 push dword ptr [ebp+0CH] push bword ptr [ebp+08H] lea ecx, [ebp-18H] call [System.Number:ParseFormatSpecifier(System.ReadOnlySpan`1[ushort],byref):ushort] mov dword ptr [ebp-14H], eax mov edx, -772 add edx, esp jb SHORT G_M000_IG11 xor edx, edx G_M000_IG11: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, edx jae SHORT G_M000_IG11 mov esp, edx lea edx, [esp] mov dword ptr [ebp-10H], esp mov ecx, 15 test eax, eax cmovne ecx, dword ptr [ebp-18H] mov dword ptr [ebp-18H], ecx xor ecx, ecx mov dword ptr [ebp-2CH], ecx G_M000_IG12: mov dword ptr [ebp-28H], ecx mov byte ptr [ebp-24H], 0 mov byte ptr [ebp-23H], 0 mov byte ptr [ebp-22H], 3 mov bword ptr [ebp-20H], edx mov dword ptr [ebp-1CH], 769 cmp dword ptr [ebp-1CH], 0 jbe G_M000_IG20 mov edx, bword ptr [ebp-20H] mov byte ptr [edx], 0 vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [ebp-40H], xmm0 test ebx, ebx setl dl movzx edx, dl mov byte ptr [ebp-24H], dl push esi lea edx, [ebp-30H] push edx lea edx, [ebp-18H] mov ecx, eax call [System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref):int] mov ebx, eax vmovsd xmm0, qword ptr [ebp-40H] vxorps xmm1, xmm1 vucomisd xmm0, xmm1 jp SHORT G_M000_IG13 je SHORT G_M000_IG15 G_M000_IG13: cmp byte ptr [ebp-30H], 0 je SHORT G_M000_IG14 vmovsd xmm0, qword ptr [ebp+10H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea edx, [ebp-2CH] mov ecx, dword ptr [ebp-18H] call [System.Number+Grisu3:TryRunDouble(double,int,byref):bool] test eax, eax jne SHORT G_M000_IG15 G_M000_IG14: vmovsd xmm0, qword ptr [ebp+10H] sub esp, 8 vmovsd qword ptr [esp], xmm0 lea edx, [ebp-2CH] push edx movzx edx, byte ptr [ebp-30H] mov ecx, dword ptr [ebp-18H] call [System.Number:Dragon4Double(double,int,bool,byref)] G_M000_IG15: mov edx, dword ptr [ebp-14H] test edx, edx je SHORT G_M000_IG17 cmp dword ptr [ebp-18H], -1 jne SHORT G_M000_IG16 mov ebx, dword ptr [ebp-2CH] mov ecx, 17 cmp ebx, 17 cmovl ebx, ecx G_M000_IG16: push edx push ebx push esi lea edx, [ebp-2CH] mov ecx, edi call [System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo)] jmp SHORT G_M000_IG18 G_M000_IG17: push dword ptr [ebp+0CH] push bword ptr [ebp+08H] push esi lea edx, [ebp-2CH] mov ecx, edi call [System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo)] G_M000_IG18: xor eax, eax cmp dword ptr [ebp-44H], 0xD1FFAB1E je SHORT G_M000_IG19 call CORINFO_HELP_FAIL_FAST G_M000_IG19: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG20: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 489 1139: JIT compiled System.Number:FormatDouble[ushort](byref,double,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) [Tier1, IL size=296, code size=489] ; Assembly listing for method System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref):int ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov esi, gword ptr [ebp+0CH] mov eax, bword ptr [ebp+08H] G_M000_IG02: movzx ecx, cx test ecx, ecx jne SHORT G_M000_IG05 G_M000_IG03: mov byte ptr [eax], 1 mov eax, dword ptr [edx] G_M000_IG04: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG05: mov edi, dword ptr [edx] mov dword ptr [ebp-10H], edi cmp ecx, 82 ja SHORT G_M000_IG07 lea ebx, [ecx-43H] cmp ebx, 4 ja SHORT G_M000_IG06 mov bword ptr [ebp+08H], eax lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*ebx] lea eax, G_M000_IG02 add ecx, eax jmp ecx G_M000_IG06: add ecx, -78 cmp ecx, 4 mov bword ptr [ebp+08H], eax ja G_M000_IG21 lea ebx, [@RWD20] mov ebx, dword ptr [ebx+4*ecx] lea eax, G_M000_IG02 add ebx, eax jmp ebx G_M000_IG07: lea ebx, [ecx-63H] cmp ebx, 4 ja SHORT G_M000_IG08 mov bword ptr [ebp+08H], eax lea ecx, [@RWD40] mov ecx, dword ptr [ecx+4*ebx] lea eax, G_M000_IG02 add ecx, eax jmp ecx G_M000_IG08: add ecx, -110 cmp ecx, 4 mov bword ptr [ebp+08H], eax ja SHORT G_M000_IG21 lea ebx, [@RWD60] mov ebx, dword ptr [ebx+4*ecx] lea eax, G_M000_IG02 add ebx, eax jmp ebx G_M000_IG09: cmp edi, -1 jne SHORT G_M000_IG10 mov eax, dword ptr [esi+88H] mov dword ptr [edx], eax G_M000_IG10: mov eax, bword ptr [ebp+08H] mov byte ptr [eax], 0 jmp SHORT G_M000_IG19 G_M000_IG11: cmp edi, -1 jne SHORT G_M000_IG12 mov dword ptr [edx], 6 G_M000_IG12: inc dword ptr [edx] jmp SHORT G_M000_IG16 G_M000_IG13: cmp edi, -1 jne SHORT G_M000_IG10 mov eax, dword ptr [esi+84H] mov dword ptr [edx], eax jmp SHORT G_M000_IG10 G_M000_IG14: test edi, edi jne SHORT G_M000_IG16 G_M000_IG15: mov dword ptr [edx], -1 G_M000_IG16: mov eax, bword ptr [ebp+08H] mov byte ptr [eax], 1 jmp SHORT G_M000_IG19 G_M000_IG17: cmp edi, -1 jne SHORT G_M000_IG18 mov eax, dword ptr [esi+A0H] mov dword ptr [edx], eax G_M000_IG18: add dword ptr [edx], 2 jmp SHORT G_M000_IG10 G_M000_IG19: mov eax, dword ptr [ebp-10H] G_M000_IG20: pop ecx pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG21: call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 RWD00 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 RWD20 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 RWD40 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG11 - G_M000_IG02 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG14 - G_M000_IG02 RWD60 dd G_M000_IG13 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG17 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG15 - G_M000_IG02 ; Total bytes of code 272 1140: JIT compiled System.Number:GetFloatingPointMaxDigitsAndPrecision(ushort,byref,System.Globalization.NumberFormatInfo,byref) [Tier1, IL size=248, code size=272] ; Assembly listing for method System.Number:RoundNumber(byref,int,bool) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx mov esi, ecx G_M000_IG02: mov edi, bword ptr [esi+0CH] xor ebx, ebx jmp SHORT G_M000_IG04 G_M000_IG03: inc ebx G_M000_IG04: cmp ebx, edx jge SHORT G_M000_IG06 G_M000_IG05: cmp byte ptr [edi+ebx], 0 jne SHORT G_M000_IG03 G_M000_IG06: cmp ebx, edx jne SHORT G_M000_IG13 G_M000_IG07: movzx ecx, byte ptr [esi+0AH] push ecx movzx ecx, byte ptr [ebp+08H] push ecx mov ecx, edi mov edx, ebx call [System.Number:g__ShouldRoundUp|121_0(uint,int,ubyte,bool):bool] test eax, eax je SHORT G_M000_IG13 jmp SHORT G_M000_IG09 G_M000_IG08: dec ebx G_M000_IG09: test ebx, ebx jle SHORT G_M000_IG10 cmp byte ptr [edi+ebx-01H], 57 je SHORT G_M000_IG08 G_M000_IG10: test ebx, ebx jle SHORT G_M000_IG11 lea eax, [edi+ebx-01H] inc byte ptr [eax] jmp SHORT G_M000_IG14 G_M000_IG11: lea eax, bword ptr [esi+04H] inc dword ptr [eax] mov byte ptr [edi], 49 mov ebx, 1 jmp SHORT G_M000_IG16 G_M000_IG12: dec ebx G_M000_IG13: test ebx, ebx jle SHORT G_M000_IG14 cmp byte ptr [edi+ebx-01H], 48 je SHORT G_M000_IG12 G_M000_IG14: test ebx, ebx jne SHORT G_M000_IG16 cmp byte ptr [esi+0AH], 3 je SHORT G_M000_IG15 mov byte ptr [esi+08H], 0 G_M000_IG15: xor eax, eax mov dword ptr [esi+04H], eax G_M000_IG16: mov byte ptr [edi+ebx], 0 mov dword ptr [esi], ebx G_M000_IG17: pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 139 1141: JIT compiled System.Number:RoundNumber(byref,int,bool) [Tier1, IL size=158, code size=139] ; Assembly listing for method System.ReadOnlySpan`1[ushort]:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 41215 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov eax, bword ptr [ecx] mov edx, dword ptr [ecx+04H] push edx push eax call System.String:.ctor(System.ReadOnlySpan`1[ushort]):this G_M000_IG03: pop ebp ret ; Total bytes of code 17 1142: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 4 1143: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationStage() [Tier1, IL size=7, code size=4] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:GcCollect():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 G_M000_IG02: lea edi, [ebp-28H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-14H], eax cmp byte ptr [ecx+64H], 0 je G_M000_IG16 G_M000_IG03: push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG06 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG04: mov eax, 0xD1FFAB1E G_M000_IG05: call eax ; System.GC:_Collect(int,int) G_M000_IG06: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG07 call CORINFO_HELP_STOP_FOR_GC G_M000_IG07: xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG10 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG08: mov eax, 0xD1FFAB1E G_M000_IG09: call eax ; System.GC:_WaitForPendingFinalizers() G_M000_IG10: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG11 call CORINFO_HELP_STOP_FOR_GC G_M000_IG11: xor eax, eax mov dword ptr [ebp-18H], eax push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG14 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG12: mov eax, 0xD1FFAB1E G_M000_IG13: call eax ; System.GC:_Collect(int,int) G_M000_IG14: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG15 call CORINFO_HELP_STOP_FOR_GC G_M000_IG15: xor eax, eax mov dword ptr [ebp-18H], eax G_M000_IG16: mov eax, bword ptr [ebp-24H] mov dword ptr [esi+0CH], eax G_M000_IG17: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 219 1144: JIT compiled BenchmarkDotNet.Engines.Engine:GcCollect() [Tier1, IL size=15, code size=219] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: movzx eax, byte ptr [ecx+64H] G_M000_IG03: ret ; Total bytes of code 5 1145: JIT compiled BenchmarkDotNet.Engines.Engine:get_ForceGcCleanups() [Tier1, IL size=7, code size=5] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:ForceGcCollect() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 G_M000_IG02: lea edi, [ebp-28H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-14H], eax push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG05 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: call eax ; System.GC:_Collect(int,int) G_M000_IG05: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG09 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG07: mov eax, 0xD1FFAB1E G_M000_IG08: call eax ; System.GC:_WaitForPendingFinalizers() G_M000_IG09: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG10 call CORINFO_HELP_STOP_FOR_GC G_M000_IG10: xor eax, eax mov dword ptr [ebp-18H], eax push 2 push -1 mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG13 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG11: mov eax, 0xD1FFAB1E G_M000_IG12: call eax ; System.GC:_Collect(int,int) G_M000_IG13: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG14 call CORINFO_HELP_STOP_FOR_GC G_M000_IG14: xor eax, eax mov dword ptr [ebp-18H], eax mov eax, bword ptr [ebp-24H] mov dword ptr [esi+0CH], eax G_M000_IG15: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 209 1146: JIT compiled BenchmarkDotNet.Engines.Engine:ForceGcCollect() [Tier1, IL size=16, code size=209] ; Assembly listing for method System.GC:WaitForPendingFinalizers() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 32 G_M000_IG02: lea edi, [ebp-28H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-14H], eax mov dword ptr [ebp-20H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-1CH], eax lea eax, G_M000_IG05 mov dword ptr [ebp-18H], eax mov byte ptr [esi+08H], 0 G_M000_IG03: mov eax, 0xD1FFAB1E G_M000_IG04: call eax ; System.GC:_WaitForPendingFinalizers() G_M000_IG05: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG06 call CORINFO_HELP_STOP_FOR_GC G_M000_IG06: xor eax, eax mov dword ptr [ebp-18H], eax mov eax, bword ptr [ebp-24H] mov dword ptr [esi+0CH], eax G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 91 1147: JIT compiled System.GC:WaitForPendingFinalizers() [Tier1, IL size=6, code size=91] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:IsEnabled():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: movzx eax, byte ptr [ecx+59H] G_M000_IG03: ret ; Total bytes of code 5 1148: JIT compiled System.Diagnostics.Tracing.EventSource:IsEnabled() [Tier1, IL size=7, code size=5] ; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push edi push esi sub esp, 20 mov dword ptr [esp+10H], 0xD1FFAB1E G_M000_IG02: cmp byte ptr [ecx+59H], 0 je SHORT G_M000_IG05 G_M000_IG03: lea eax, [esp] lea esi, [esp+20H] mov edi, eax mov dword ptr [edi], esi xor esi, esi mov dword ptr [edi+04H], esi mov dword ptr [eax+08H], 8 G_M000_IG04: mov dword ptr [eax+0CH], esi push 0 push 1 push eax call [System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,uint,int,uint):this] G_M000_IG05: cmp dword ptr [esp+10H], 0xD1FFAB1E je SHORT G_M000_IG06 call CORINFO_HELP_FAIL_FAST G_M000_IG06: add esp, 20 pop esi pop edi ret 8 ; Total bytes of code 79 1149: JIT compiled System.Diagnostics.Tracing.EventSource:WriteEvent(int,long) [Tier1, IL size=53, code size=79] ; Assembly listing for method Perfolizer.Horology.WindowsClock:GetTimestamp():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], eax G_M000_IG02: lea ecx, [ebp-08H] call Perfolizer.Horology.WindowsClock:QueryPerformanceCounter(byref):bool mov eax, dword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1150: JIT compiled Perfolizer.Horology.WindowsClock:GetTimestamp() [Tier1, IL size=10, code size=32] ; Assembly listing for method System.Number:Dragon4Double(double,int,bool,byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4 ; 1 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, 32 vzeroupper mov dword ptr [ebp-10H], ecx mov dword ptr [ebp-14H], edx mov esi, bword ptr [ebp+08H] G_M000_IG02: vmovsd xmm0, qword ptr [ebp+0CH] vmovsd qword ptr [ebp-20H], xmm0 mov eax, dword ptr [ebp-20H] mov edi, dword ptr [ebp-1CH] mov ebx, edi and ebx, 0xD1FFAB1E shr edi, 20 and edi, 0x7FF je SHORT G_M000_IG06 or eax, 0 or ebx, 0xD1FFAB1E add edi, -0x433 G_M000_IG03: xor edx, edx mov ecx, ebx shr ecx, 20 or ecx, 0 je SHORT G_M000_IG07 mov edx, 52 mov ecx, ebx xor ecx, 0xD1FFAB1E or ecx, eax sete cl movzx ecx, cl G_M000_IG04: push ebx push eax push ecx push dword ptr [ebp-10H] movzx ecx, byte ptr [ebp-14H] push ecx lea ecx, bword ptr [esi+0CH] push dword ptr [ecx+04H] push bword ptr [ecx] lea ecx, [ebp-18H] push ecx mov ecx, edi call [System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref):uint] mov edx, dword ptr [ebp-18H] inc edx mov dword ptr [esi+04H], edx lea edx, bword ptr [esi+0CH] cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG10 mov edx, bword ptr [edx] mov byte ptr [edx+eax], 0 mov dword ptr [esi], eax G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG06: mov edi, -0x432 jmp SHORT G_M000_IG03 G_M000_IG07: mov ecx, eax or ecx, 1 mov dword ptr [ebp-28H], ecx mov ecx, ebx or ecx, 0 mov dword ptr [ebp-2CH], ecx mov ecx, dword ptr [ebp-28H] mov dword ptr [ebp-24H], ecx mov ecx, dword ptr [ebp-2CH] test ecx, ecx jne SHORT G_M000_IG08 mov ecx, dword ptr [ebp-24H] or ecx, 1 lzcnt ecx, ecx xor ecx, 31 jmp SHORT G_M000_IG09 G_M000_IG08: or ecx, 1 lzcnt ecx, ecx xor ecx, 31 add ecx, 32 G_M000_IG09: xchg ecx, edx jmp G_M000_IG04 G_M000_IG10: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 245 1151: JIT compiled System.Number:Dragon4Double(double,int,bool,byref) [Tier1 with Static PGO, IL size=114, code size=245] ; Assembly listing for method System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 4 ; 3 inlinees with PGO data; 9 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx lea eax, [esp-10B8H] call CORINFO_HELP_STACK_PROBE mov esp, eax vzeroupper xor eax, eax mov dword ptr [ebp-109CH], eax mov dword ptr [ebp-10C0H], eax mov dword ptr [ebp-10H], 0xD1FFAB1E mov dword ptr [ebp-1064H], edx mov ebx, ecx G_M000_IG02: mov eax, bword ptr [ebp+08H] mov bword ptr [ebp-10BCH], eax lea edi, bword ptr [ebp-109CH] lea esi, bword ptr [ebp+0CH] movsd movsd mov eax, dword ptr [ebp+18H] mov dword ptr [ebp-1094H], eax xor edi, edi cmp byte ptr [ebp+1CH], 0 jne G_M000_IG40 test ebx, ebx jg G_M000_IG43 push dword ptr [ebp+24H] push dword ptr [ebp+20H] push 0 push 2 call CORINFO_HELP_LMUL cmp edx, 1 jb G_M000_IG44 mov dword ptr [ebp-1DCH], eax mov dword ptr [ebp-1D8H], edx mov dword ptr [ebp-1E0H], 2 G_M000_IG03: 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_IG04: lea eax, [ebp-3B0H] mov dword ptr [ebp-1068H], eax G_M000_IG05: add ebx, dword ptr [ebp-1064H] vxorps xmm0, xmm0 vcvtsi2sd xmm0, ebx vmulsd xmm0, xmm0, qword ptr [@RWD00] vsubsd xmm0, xmm0, qword ptr [@RWD08] vroundsd xmm0, xmm0, 10 vcvttsd2si ebx, xmm0 test ebx, ebx jle G_M000_IG45 cmp ebx, 9 ja SHORT G_M000_IG06 cmp ebx, 10 jae G_M000_IG51 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)] jmp G_M000_IG08 G_M000_IG06: cmp dword ptr [ebp-E90H], 0 je SHORT G_M000_IG08 lea edx, [ebp-CC0H] mov ecx, ebx call [System.Number+BigInteger:Pow10(uint,byref)] cmp dword ptr [ebp-CC0H], 1 jg SHORT G_M000_IG07 xor edx, edx cmp dword ptr [ebp-CC0H], 0 cmovg edx, dword ptr [ebp-CBCH] lea ecx, [ebp-E90H] push ecx lea ecx, [ebp-E90H] call [System.Number+BigInteger:Multiply(byref,uint,byref)] jmp SHORT G_M000_IG08 G_M000_IG07: mov edx, dword ptr [ebp-E90H] mov dword ptr [ebp-1060H], edx shl edx, 2 push edx lea edx, [ebp-E8CH] lea ecx, [ebp-105CH] call [System.Buffer:Memmove(byref,byref,uint)] lea ecx, [ebp-E90H] push ecx lea ecx, [ebp-1060H] lea edx, [ebp-CC0H] call [System.Number+BigInteger:Multiply(byref,byref,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-106CH], eax mov esi, dword ptr [ebp-1094H] cmp esi, -1 je G_M000_IG46 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_IG10: inc ebx G_M000_IG11: mov edx, dword ptr [ebp-1098H] mov dword ptr [ebp-10A0H], edx mov ecx, ebx sub ecx, edx cmp esi, -1 je SHORT G_M000_IG12 mov eax, esi neg eax mov dword ptr [ebp-10C4H], eax mov eax, ebx sub eax, esi cmp byte ptr [ebp+14H], 0 cmove eax, dword ptr [ebp-10C4H] cmp eax, ecx cmovg ecx, eax G_M000_IG12: dec ebx mov eax, bword ptr [ebp-10BCH] mov dword ptr [eax], ebx lea eax, bword ptr [ebp-E8CH] mov bword ptr [ebp-10C0H], eax mov eax, dword ptr [ebp-E90H] dec eax mov edx, bword ptr [ebp-10C0H] mov eax, dword ptr [edx+4*eax] cmp eax, 8 jb G_M000_IG18 cmp eax, 0xD1FFAB1E ja G_M000_IG17 G_M000_IG13: cmp esi, -1 je SHORT G_M000_IG16 mov dword ptr [ebp-1070H], ecx cmp ebx, ecx jl G_M000_IG28 xor edx, edx mov dword ptr [ebp-1074H], edx xor eax, eax mov dword ptr [ebp-1078H], eax G_M000_IG14: lea ecx, [ebp-1E0H] lea edx, [ebp-E90H] call [System.Number+BigInteger:HeuristicDivide(byref,byref):uint] mov ecx, eax cmp dword ptr [ebp-1E0H], 0 je SHORT G_M000_IG19 G_M000_IG15: mov esi, dword ptr [ebp-1070H] cmp ebx, esi jle SHORT G_M000_IG19 cmp edi, dword ptr [ebp-10A0H] jae G_M000_IG51 mov edx, bword ptr [ebp-109CH] add ecx, 48 mov byte ptr [edx+edi], cl inc edi lea ecx, [ebp-1E0H] call [System.Number+BigInteger:Multiply10():this] dec ebx mov dword ptr [ebp-1070H], esi jmp SHORT G_M000_IG14 G_M000_IG16: mov dword ptr [ebp-1070H], ecx jmp G_M000_IG22 G_M000_IG17: mov dword ptr [ebp-1070H], ecx jmp G_M000_IG49 G_M000_IG18: mov dword ptr [ebp-1070H], ecx jmp G_M000_IG49 G_M000_IG19: mov ebx, dword ptr [ebp-1074H] cmp ebx, dword ptr [ebp-1078H] jne SHORT G_M000_IG20 mov dword ptr [ebp-107CH], ecx 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 mov ecx, dword ptr [ebp-107CH] je G_M000_IG32 G_M000_IG20: test ebx, ebx je G_M000_IG33 G_M000_IG21: cmp edi, dword ptr [ebp-10A0H] jae G_M000_IG51 mov eax, bword ptr [ebp-109CH] lea edx, [ecx+30H] mov byte ptr [eax+edi], dl jmp G_M000_IG37 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, dword ptr [ebp-1068H] 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-1084H], eax lea ecx, [ebp-AF0H] lea edx, [ebp-E90H] call [System.Number+BigInteger:Compare(byref,byref):int] cmp dword ptr [ebp-106CH], 0 je SHORT G_M000_IG25 xor ecx, ecx cmp dword ptr [ebp-1084H], 0 setle cl not eax shr eax, 31 jmp SHORT G_M000_IG26 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-1068H], ecx je G_M000_IG11 G_M000_IG24: push dword ptr [ebp-1068H] lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] jmp G_M000_IG11 G_M000_IG25: xor ecx, ecx cmp dword ptr [ebp-1084H], 0 setl cl test eax, eax setg al movzx eax, al G_M000_IG26: mov edx, ecx or edx, eax mov dword ptr [ebp-1074H], ecx mov dword ptr [ebp-1078H], eax mov ecx, esi jne G_M000_IG19 mov esi, dword ptr [ebp-1068H] cmp ebx, dword ptr [ebp-1070H] mov dword ptr [ebp-1068H], esi je G_M000_IG19 cmp edi, dword ptr [ebp-10A0H] jae G_M000_IG51 mov esi, bword ptr [ebp-109CH] add ecx, 48 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] mov esi, dword ptr [ebp-1068H] cmp esi, ecx je SHORT G_M000_IG27 push esi lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] G_M000_IG27: dec ebx mov dword ptr [ebp-1068H], esi jmp G_M000_IG22 G_M000_IG28: 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_IG29 cmp esi, 5 jne SHORT G_M000_IG30 cmp dword ptr [ebp-1E0H], 0 je SHORT G_M000_IG30 G_M000_IG29: mov ebx, bword ptr [ebp-10BCH] inc dword ptr [ebx] mov esi, 1 G_M000_IG30: cmp dword ptr [ebp-10A0H], 0 jbe G_M000_IG51 mov eax, bword ptr [ebp-109CH] lea edx, [esi+30H] mov byte ptr [eax], dl mov eax, 1 cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG31 call CORINFO_HELP_FAIL_FAST G_M000_IG31: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG32: mov eax, ecx not eax and eax, 1 jne G_M000_IG21 G_M000_IG33: cmp ecx, 9 jne SHORT G_M000_IG36 G_M000_IG34: test edi, edi jne SHORT G_M000_IG35 cmp dword ptr [ebp-10A0H], 0 jbe G_M000_IG51 mov ecx, bword ptr [ebp-109CH] mov byte ptr [ecx], 49 mov edi, 1 mov ebx, bword ptr [ebp-10BCH] inc dword ptr [ebx] jmp SHORT G_M000_IG38 G_M000_IG35: dec edi mov esi, dword ptr [ebp-10A0H] cmp edi, esi jae G_M000_IG51 mov eax, bword ptr [ebp-109CH] cmp byte ptr [eax+edi], 57 je SHORT G_M000_IG34 mov eax, edi add eax, bword ptr [ebp-109CH] inc byte ptr [eax] jmp SHORT G_M000_IG37 G_M000_IG36: cmp edi, dword ptr [ebp-10A0H] jae G_M000_IG51 mov eax, bword ptr [ebp-109CH] lea edx, [ecx+31H] mov byte ptr [eax+edi], dl G_M000_IG37: inc edi G_M000_IG38: mov eax, edi cmp dword ptr [ebp-10H], 0xD1FFAB1E je SHORT G_M000_IG39 call CORINFO_HELP_FAIL_FAST G_M000_IG39: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG40: test ebx, ebx jle SHORT G_M000_IG41 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_IG42 G_M000_IG41: 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_IG42: lea eax, [ebp-580H] mov dword ptr [ebp-1068H], eax jmp G_M000_IG05 G_M000_IG43: 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_IG04 G_M000_IG44: lea ecx, [ebp-1E0H] mov edx, eax call [System.Number+BigInteger:SetUInt32(byref,uint)] jmp G_M000_IG03 G_M000_IG45: test ebx, ebx jge G_M000_IG08 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] mov eax, dword ptr [ebp-1068H] cmp eax, ecx mov dword ptr [ebp-1068H], eax je G_M000_IG08 push dword ptr [ebp-1068H] lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] jmp G_M000_IG08 G_M000_IG46: lea ecx, [ebp-920H] push ecx lea ecx, [ebp-1E0H] mov edx, dword ptr [ebp-1068H] call [System.Number+BigInteger:Add(byref,byref,byref)] lea ecx, [ebp-920H] lea edx, [ebp-E90H] call [System.Number+BigInteger:Compare(byref,byref):int] cmp dword ptr [ebp-106CH], 0 jne SHORT G_M000_IG47 xor ecx, ecx test eax, eax setg cl jmp SHORT G_M000_IG48 G_M000_IG47: mov ecx, eax not ecx shr ecx, 31 G_M000_IG48: movzx ecx, cl test ecx, ecx je G_M000_IG23 jmp G_M000_IG10 G_M000_IG49: or eax, 1 xor edx, edx lzcnt edx, eax xor edx, 31 mov eax, edx neg eax add eax, 59 and eax, 31 mov dword ptr [ebp-1080H], eax lea ecx, [ebp-E90H] mov edx, eax call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-1E0H] mov edx, dword ptr [ebp-1080H] call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-3B0H] mov edx, dword ptr [ebp-1080H] call [System.Number+BigInteger:ShiftLeft(uint):this] lea ecx, [ebp-3B0H] mov eax, dword ptr [ebp-1068H] cmp eax, ecx mov dword ptr [ebp-1068H], eax je SHORT G_M000_IG50 push dword ptr [ebp-1068H] lea ecx, [ebp-3B0H] mov edx, 2 call [System.Number+BigInteger:Multiply(byref,uint,byref)] mov ecx, dword ptr [ebp-1070H] jmp G_M000_IG13 G_M000_IG50: mov ecx, dword ptr [ebp-1070H] jmp G_M000_IG13 G_M000_IG51: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 3FD34413509F79FFh ; 0.301029996 RWD08 dq 3FE6147AE147AE14h ; 0.69 ; Total bytes of code 2116 1152: JIT compiled System.Number:Dragon4(ulong,int,uint,bool,int,bool,System.Span`1[ubyte],byref) [Tier1 with Static PGO, IL size=1029, code size=2116] ; Assembly listing for method System.Number+BigInteger:Pow2(uint,byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 4 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push edi push esi push ebx mov esi, edx G_M000_IG02: mov edi, ecx and edi, 31 mov ebx, ecx shr ebx, 5 lea ecx, [ebx+01H] mov dword ptr [esi], ecx test ebx, ebx je SHORT G_M000_IG03 lea ecx, bword ptr [esi+04H] lea edx, [4*ebx] call [System.SpanHelpers:ClearWithoutReferences(byref,uint)] G_M000_IG03: 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 57 1153: JIT compiled System.Number+BigInteger:Pow2(uint,byref) [Tier1 with Static PGO, IL size=55, code size=57] ; Assembly listing for method System.Number+BigInteger:ShiftLeft(uint):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 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, 16 mov esi, ecx G_M000_IG02: mov eax, dword ptr [esi] test eax, eax jne G_M000_IG11 G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG04: inc ebx lea ecx, [ebx+01H] mov dword ptr [esi], ecx mov ecx, edi neg ecx add ecx, 32 mov dword ptr [ebp-18H], ecx xor edx, edx jmp SHORT G_M000_IG09 G_M000_IG05: mov ecx, dword ptr [esi+4*eax+04H] mov dword ptr [esi+4*ebx+04H], ecx dec eax dec ebx G_M000_IG06: test eax, eax jge SHORT G_M000_IG05 add dword ptr [esi], edx mov ecx, esi call [System.Number+BigInteger:Clear(uint):this] G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG08: or edx, edi mov dword ptr [esi+4*ebx+04H], edx mov edi, dword ptr [ebp-1CH] mov ecx, dword ptr [ebp-14H] mov edx, edi shl edx, cl dec eax dec ebx mov ecx, dword ptr [ebp-18H] G_M000_IG09: mov edi, dword ptr [esi+4*eax+04H] mov dword ptr [ebp-1CH], edi shr edi, cl test eax, eax jg SHORT G_M000_IG08 mov ecx, edx or ecx, edi mov dword ptr [esi+4*ebx+04H], ecx mov edi, dword ptr [ebp-1CH] mov ecx, dword ptr [ebp-14H] mov edx, edi shl edx, cl mov dword ptr [esi+4*ebx], edx mov ecx, esi mov edx, dword ptr [ebp-10H] call [System.Number+BigInteger:Clear(uint):this] mov eax, dword ptr [esi] cmp dword ptr [esi+4*eax], 0 jne SHORT G_M000_IG10 dec dword ptr [esi] G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG11: test edx, edx je G_M000_IG03 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_IG06 jmp G_M000_IG04 ; Total bytes of code 204 1154: JIT compiled System.Number+BigInteger:ShiftLeft(uint) [Tier1 with Static PGO, IL size=337, code size=204] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, gword ptr [ecx+04H] mov eax, dword ptr [ecx] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this G_M000_IG03: pop ebp ret ; Total bytes of code 16 1155: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:WriteLine(System.String) [Tier1, IL size=13, code size=16] ; Assembly listing for method System.IO.StreamWriter:WriteLine(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 7 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, 40 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov esi, ecx G_M000_IG02: mov ecx, gword ptr [esi+24H] test dword ptr [ecx+1CH], 0xD1FFAB1E je G_M000_IG33 test edx, edx je G_M000_IG19 G_M000_IG03: lea edi, bword ptr [edx+08H] mov ebx, dword ptr [edx+04H] G_M000_IG04: mov ecx, gword ptr [esi+24H] test dword ptr [ecx+1CH], 0xD1FFAB1E je G_M000_IG33 G_M000_IG05: cmp ebx, 4 jle G_M000_IG13 G_M000_IG06: cmp byte ptr [esi+33H], 0 jne G_M000_IG31 mov eax, gword ptr [esi+20H] mov gword ptr [ebp-2CH], eax mov bword ptr [ebp-10H], edi cmp dword ptr [eax+04H], 0 jbe G_M000_IG35 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 G_M000_IG25 G_M000_IG07: cmp dword ptr [eax+04H], ecx je SHORT G_M000_IG15 G_M000_IG08: mov eax, gword ptr [ebp-2CH] mov eax, dword ptr [eax+04H] sub eax, ecx cmp eax, ebx jg SHORT G_M000_IG12 G_M000_IG09: mov dword ptr [ebp-24H], eax lea edx, [eax+eax] mov edi, edx sar edi, 31 test edi, edi jne G_M000_IG32 push edx 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, ecx add edx, dword ptr [ebp-20H] mov eax, dword ptr [ebp-1CH] lea eax, [eax+2*ecx] sub ebx, ecx test ebx, ebx mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], edi mov ecx, edx jg SHORT G_M000_IG11 G_M000_IG10: jmp G_M000_IG25 G_M000_IG11: mov eax, gword ptr [ebp-2CH] jmp SHORT G_M000_IG07 G_M000_IG12: mov eax, ebx jmp SHORT G_M000_IG09 G_M000_IG13: mov ecx, dword ptr [esi+2CH] sub ecx, dword ptr [esi+28H] cmp ecx, ebx jl G_M000_IG06 G_M000_IG14: jmp SHORT G_M000_IG16 G_M000_IG15: 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 G_M000_IG08 align [4 bytes for IG17] G_M000_IG16: xor eax, eax test ebx, ebx mov bword ptr [ebp-30H], edi jle G_M000_IG27 mov edx, gword ptr [esi+20H] G_M000_IG17: mov gword ptr [ebp-34H], edx mov ecx, edx mov edx, dword ptr [esi+28H] lea edi, [edx+01H] mov dword ptr [esi+28H], edi mov edi, bword ptr [ebp-30H] movzx edi, word ptr [edi+2*eax] cmp edx, dword ptr [ecx+04H] jae G_M000_IG35 mov word ptr [ecx+2*edx+08H], di inc eax cmp eax, ebx mov edx, gword ptr [ebp-34H] jl SHORT G_M000_IG17 G_M000_IG18: jmp SHORT G_M000_IG27 G_M000_IG19: xor edi, edi xor ebx, ebx jmp G_M000_IG04 G_M000_IG20: mov eax, gword ptr [esi+20H] mov edx, dword ptr [esi+28H] mov dword ptr [ebp-28H], edx mov ecx, edx movzx edx, word ptr [edi+2*ebx+08H] cmp ecx, dword ptr [eax+04H] jae G_M000_IG35 mov word ptr [eax+2*ecx+08H], dx mov edx, dword ptr [ebp-28H] inc edx mov dword ptr [esi+28H], edx inc ebx cmp dword ptr [edi+04H], ebx jg SHORT G_M000_IG28 G_M000_IG21: cmp byte ptr [esi+30H], 0 jne SHORT G_M000_IG30 G_M000_IG22: xor eax, eax mov bword ptr [ebp-10H], eax G_M000_IG23: mov bword ptr [ebp-14H], eax G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG25: xor ecx, ecx mov bword ptr [ebp-14H], ecx G_M000_IG26: mov bword ptr [ebp-10H], ecx G_M000_IG27: mov edi, gword ptr [esi+04H] xor ebx, ebx cmp dword ptr [edi+04H], 0 jle SHORT G_M000_IG21 G_M000_IG28: mov ecx, dword ptr [esi+28H] cmp ecx, dword ptr [esi+2CH] je SHORT G_M000_IG34 G_M000_IG29: jmp SHORT G_M000_IG20 G_M000_IG30: push 0 mov ecx, esi mov edx, 1 call [System.IO.StreamWriter:Flush(bool,bool):this] jmp SHORT G_M000_IG22 G_M000_IG31: mov ecx, esi call [System.IO.StreamWriter:g__ThrowObjectDisposedException|76_0():this] int3 G_M000_IG32: call CORINFO_HELP_OVERFLOW G_M000_IG33: call [System.IO.StreamWriter:ThrowAsyncIOInProgress()] int3 G_M000_IG34: push 0 mov ecx, esi xor edx, edx call [System.IO.StreamWriter:Flush(bool,bool):this] jmp G_M000_IG20 G_M000_IG35: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 497 1156: JIT compiled System.IO.StreamWriter:WriteLine(System.String) [Tier1, IL size=20, code size=497] ; Assembly listing for method System.Number:g__ShouldRoundUp|121_0(uint,int,ubyte,bool):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; MinOpts code ; ebp based frame ; partially interruptible ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov G_M000_IG01: eax, dword ptr [ecx +08H] push ebp mov G_M000_IG03: ebp, esp ret sub esp, ; Total bytes of code 4 12 mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H]1157: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Count() [Tier1, IL size=7, code size=4] , edx G_M000_IG02: mov eax, dword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] movzx eax, byte ptr [eax+edx] mov dword ptr [ebp-0CH], eax xor eax, eax cmp dword ptr [ebp-0CH], 0 sete al mov edx, dword ptr [ebp+08H] movzx edx, dl or eax, edx test eax, eax je SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret 8 G_M000_IG04: xor eax, eax cmp dword ptr [ebp-0CH], 53 setge al G_M000_IG05: mov esp, ebp pop ebp ret 8 ; Total bytes of code 69 1158: JIT compiled System.Number:g__ShouldRoundUp|121_0(uint,int,ubyte,bool) [Tier0, IL size=24, code size=69] ; Assembly listing for method System.String:Replace(System.String,System.String):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 8 inlinees with PGO data; 12 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 xor eax, eax mov dword ptr [ebp-20H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-10H], esp mov dword ptr [ebp-60H], 0xD1FFAB1E mov esi, ecx mov edi, edx mov ebx, gword ptr [ebp+08H] G_M000_IG02: test edi, edi je G_M000_IG29 G_M000_IG03: cmp dword ptr [edi+04H], 0 je G_M000_IG29 G_M000_IG04: mov edx, 0xD1FFAB1E test ebx, ebx cmove ebx, edx mov edx, -512 add edx, esp jb SHORT G_M000_IG05 xor edx, edx G_M000_IG05: test dword ptr [esp], esp sub esp, 0x1000 cmp esp, edx jae SHORT G_M000_IG05 mov esp, edx lea edx, [esp] mov dword ptr [ebp-10H], esp mov bword ptr [ebp-18H], edx mov dword ptr [ebp-14H], 128 xor edx, edx mov gword ptr [ebp-20H], edx G_M000_IG06: mov dword ptr [ebp-1CH], edx cmp dword ptr [edi+04H], 1 jne G_M000_IG18 G_M000_IG07: cmp dword ptr [ebx+04H], 1 jne SHORT G_M000_IG09 movzx edx, word ptr [edi+08H] movzx ecx, word ptr [ebx+08H] push ecx mov ecx, esi call [System.String:Replace(ushort,ushort):System.String:this] cmp dword ptr [ebp-60H], 0xD1FFAB1E je SHORT G_M000_IG08 call CORINFO_HELP_FAIL_FAST G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG09: movzx eax, word ptr [edi+08H] mov dword ptr [ebp-24H], eax xor edx, edx lea ecx, [eax-01H] cmp ecx, 254 mov gword ptr [ebp+08H], ebx jae SHORT G_M000_IG14 G_M000_IG10: lea ecx, bword ptr [esi+2*edx+08H] mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-28H], edx sub ebx, edx push ebx movsx edx, ax call [System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax mov dword ptr [ebp-2CH], ebx test ebx, ebx jl G_M000_IG23 mov eax, dword ptr [ebp-28H] lea edx, [eax+ebx] mov ecx, dword ptr [ebp-1CH] mov dword ptr [ebp-3CH], ecx mov ecx, bword ptr [ebp-18H] mov bword ptr [ebp-54H], ecx mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-48H], ecx mov ecx, dword ptr [ebp-3CH] cmp ecx, dword ptr [ebp-48H] jae SHORT G_M000_IG12 G_M000_IG11: mov ebx, bword ptr [ebp-54H] mov dword ptr [ebx+4*ecx], edx inc ecx mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG13 G_M000_IG12: lea ecx, [ebp-20H] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] G_M000_IG13: mov eax, dword ptr [ebp-28H] mov ebx, dword ptr [ebp-2CH] lea eax, [eax+ebx+01H] mov edx, eax mov eax, dword ptr [ebp-24H] jmp SHORT G_M000_IG10 G_M000_IG14: lea ecx, bword ptr [esi+2*edx+08H] mov ebx, dword ptr [esi+04H] mov dword ptr [ebp-28H], edx sub ebx, edx push ebx movsx edx, ax call [System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax mov dword ptr [ebp-30H], ebx test ebx, ebx jl G_M000_IG23 mov eax, dword ptr [ebp-28H] lea edx, [eax+ebx] mov ecx, dword ptr [ebp-1CH] mov dword ptr [ebp-40H], ecx mov ecx, bword ptr [ebp-18H] mov bword ptr [ebp-58H], ecx mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-4CH], ecx mov ecx, dword ptr [ebp-40H] cmp ecx, dword ptr [ebp-4CH] jae SHORT G_M000_IG16 G_M000_IG15: mov ebx, bword ptr [ebp-58H] mov dword ptr [ebx+4*ecx], edx inc ecx mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG17 G_M000_IG16: lea ecx, [ebp-20H] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] G_M000_IG17: mov eax, dword ptr [ebp-28H] mov ebx, dword ptr [ebp-30H] lea eax, [eax+ebx+01H] mov edx, eax mov eax, dword ptr [ebp-24H] jmp SHORT G_M000_IG14 G_M000_IG18: xor eax, eax mov gword ptr [ebp+08H], ebx G_M000_IG19: lea ecx, bword ptr [esi+2*eax+08H] mov edx, dword ptr [esi+04H] mov dword ptr [ebp-34H], eax sub edx, eax lea ebx, bword ptr [edi+08H] push ebx push dword ptr [edi+04H] call [System.SpanHelpers:IndexOf(byref,int,byref,int):int] mov ebx, eax mov dword ptr [ebp-38H], ebx test ebx, ebx jl SHORT G_M000_IG23 mov eax, dword ptr [ebp-34H] lea edx, [eax+ebx] mov ecx, dword ptr [ebp-1CH] mov dword ptr [ebp-44H], ecx mov ecx, bword ptr [ebp-18H] mov bword ptr [ebp-5CH], ecx mov ecx, dword ptr [ebp-14H] mov dword ptr [ebp-50H], ecx mov ecx, dword ptr [ebp-44H] cmp ecx, dword ptr [ebp-50H] jae SHORT G_M000_IG21 G_M000_IG20: mov ebx, bword ptr [ebp-5CH] mov dword ptr [ebx+4*ecx], edx inc ecx mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG22 G_M000_IG21: lea ecx, [ebp-20H] call [System.Collections.Generic.ValueListBuilder`1[int]:AddWithResize(int):this] G_M000_IG22: mov eax, dword ptr [ebp-34H] add eax, dword ptr [ebp-38H] add eax, dword ptr [edi+04H] mov ebx, eax jmp SHORT G_M000_IG19 G_M000_IG23: cmp dword ptr [ebp-1CH], 0 jne SHORT G_M000_IG25 mov eax, esi cmp dword ptr [ebp-60H], 0xD1FFAB1E je SHORT G_M000_IG24 call CORINFO_HELP_FAIL_FAST G_M000_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG25: mov edx, dword ptr [edi+04H] mov ecx, dword ptr [ebp-1CH] cmp ecx, dword ptr [ebp-14H] ja SHORT G_M000_IG30 mov eax, bword ptr [ebp-18H] push gword ptr [ebp+08H] push ecx push eax mov ecx, esi call [System.String:ReplaceHelper(int,System.String,System.ReadOnlySpan`1[int]):System.String:this] mov edi, eax mov esi, gword ptr [ebp-20H] test esi, esi jne SHORT G_M000_IG28 G_M000_IG26: mov eax, edi cmp dword ptr [ebp-60H], 0xD1FFAB1E je SHORT G_M000_IG27 call CORINFO_HELP_FAIL_FAST G_M000_IG27: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG28: xor ecx, ecx mov gword ptr [ebp-20H], ecx mov ecx, 0xD1FFAB1E mov edx, 58 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov ecx, gword ptr [D1FFAB1EH] push 0 mov edx, esi cmp dword ptr [ecx], ecx call [System.Buffers.TlsOverPerCoreLockedStacksArrayPool`1[int]:Return(int[],bool):this] jmp SHORT G_M000_IG26 G_M000_IG29: mov ecx, 0x1783 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax mov ecx, edi call ; Assembly listing for method System.Collections.Generic.GenericArraySortHelper`1[BenchmarkDotNet.Reports.Measurement]:PickPivotAndPartition(System.Span`1[BenchmarkDotNet.Reports.Measurement]):int ; Emitting BLENDED_CODE[System.ArgumentException:ThrowNullOrEmptyException(System.String,System.String)] for generic X86 CPU - Windows int3 ; optimized code G_M000_IG30: ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 32 single block inlinees; 13 inlinees without PGO data call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 674 1159: JIT compiled System.String:Replace(System.String,System.String) [Tier1, IL size=353, code size=674] G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 384 vzeroupper G_M000_IG02: mov eax, bword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] dec edx mov ecx, edx shl ecx, 5 add ecx, eax sar edx, 1 shl edx, 5 add edx, eax cmp byte ptr [eax], al vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-44H], ymm0 vmovsd xmm0, qword ptr [eax+18H] vmovsd xmm1, qword ptr [ebp-2CH] vucomisd xmm1, xmm0 ja SHORT G_M000_IG07 G_M000_IG03: vucomisd xmm0, xmm1 ja SHORT G_M000_IG06 vucomisd xmm0, xmm1 jp SHORT G_M000_IG04 je SHORT G_M000_IG07 G_M000_IG04: vucomisd xmm0, xmm0 jp SHORT G_M000_IG05 je SHORT G_M000_IG06 G_M000_IG05: vucomisd xmm1, xmm1 jp SHORT G_M000_IG07 jmp SHORT G_M000_IG07 G_M000_IG06: vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ebp-64H], ymm0 vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [eax], ymm0 vmovdqu ymm0, ymmword ptr [ebp-64H] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG07: vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-84H], ymm0 vmovsd xmm0, qword ptr [eax+18H] vmovsd xmm1, qword ptr [ebp-6CH] vucomisd xmm1, xmm0 ja SHORT G_M000_IG12 G_M000_IG08: vucomisd xmm0, xmm1 ja SHORT G_M000_IG11 vucomisd xmm0, xmm1 jp SHORT G_M000_IG09 je SHORT G_M000_IG12 G_M000_IG09: vucomisd xmm0, xmm0 jp SHORT G_M000_IG10 je SHORT G_M000_IG11 G_M000_IG10: vucomisd xmm1, xmm1 jp SHORT G_M000_IG12 jmp SHORT G_M000_IG12 G_M000_IG11: vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [ebp-A4H], ymm0 vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [eax], ymm0 vmovdqu ymm0, ymmword ptr [ebp-A4H] vmovdqu ymmword ptr [ecx], ymm0 G_M000_IG12: vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [ebp-C4H], ymm0 vmovsd xmm0, qword ptr [edx+18H] vmovsd xmm1, qword ptr [ebp-ACH] vucomisd xmm1, xmm0 ja SHORT G_M000_IG17 G_M000_IG13: vucomisd xmm0, xmm1 ja SHORT G_M000_IG16 vucomisd xmm0, xmm1 jp SHORT G_M000_IG14 je SHORT G_M000_IG17 G_M000_IG14: vucomisd xmm0, xmm0 jp SHORT G_M000_IG15 je SHORT G_M000_IG16 G_M000_IG15: vucomisd xmm1, xmm1 jp SHORT G_M000_IG17 jmp SHORT G_M000_IG17 G_M000_IG16: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-E4H], ymm0 vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-E4H] vmovdqu ymmword ptr [ecx], ymm0 G_M000_IG17: mov ecx, dword ptr [ebp+0CH] add ecx, -2 shl ecx, 5 add ecx, eax vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-24H], ymm0 vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-104H], ymm0 vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-104H] vmovdqu ymmword ptr [ecx], ymm0 mov edx, eax mov esi, ecx cmp eax, ecx jae G_M000_IG29 G_M000_IG18: cmp edx, ecx jae SHORT G_M000_IG22 G_M000_IG19: add edx, 32 vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-124H], ymm0 vmovsd xmm0, qword ptr [ebp-0CH] vmovsd xmm1, qword ptr [ebp-10CH] vucomisd xmm1, xmm0 ja SHORT G_M000_IG22 G_M000_IG20: vucomisd xmm0, xmm1 ja SHORT G_M000_IG18 vucomisd xmm0, xmm1 jp SHORT G_M000_IG21 je SHORT G_M000_IG22 G_M000_IG21: vucomisd xmm0, xmm0 jp SHORT G_M000_IG22 je SHORT G_M000_IG18 G_M000_IG22: cmp esi, eax jbe SHORT G_M000_IG27 G_M000_IG23: add esi, -32 vmovdqu ymm0, ymmword ptr [esi] vmovdqu ymmword ptr [ebp-144H], ymm0 vmovsd xmm0, qword ptr [ebp-0CH] vmovsd xmm1, qword ptr [ebp-12CH] vucomisd xmm1, xmm0 ja SHORT G_M000_IG22 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_IG22 G_M000_IG27: cmp edx, esi jae SHORT G_M000_IG29 G_M000_IG28: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-164H], ymm0 vmovdqu ymm0, ymmword ptr [esi] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-164H] vmovdqu ymmword ptr [esi], ymm0 jmp G_M000_IG18 G_M000_IG29: cmp edx, ecx je SHORT G_M000_IG31 G_M000_IG30: vmovdqu ymm0, ymmword ptr [edx] vmovdqu ymmword ptr [ebp-184H], ymm0 vmovdqu ymm0, ymmword ptr [ecx] vmovdqu ymmword ptr [edx], ymm0 vmovdqu ymm0, ymmword ptr [ebp-184H] vmovdqu ymmword ptr [ecx], ymm0 G_M000_IG31: sub edx, eax mov eax, edx sar eax, 31 and eax, 31 add eax, edx sar eax, 5 G_M000_IG32: vzeroupper lea esp, [ebp-04H] pop esi pop ebp ret 8 ; Total bytes of code 593 1160: 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=593] ; Assembly listing for method BenchmarkDotNet.Engines.EngineWarmupStage:RunWorkload(long,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push dword ptr [ebp-08H] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 1 call [BenchmarkDotNet.Engines.EngineWarmupStage:Run(long,int,int,int):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 44 1161: JIT compiled BenchmarkDotNet.Engines.EngineWarmupStage:RunWorkload(long,int,int) [Tier0, IL size=11, code size=44] ; Assembly listing for method BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmupWorkload(BenchmarkDotNet.Jobs.Job,BenchmarkDotNet.Characteristics.IResolver,int):BenchmarkDotNet.Engines.IStoppingCriteria:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4 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 1162: JIT compiled BenchmarkDotNet.Engines.DefaultStoppingCriteriaFactory:CreateWarmupWorkload(BenchmarkDotNet.Jobs.Job,BenchmarkDotNet.Characteristics.IResolver,int) [Tier0, IL size=81, code size=213] ; Assembly listing for method BenchmarkDotNet.Engines.FixedStoppingCriteria:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vxorps xmm4, xmm4 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 1163: JIT compiled BenchmarkDotNet.Engines.FixedStoppingCriteria:.ctor(int) [Tier0, IL size=69, code size=127] ; Assembly listing for method BenchmarkDotNet.Engines.FixedStoppingCriteria:GetMaxIterationCount():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1164: JIT compiled BenchmarkDotNet.Engines.FixedStoppingCriteria:GetMaxIterationCount() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.FixedStoppingCriteria:Evaluate(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Engines.StoppingResult:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 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 1165: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, 13 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 33 1166: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:WorkloadWarmupStart(long) [Tier0, IL size=10, code size=33] ; Assembly listing for method System.String:Replace(ushort,ushort):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 16 mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: movzx eax, di mov dword ptr [ebp+08H], ebx movzx edx, bx cmp eax, edx jne SHORT G_M000_IG05 G_M000_IG03: mov eax, esi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: lea ecx, bword ptr [esi+08H] mov eax, dword ptr [esi+04H] mov dword ptr [ebp-18H], eax mov edx, eax movsx ebx, di movzx eax, bx dec eax cmp eax, 254 jae SHORT G_M000_IG06 movzx eax, bx push edx movsx edx, ax call [System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax jmp SHORT G_M000_IG07 G_M000_IG06: push edx mov edx, ebx call [System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int] mov ebx, eax G_M000_IG07: test ebx, ebx jge SHORT G_M000_IG09 mov eax, esi G_M000_IG08: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG09: mov eax, dword ptr [ebp-18H] mov edx, eax sub edx, ebx mov dword ptr [ebp-10H], edx mov ecx, eax call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-1CH], eax mov dword ptr [ebp-14H], ebx test ebx, ebx jle SHORT G_M000_IG10 cmp byte ptr [eax], al lea ecx, bword ptr [eax+08H] lea edx, bword ptr [esi+08H] add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov eax, gword ptr [ebp-1CH] mov ebx, dword ptr [ebp-14H] G_M000_IG10: add ebx, ebx lea ecx, bword ptr [esi+ebx+08H] cmp byte ptr [eax], al lea edx, bword ptr [eax+ebx+08H] mov esi, dword ptr [ebp-18H] cmp esi, 8 jb SHORT G_M000_IG11 mov ebx, dword ptr [ebp-10H] sub esi, ebx and esi, 7 lea eax, [esi+esi] sub ecx, eax sub edx, eax add ebx, esi mov dword ptr [ebp-10H], ebx G_M000_IG11: 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-1CH] G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 231 1167: JIT compiled System.String:Replace(ushort,ushort) [Tier1, IL size=179, code size=231] ; Assembly listing for method System.Text.StringBuilder:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 77309 ; 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 mov esi, ecx G_M000_IG02: mov ecx, dword ptr [esi+10H] add ecx, dword ptr [esi+0CH] je SHORT G_M000_IG08 G_M000_IG03: call System.String:FastAllocateString(int):System.String mov edi, eax G_M000_IG04: mov ecx, dword ptr [esi+0CH] test ecx, ecx jle SHORT G_M000_IG05 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_IG10 cmp dword ptr [edx+04H], ecx jb SHORT G_M000_IG10 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_IG05: mov esi, gword ptr [esi+08H] test esi, esi jne SHORT G_M000_IG04 G_M000_IG06: mov eax, edi G_M000_IG07: pop ebx pop esi pop edi pop ebp ret G_M000_IG08: mov eax, 0xD1FFAB1E G_M000_IG09: pop ebx pop esi pop edi pop ebp ret G_M000_IG10: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x17CE6 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax call [System.SR:get_ArgumentOutOfRange_IndexMustBeLessOrEqual():System.String] push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 145 1168: JIT compiled System.Text.StringBuilder:ToString() [Tier1 with Static PGO, IL size=132, code size=145] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Host():BenchmarkDotNet.Engines.IHost:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, gword ptr [ecx+0CH] G_M000_IG03: ret ; Total bytes of code 4 1169: JIT compiled BenchmarkDotNet.Engines.Engine:get_Host() [Tier1, IL size=7, code size=4] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi vzeroupper mov esi, ecx vmovsd xmm0, qword ptr [ebp+18H] G_M000_IG02: cmp esi, 3 ja SHORT G_M000_IG11 lea eax, [@RWD00] mov eax, dword ptr [eax+4*esi] lea ecx, G_M000_IG02 add eax, ecx jmp eax G_M000_IG03: xor eax, eax G_M000_IG04: pop esi pop edi pop ebp ret 24 G_M000_IG05: xor ecx, ecx vucomisd xmm0, qword ptr [ebp+08H] seta cl jmp SHORT G_M000_IG09 G_M000_IG06: vmovsd xmm1, qword ptr [ebp+10H] xor ecx, ecx vucomisd xmm1, xmm0 seta cl jmp SHORT G_M000_IG09 G_M000_IG07: vmovsd xmm1, qword ptr [ebp+10H] vucomisd xmm1, xmm0 jbe SHORT G_M000_IG05 mov eax, 1 G_M000_IG08: pop esi pop edi pop ebp ret 24 G_M000_IG09: movzx eax, cl G_M000_IG10: pop esi pop edi pop ebp ret 24 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov dword ptr [edi+04H], esi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x9BE4 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax push edi push 0 mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 RWD00 dd G_M000_IG03 - G_M000_IG02 dd G_M000_IG05 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG07 - G_M000_IG02 ; Total bytes of code 169 1170: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:IsOutlier(int,double,double,double) [Tier1, IL size=65, code size=169] ; Assembly listing for method Perfolizer.Horology.StartedClock:GetElapsed():Perfolizer.Horology.ClockSpan:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 52 vzeroupper mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, esi mov ebx, dword ptr [ecx] mov eax, dword ptr [ecx+04H] mov dword ptr [ebp-38H], eax mov ecx, gword ptr [esi+08H] call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-3CH], eax mov dword ptr [ebp-40H], edx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-2CH], xmm0 vmovq qword ptr [ebp-1CH], xmm0 mov ecx, gword ptr [esi+08H] lea edx, [ebp-34H] call [Perfolizer.Horology.IClock:get_Frequency():Perfolizer.Horology.Frequency:this] mov dword ptr [ebp-2CH], ebx mov esi, dword ptr [ebp-38H] mov dword ptr [ebp-28H], esi mov esi, dword ptr [ebp-3CH] mov dword ptr [ebp-24H], esi mov esi, dword ptr [ebp-40H] mov dword ptr [ebp-20H], esi vmovsd xmm0, qword ptr [ebp-34H] vmovsd qword ptr [ebp-1CH], xmm0 vmovdqu xmm0, xmmword ptr [ebp-2CH] vmovdqu xmmword ptr [edi], xmm0 vmovdqu xmm0, xmmword ptr [ebp-24H] vmovdqu xmmword ptr [edi+08H], xmm0 G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 125 1171: JIT compiled Perfolizer.Horology.StartedClock:GetElapsed() [Tier1, IL size=34, code size=125] ; Assembly listing for method Perfolizer.Horology.WindowsClock:get_Frequency():Perfolizer.Horology.Frequency:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [@RWD00] vmovsd qword ptr [edx], xmm0 G_M000_IG03: ret RWD00 dq 416312D000000000h ; 10000000 ; Total bytes of code 16 1172: JIT compiled Perfolizer.Horology.WindowsClock:get_Frequency() [Tier1, IL size=12, code size=16] ; Assembly listing for method Perfolizer.Horology.ClockSpan:.ctor(long,long,Perfolizer.Horology.Frequency):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: vzeroupper G_M000_IG02: mov eax, ecx mov edx, dword ptr [esp+14H] mov dword ptr [eax], edx mov edx, dword ptr [esp+18H] mov dword ptr [eax+04H], edx lea eax, bword ptr [ecx+08H] mov edx, dword ptr [esp+0CH] mov dword ptr [eax], edx mov edx, dword ptr [esp+10H] mov dword ptr [eax+04H], edx vmovsd xmm0, qword ptr [esp+04H] vmovsd qword ptr [ecx+10H], xmm0 G_M000_IG03: ret 24 ; Total bytes of code 48 1173: JIT compiled Perfolizer.Horology.ClockSpan:.ctor(long,long,Perfolizer.Horology.Frequency) [Tier1, IL size=22, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, dword ptr [ebp+10H] G_M000_IG02: cmp esi, 3 ja G_M000_IG11 lea eax, [@RWD00] mov eax, dword ptr [eax+4*esi] lea edi, G_M000_IG02 add eax, edi jmp eax G_M000_IG03: test edx, edx jne SHORT G_M000_IG04 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 4 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp G_M000_IG10 G_M000_IG04: cmp edx, 1 jne G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 6 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG05: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 8 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG06: test edx, edx jne SHORT G_M000_IG07 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 10 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG07: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 14 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG08: test edx, edx jne SHORT G_M000_IG09 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 12 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG09: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 16 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG10: pop esi pop edi pop ebp ret 12 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov dword ptr [edi+04H], esi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0xF932 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax push edi push 0 mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 RWD00 dd G_M000_IG03 - G_M000_IG02 dd G_M000_IG05 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 ; Total bytes of code 275 1174: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long) [Tier1, IL size=125, code size=275] ; Assembly listing for method System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 5 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, 28 vzeroupper xor eax, eax mov dword ptr [ebp-14H], eax mov esi, ecx mov edi, bword ptr [ebp+0CH] G_M000_IG02: cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG04 G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG04: push dword ptr [ebp+10H] mov ecx, edx mov edx, gword ptr [ebp+14H] call [System.Diagnostics.Tracing.ActivityTracker:NormalizeActivityName(System.String,System.String,int):System.String] mov ebx, eax xor ecx, ecx cmp byte ptr [ebp+08H], 0 cmovne ecx, gword ptr [D1FFAB1EH] mov eax, ecx mov gword ptr [ebp-18H], eax test eax, eax je SHORT G_M000_IG05 movzx ecx, byte ptr [eax+6DH] jmp SHORT G_M000_IG06 G_M000_IG05: xor ecx, ecx G_M000_IG06: movzx edx, cl mov dword ptr [ebp-10H], edx test edx, edx je G_M000_IG14 cmp byte ptr [eax], al push 0xD1FFAB1E push ebx mov ecx, eax mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] mov ecx, gword ptr [esi+04H] cmp byte ptr [ecx], cl call [System.Threading.ExecutionContext:GetLocalValue(System.Threading.IAsyncLocal):System.Object] mov ecx, eax test ecx, ecx je SHORT G_M000_IG08 G_M000_IG07: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx jne G_M000_IG38 G_M000_IG08: call [System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:LiveActivities(System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.String] push 0xD1FFAB1E push eax mov ecx, gword ptr [ebp-18H] mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] G_M000_IG09: mov ecx, gword ptr [esi+04H] mov gword ptr [ebp-28H], ecx cmp byte ptr [ecx], cl mov ecx, 0xD1FFAB1E mov edx, 774 call CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE mov eax, gword ptr [eax+0CH] test eax, eax je SHORT G_M000_IG16 G_M000_IG10: mov ecx, gword ptr [eax+04H] test ecx, ecx je SHORT G_M000_IG15 G_M000_IG11: mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG19 G_M000_IG12: mov eax, gword ptr [ebp-28H] cmp eax, gword ptr [ecx+04H] jne SHORT G_M000_IG18 G_M000_IG13: mov ecx, gword ptr [ecx+08H] mov gword ptr [ebp-14H], ecx jmp SHORT G_M000_IG20 G_M000_IG14: jmp SHORT G_M000_IG09 G_M000_IG15: xor edx, edx jmp SHORT G_M000_IG21 G_M000_IG16: call [System.Threading.Thread:InitializeCurrentThread():System.Threading.Thread] jmp SHORT G_M000_IG10 align [6 bytes for IG27] G_M000_IG17: mov dword ptr [ecx+28H], 1 jmp G_M000_IG28 G_M000_IG18: xor ecx, ecx mov gword ptr [ebp-14H], ecx jmp SHORT G_M000_IG20 G_M000_IG19: mov eax, gword ptr [ebp-28H] lea edx, [ebp-14H] push edx mov edx, eax call [System.Threading.IAsyncLocalValueMap:TryGetValue(System.Threading.IAsyncLocal,byref):bool:this] G_M000_IG20: mov edx, gword ptr [ebp-14H] G_M000_IG21: xor ecx, ecx mov gword ptr [ebp-14H], ecx mov eax, edx test eax, eax jne SHORT G_M000_IG25 G_M000_IG22: mov gword ptr [ebp-1CH], eax xor edx, edx mov gword ptr [ebp-20H], edx mov ecx, ebx mov edx, eax call [System.Diagnostics.Tracing.ActivityTracker:FindActiveActivity(System.String,System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.Diagnostics.Tracing.ActivityTracker+ActivityInfo] test eax, eax jne SHORT G_M000_IG26 G_M000_IG23: vxorps xmm0, xmm0 vmovdqu xmmword ptr [edi], xmm0 cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG24 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_IG24: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG25: mov ecx, 0xD1FFAB1E cmp dword ptr [eax], ecx jne G_M000_IG39 jmp SHORT G_M000_IG22 G_M000_IG26: vmovups xmm0, xmmword ptr [eax+2CH] mov bword ptr [ebp+0CH], edi vmovups xmmword ptr [edi], xmm0 mov ecx, gword ptr [ebp-1CH] mov edi, bword ptr [ebp+0CH] jmp SHORT G_M000_IG29 G_M000_IG27: cmp dword ptr [ecx+28H], 0 jne SHORT G_M000_IG28 test byte ptr [ecx+24H], 8 je G_M000_IG17 mov edx, gword ptr [ebp-20H] test edx, edx mov gword ptr [ebp-20H], edx jne SHORT G_M000_IG28 mov edx, ecx mov gword ptr [ebp-20H], edx G_M000_IG28: mov ecx, gword ptr [ecx+18H] G_M000_IG29: cmp ecx, eax je G_M000_IG37 G_M000_IG30: test ecx, ecx jne SHORT G_M000_IG27 G_M000_IG31: mov bword ptr [ebp+0CH], edi G_M000_IG32: mov gword ptr [ebp-24H], eax lea ecx, bword ptr [eax+28H] mov edi, 1 xor eax, eax lock cmpxchg dword ptr [ecx], edi test eax, eax mov edi, bword ptr [ebp+0CH] jne G_M000_IG09 G_M000_IG33: mov eax, gword ptr [ebp-18H] mov ecx, gword ptr [ebp-24H] mov ebx, gword ptr [ebp-20H] test ebx, ebx jne SHORT G_M000_IG36 mov ebx, gword ptr [ecx+18H] G_M000_IG34: 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_IG35 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_IG35: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG36: jmp SHORT G_M000_IG34 G_M000_IG37: mov bword ptr [ebp+0CH], edi jmp G_M000_IG32 G_M000_IG38: mov ecx, edx mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG39: call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 640 1175: JIT compiled System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool) [Tier1, IL size=322, code size=640] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_Index():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+08H] G_M000_IG03: ret ; Total bytes of code 4 1176: JIT compiled BenchmarkDotNet.Engines.IterationData:get_Index() [Tier1, IL size=7, code size=4] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetNanoseconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: sub esp, 16 vzeroupper G_M000_IG02: call [Perfolizer.Horology.ClockSpan:GetSeconds():double:this] fstp qword ptr [esp+08H] mov eax, gword ptr [D1FFAB1EH] add eax, 4 mov edx, dword ptr [eax] push dword ptr [eax+04H] push edx call CORINFO_HELP_LNG2DBL fstp qword ptr [esp] vmovsd xmm0, qword ptr [esp] vmulsd xmm0, xmm0, qword ptr [esp+08H] vmovsd qword ptr [esp+08H], xmm0 fld qword ptr [esp+08H] G_M000_IG03: add esp, 16 ret ; Total bytes of code 63 1177: JIT compiled Perfolizer.Horology.ClockSpan:GetNanoseconds() [Tier1, IL size=19, code size=63] ; Assembly listing for method Perfolizer.Horology.ClockSpan:GetSeconds():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 8 vzeroupper mov esi, ecx G_M000_IG02: lea eax, bword ptr [esi+08H] mov edx, dword ptr [eax] mov eax, dword ptr [eax+04H] mov ecx, esi mov edi, dword ptr [ecx] mov ecx, dword ptr [ecx+04H] sub edx, edi sbb eax, ecx cmp edx, 1 mov ecx, eax sbb ecx, 0 jl SHORT G_M000_IG04 G_M000_IG03: jmp SHORT G_M000_IG05 G_M000_IG04: xor edx, edx xor eax, eax G_M000_IG05: push eax push edx call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd xmm1, qword ptr [esi+10H] vdivsd xmm0, xmm0, xmm1 vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG06: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 87 1178: JIT compiled Perfolizer.Horology.ClockSpan:GetSeconds() [Tier1, IL size=48, code size=87] ; Assembly listing for method System.Math:Max(long,long):long ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; esp based frame ; partially interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 50029 G_M000_IG01: G_M000_IG02: mov eax, dword ptr [esp+0CH] cmp eax, dword ptr [esp+04H] mov eax, dword ptr [esp+10H] sbb eax, dword ptr [esp+08H] jge SHORT G_M000_IG05 G_M000_IG03: mov eax, dword ptr [esp+04H] mov edx, dword ptr [esp+08H] G_M000_IG04: ret 16 G_M000_IG05: mov eax, dword ptr [esp+0CH] mov edx, dword ptr [esp+10H] G_M000_IG06: ret 16 ; Total bytes of code 40 1179: JIT compiled System.Math:Max(long,long) [Tier1 with Static PGO, IL size=8, code size=40] ; Assembly listing for method Perfolizer.Horology.Frequency:op_Implicit(double):Perfolizer.Horology.Frequency ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: 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 1180: JIT compiled Perfolizer.Horology.Frequency:op_Implicit(double) [Tier1, IL size=7, code size=16] ; Assembly listing for method Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [esp+14H] vdivsd xmm0, xmm0, qword ptr [esp+0CH] vmovsd qword ptr [esp], xmm0 fld qword ptr [esp] G_M000_IG03: add esp, 8 ret 16 ; Total bytes of code 32 1181: JIT compiled Perfolizer.Horology.Frequency:op_Division(Perfolizer.Horology.Frequency,Perfolizer.Horology.Frequency) [Tier1, IL size=26, code size=32] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:.ctor(int,int,int,int,long,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: push esi vzeroupper G_M000_IG02: lea eax, bword ptr [ecx+10H] mov esi, dword ptr [esp+10H] mov dword ptr [eax], esi mov esi, dword ptr [esp+14H] mov dword ptr [eax+04H], esi vmovsd xmm0, qword ptr [esp+08H] vmovsd qword ptr [ecx+18H], xmm0 mov dword ptr [ecx+08H], edx mov eax, dword ptr [esp+20H] mov dword ptr [ecx], eax mov eax, dword ptr [esp+1CH] mov dword ptr [ecx+04H], eax mov eax, dword ptr [esp+18H] mov dword ptr [ecx+0CH], eax G_M000_IG03: pop esi ret 28 ; Total bytes of code 58 1182: JIT compiled BenchmarkDotNet.Reports.Measurement:.ctor(int,int,int,int,long,double) [Tier1, IL size=46, code size=58] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:ToString():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 20 inlinees with PGO data; 27 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 mov dword ptr [ebp-14H], eax mov esi, ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov dword ptr [edi+14H], 0xD1FFAB1E mov ecx, 0xD1FFAB1E mov edx, 16 call CORINFO_HELP_NEWARR_1_VC lea edx, bword ptr [edi+04H] call CORINFO_HELP_ASSIGN_REF_EAX mov ebx, dword ptr [esi] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov dword ptr [eax+04H], ebx mov ecx, eax call [System.Enum:ToString():System.String:this] mov ebx, eax mov eax, dword ptr [esi+04H] mov dword ptr [ebp-10H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, dword ptr [ebp-10H] mov dword ptr [eax+04H], ecx mov ecx, eax call [System.Enum:ToString():System.String:this] mov edx, eax mov ecx, ebx call [System.String:Concat(System.String,System.String):System.String] mov ecx, eax push 32 mov edx, 15 cmp dword ptr [ecx], ecx call [System.String:PadRight(int,ushort):System.String:this] mov edx, eax test edx, edx je SHORT G_M000_IG04 G_M000_IG03: mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG04: mov ecx, dword ptr [edi+0CH] mov edx, gword ptr [edi+04H] cmp dword ptr [edx+04H], ecx jbe G_M000_IG29 G_M000_IG05: mov word ptr [edx+2*ecx+08H], 32 inc dword ptr [edi+0CH] G_M000_IG06: mov ebx, dword ptr [esi+0CH] mov ecx, gword ptr [D1FFAB1EH] test ebx, ebx jl G_M000_IG34 G_M000_IG07: mov ecx, ebx call [System.Number:UInt32ToDecStr(uint):System.String] G_M000_IG08: push 32 mov ecx, eax mov edx, 2 cmp dword ptr [ecx], ecx call [System.String:PadLeft(int,ushort):System.String:this] mov edx, eax test edx, edx je SHORT G_M000_IG10 G_M000_IG09: mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG10: push 2 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] lea ecx, bword ptr [esi+10H] mov ebx, dword ptr [ecx] mov eax, dword ptr [ecx+04H] mov ecx, gword ptr [D1FFAB1EH] mov dword ptr [ebp-24H], eax test eax, eax jge G_M000_IG28 G_M000_IG11: test ecx, ecx je G_M000_IG32 G_M000_IG12: call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] G_M000_IG13: push dword ptr [ebp-24H] push ebx mov edx, gword ptr [eax+14H] mov ecx, -1 call [System.Number:NegativeInt64ToDecStr(long,int,System.String):System.String] mov edx, eax G_M000_IG14: test edx, edx je SHORT G_M000_IG16 G_M000_IG15: mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG16: mov ecx, dword ptr [edi+0CH] mov edx, gword ptr [edi+04H] cmp dword ptr [edx+04H], ecx jbe G_M000_IG30 G_M000_IG17: mov word ptr [edx+2*ecx+08H], 32 inc dword ptr [edi+0CH] G_M000_IG18: push 2 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] push 2 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] vmovsd xmm0, qword ptr [esi+18H] mov ecx, gword ptr [D1FFAB1EH] vmovsd qword ptr [ebp-20H], xmm0 test ecx, ecx je G_M000_IG33 G_M000_IG19: call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] G_M000_IG20: vmovsd xmm0, qword ptr [ebp-20H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov edx, eax mov ecx, 0xD1FFAB1E call [System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String] mov edx, eax test edx, edx je SHORT G_M000_IG22 G_M000_IG21: mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG22: mov ecx, dword ptr [edi+0CH] mov edx, gword ptr [edi+04H] cmp dword ptr [edx+04H], ecx jbe G_M000_IG31 G_M000_IG23: mov word ptr [edx+2*ecx+08H], 32 inc dword ptr [edi+0CH] G_M000_IG24: push 2 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] push 2 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] vmovsd xmm0, qword ptr [esi+18H] vmovsd qword ptr [ebp-2CH], xmm0 add esi, 16 mov eax, dword ptr [esi] push dword ptr [esi+04H] push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-34H] vmovsd xmm1, qword ptr [ebp-2CH] vmovsd xmm0, qword ptr [ebp-34H] vdivsd xmm0, xmm1, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 lea ecx, [ebp-18H] call [Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval] push gword ptr [D1FFAB1EH] push 0xD1FFAB1E push 0 lea ecx, [ebp-18H] xor edx, edx call [Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this] mov ecx, eax call [BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String):System.String] mov edx, eax test edx, edx je SHORT G_M000_IG26 G_M000_IG25: mov ecx, dword ptr [edx+04H] push ecx add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] G_M000_IG26: push 3 mov edx, 0xD1FFAB1E add edx, 8 mov ecx, edi call [System.Text.StringBuilder:Append(byref,int):this] mov ecx, edi call [System.Text.StringBuilder:ToString():System.String:this] G_M000_IG27: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG28: push dword ptr [ebp-24H] push ebx call [System.Number:UInt64ToDecStr(ulong):System.String] mov edx, eax jmp G_M000_IG14 G_M000_IG29: push 1 mov ecx, edi mov edx, 32 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp G_M000_IG06 G_M000_IG30: push 1 mov ecx, edi mov edx, 32 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp G_M000_IG18 G_M000_IG31: push 1 mov ecx, edi mov edx, 32 call [System.Text.StringBuilder:Append(ushort,int):System.Text.StringBuilder:this] jmp G_M000_IG24 G_M000_IG32: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] jmp G_M000_IG13 G_M000_IG33: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] jmp G_M000_IG20 G_M000_IG34: test ecx, ecx je SHORT G_M000_IG35 call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG36 G_M000_IG35: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG36: push gword ptr [eax+14H] mov ecx, ebx mov edx, -1 call [System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String] jmp G_M000_IG08 ; Total bytes of code 833 1183: JIT compiled BenchmarkDotNet.Reports.Measurement:ToString() [Tier1, IL size=304, code size=833] ; Assembly listing for method System.Text.StringBuilder:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi mov esi, ecx G_M000_IG02: mov dword ptr [esi+14H], 0xD1FFAB1E mov ecx, 0xD1FFAB1E mov edx, 16 call CORINFO_HELP_NEWARR_1_VC lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop esi ret ; Total bytes of code 35 1184: JIT compiled System.Text.StringBuilder:.ctor() [Tier1, IL size=31, code size=35] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationMode():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx] G_M000_IG03: ret ; Total bytes of code 3 1185: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationMode() [Tier1, IL size=7, code size=3] ; Assembly listing for method System.String:PadRight(int,ushort):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 3 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 8 mov edi, ecx mov esi, edx G_M000_IG02: test esi, esi jl SHORT G_M000_IG07 mov ebx, dword ptr [edi+04H] mov edx, esi sub edx, ebx mov dword ptr [ebp-10H], edx test edx, edx jg SHORT G_M000_IG05 G_M000_IG03: mov eax, edi G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG05: mov ecx, esi call System.String:FastAllocateString(int):System.String mov esi, eax mov eax, esi cmp byte ptr [eax], al lea eax, bword ptr [esi+08H] mov bword ptr [ebp-14H], eax mov ecx, eax lea edx, bword ptr [edi+08H] lea edi, [ebx+ebx] push edi call [System.Buffer:Memmove(byref,byref,uint)] mov edi, bword ptr [ebp-14H] lea ecx, bword ptr [edi+2*ebx] movzx edx, word ptr [ebp+08H] push edx mov edx, dword ptr [ebp-10H] call [System.SpanHelpers:Fill[ushort](byref,uint,ushort)] mov eax, esi G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG07: mov ecx, 0x176D mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov ecx, eax mov edx, esi call [System.ArgumentOutOfRangeException:ThrowNegative[int](System.String,int)] int3 ; Total bytes of code 135 1186: JIT compiled System.String:PadRight(int,ushort) [Tier1, IL size=83, code size=135] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:get_IterationIndex():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+0CH] G_M000_IG03: ret ; Total bytes of code 4 1187: JIT compiled BenchmarkDotNet.Reports.Measurement:get_IterationIndex() [Tier1, IL size=7, code size=4] ; Assembly listing for method System.Int32:ToString(System.IFormatProvider):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 3 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov eax, edx G_M000_IG02: mov esi, dword ptr [ecx] test esi, esi jl SHORT G_M000_IG05 G_M000_IG03: mov ecx, esi call [System.Number:UInt32ToDecStr(uint):System.String] G_M000_IG04: pop esi pop ebp ret G_M000_IG05: test eax, eax je SHORT G_M000_IG06 mov ecx, eax call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG07 G_M000_IG06: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG07: 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_IG04 ; Total bytes of code 61 1188: JIT compiled System.Int32:ToString(System.IFormatProvider) [Tier1, IL size=11, code size=61] ; Assembly listing for method System.Int64:ToString(System.IFormatProvider):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 2 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi G_M000_IG02: mov esi, dword ptr [ecx] mov edi, dword ptr [ecx+04H] test edi, edi jge SHORT G_M000_IG07 G_M000_IG03: test edx, edx je SHORT G_M000_IG05 G_M000_IG04: mov ecx, edx call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp SHORT G_M000_IG06 G_M000_IG05: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG06: push edi push esi mov edx, gword ptr [eax+14H] mov ecx, -1 call [System.Number:NegativeInt64ToDecStr(long,int,System.String):System.String] jmp SHORT G_M000_IG08 G_M000_IG07: push edi push esi call [System.Number:UInt64ToDecStr(ulong):System.String] G_M000_IG08: pop esi pop edi pop ebp ret ; Total bytes of code 64 1189: JIT compiled System.Int64:ToString(System.IFormatProvider) [Tier1, IL size=10, code size=64] ; Assembly listing for method System.Number:UInt64ToDecStr(ulong):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 1 inlinees with PGO data; 5 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi push ebx push eax xor eax, eax mov dword ptr [ebp-0CH], eax G_M000_IG02: cmp dword ptr [ebp+08H], 300 mov ecx, dword ptr [ebp+0CH] sbb ecx, 0 jae SHORT G_M000_IG05 G_M000_IG03: mov ecx, dword ptr [ebp+08H] call [System.Number:UInt32ToDecStrForKnownSmallNumber(uint):System.String] G_M000_IG04: pop ecx pop ebx pop esi pop ebp ret 8 G_M000_IG05: mov ecx, 0xD1FFAB1E mov eax, dword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] or eax, 1 or edx, 0 jne SHORT G_M000_IG06 or eax, 1 lzcnt eax, eax xor eax, 31 jmp SHORT G_M000_IG07 G_M000_IG06: or edx, 1 xor eax, eax lzcnt eax, edx xor eax, 31 add eax, 32 G_M000_IG07: movzx ebx, byte ptr [ecx+eax] lea ecx, [8*ebx+D1FFAB1EH] mov eax, dword ptr [ecx] mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp+08H], eax mov eax, dword ptr [ebp+0CH] sbb eax, ecx setb cl movzx ecx, cl sub ebx, ecx mov ecx, ebx call System.String:FastAllocateString(int):System.String mov esi, eax test esi, esi jne SHORT G_M000_IG08 xor ecx, ecx jmp SHORT G_M000_IG09 G_M000_IG08: lea ecx, bword ptr [esi+08H] mov bword ptr [ebp-0CH], ecx mov ecx, bword ptr [ebp-0CH] G_M000_IG09: push dword ptr [ebp+0CH] push dword ptr [ebp+08H] lea ecx, [ecx+2*ebx] call [System.Number:UInt64ToDecChars[ushort](uint,ulong):uint] xor eax, eax mov bword ptr [ebp-0CH], eax mov eax, esi G_M000_IG10: pop ecx pop ebx pop esi pop ebp ret 8 ; Total bytes of code 175 1190: JIT compiled System.Number:UInt64ToDecStr(ulong) [Tier1, IL size=71, code size=175] ; Assembly listing for method System.Number:UInt64ToDecChars[ushort](uint,ulong):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 12 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx push eax mov esi, ecx G_M000_IG02: cmp dword ptr [ebp+0CH], 0 je G_M000_IG10 G_M000_IG03: mov eax, dword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] mov ecx, 0xD1FFAB1E cmp edx, ecx jb SHORT G_M000_IG04 mov edi, eax mov eax, edx xor edx, edx div edx:eax, ecx mov eax, edi G_M000_IG04: div edx:eax, ecx mov edi, edx push dword ptr [ebp+0CH] push dword ptr [ebp+08H] push 0 push 0xD1FFAB1E call CORINFO_HELP_ULDIV mov dword ptr [ebp+08H], eax mov dword ptr [ebp+0CH], edx mov ecx, 9 cmp edi, 100 jb G_M000_IG20 align [0 bytes for IG05] G_M000_IG05: add esi, -4 add ecx, -2 mov edx, 0xD1FFAB1E mov eax, edi mul edx:eax, edx shr edx, 5 imul eax, edx, 100 sub edi, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea eax, bword ptr [eax+4*edi+08H] mov eax, dword ptr [eax] mov dword ptr [esi], eax cmp edx, 100 jae G_M000_IG19 G_M000_IG06: test edx, edx je G_M000_IG18 G_M000_IG07: dec ecx mov eax, 0xD1FFAB1E mov dword ptr [ebp-10H], edx mul edx:eax, edx shr edx, 3 lea eax, [edx+4*edx] add eax, eax mov edi, dword ptr [ebp-10H] mov ebx, edi sub ebx, eax mov edi, edx add esi, -2 add ebx, 48 mov word ptr [esi], bx test edi, edi jne SHORT G_M000_IG17 G_M000_IG08: test ecx, ecx mov edx, edi jg SHORT G_M000_IG07 G_M000_IG09: cmp dword ptr [ebp+0CH], 0 jne G_M000_IG03 G_M000_IG10: mov ecx, esi mov esi, dword ptr [ebp+08H] cmp esi, 10 jb SHORT G_M000_IG21 G_M000_IG11: cmp esi, 100 jb SHORT G_M000_IG16 align [3 bytes for IG12] G_M000_IG12: add ecx, -4 mov edx, 0xD1FFAB1E mov eax, esi mul edx:eax, edx shr edx, 5 imul eax, edx, 100 sub esi, eax mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea eax, bword ptr [eax+4*esi+08H] mov eax, dword ptr [eax] mov dword ptr [ecx], eax cmp edx, 100 jae SHORT G_M000_IG15 G_M000_IG13: cmp edx, 10 jb SHORT G_M000_IG14 add ecx, -4 mov eax, gword ptr [D1FFAB1EH] cmp byte ptr [eax], al lea edx, bword ptr [eax+4*edx+08H] mov eax, dword ptr [edx] mov dword ptr [ecx], eax jmp SHORT G_M000_IG22 G_M000_IG14: mov esi, edx jmp SHORT G_M000_IG21 G_M000_IG15: mov esi, edx jmp SHORT G_M000_IG12 G_M000_IG16: mov edx, esi jmp SHORT G_M000_IG13 G_M000_IG17: mov edx, edi jmp G_M000_IG07 G_M000_IG18: mov edi, edx jmp SHORT G_M000_IG08 G_M000_IG19: mov edi, edx jmp G_M000_IG05 G_M000_IG20: mov edx, edi jmp G_M000_IG06 G_M000_IG21: add ecx, -2 lea eax, [esi+30H] mov word ptr [ecx], ax G_M000_IG22: mov eax, ecx G_M000_IG23: pop ecx pop ebx pop esi pop edi pop ebp ret 8 ; Total bytes of code 345 1191: JIT compiled System.Number:UInt64ToDecChars[ushort](uint,ulong) [Tier1, IL size=35, code size=345] ; Assembly listing for method System.Number+Grisu3:TryRunDouble(double,int,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; partially interruptible ; with Static PGO: edge weights are invalid, and fgCalledCount is 127 ; 2 inlinees with PGO data; 13 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 276 vzeroupper mov edi, ecx mov esi, edx vmovsd xmm0, qword ptr [ebp+08H] G_M000_IG02: vmovsd qword ptr [ebp-58H], xmm0 cmp dword ptr [ebp-54H], 0 jl G_M000_IG14 G_M000_IG03: cmp edi, -1 jne G_M000_IG10 G_M000_IG04: vmovsd qword ptr [ebp-70H], xmm0 mov ecx, dword ptr [ebp-70H] mov edx, dword ptr [ebp-6CH] mov ebx, edx and ebx, 0xD1FFAB1E shr edx, 20 and edx, 0x7FF mov dword ptr [ebp-60H], edx cmp dword ptr [ebp-60H], 0 je G_M000_IG15 or ecx, 0 or ebx, 0xD1FFAB1E mov edx, dword ptr [ebp-60H] add edx, -0x433 mov dword ptr [ebp-60H], edx G_M000_IG05: mov dword ptr [ebp-68H], ecx mov dword ptr [ebp-64H], ebx lea ecx, [ebp-30H] push ecx lea ecx, [ebp-40H] push ecx lea ecx, [ebp-68H] mov edx, 52 call [System.Number+DiyFp:GetBoundaries(int,byref,byref):this] mov eax, dword ptr [ebp-68H] mov edx, dword ptr [ebp-64H] mov dword ptr [ebp-104H], eax mov dword ptr [ebp-100H], edx mov edi, dword ptr [ebp-60H] mov eax, dword ptr [ebp-104H] mov edx, dword ptr [ebp-100H] xor ebx, ebx lzcnt ebx, edx lzcnt eax, eax add eax, 32 test edx, edx cmove ebx, eax mov eax, dword ptr [ebp-104H] mov edx, dword ptr [ebp-100H] mov ecx, ebx and ecx, 63 call CORINFO_HELP_LLSH sub edi, ebx mov dword ptr [ebp-114H], eax mov dword ptr [ebp-110H], edx mov edx, dword ptr [ebp-114H] mov ecx, dword ptr [ebp-110H] mov dword ptr [ebp-20H], edx mov dword ptr [ebp-1CH], ecx mov dword ptr [ebp-18H], edi lea edx, bword ptr [esi+0CH] mov edi, bword ptr [edx] mov ebx, dword ptr [edx+04H] mov edx, dword ptr [ebp-18H] add edx, 64 neg edx lea ecx, [edx-20H] push ecx lea ecx, [ebp-7CH] push ecx add edx, -60 lea ecx, [ebp-8CH] call [System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp] lea ecx, [ebp-8CH] push ecx lea ecx, [ebp-20H] lea edx, [ebp-9CH] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] lea ecx, [ebp-8CH] push ecx lea ecx, [ebp-30H] lea edx, [ebp-ACH] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] G_M000_IG06: lea ecx, [ebp-8CH] push ecx lea ecx, [ebp-40H] lea edx, [ebp-BCH] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] lea edx, [ebp-BCH] push edx push ebx push edi lea edx, [ebp-10H] push edx lea edx, [ebp-C0H] push edx lea edx, [ebp-9CH] lea ecx, [ebp-ACH] call [System.Number+Grisu3:TryDigitGenShortest(byref,byref,byref,System.Span`1[ubyte],byref,byref):bool] mov edx, dword ptr [ebp-7CH] mov ecx, edx neg ecx add ecx, dword ptr [ebp-C0H] G_M000_IG07: test eax, eax je SHORT G_M000_IG09 G_M000_IG08: add ecx, dword ptr [ebp-10H] mov dword ptr [esi+04H], ecx lea edx, bword ptr [esi+0CH] mov ecx, dword ptr [edx+04H] cmp dword ptr [ebp-10H], ecx jae G_M000_IG17 mov edx, bword ptr [edx] mov ecx, dword ptr [ebp-10H] mov byte ptr [edx+ecx], 0 mov edx, dword ptr [ebp-10H] mov dword ptr [esi], edx G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG10: vmovsd qword ptr [ebp-C8H], xmm0 mov eax, dword ptr [ebp-C8H] mov edx, dword ptr [ebp-C4H] mov ebx, edx and ebx, 0xD1FFAB1E shr edx, 20 and edx, 0x7FF je G_M000_IG16 or eax, 0 or ebx, 0xD1FFAB1E add edx, -0x433 G_M000_IG11: mov dword ptr [ebp-10CH], eax mov dword ptr [ebp-108H], ebx mov eax, dword ptr [ebp-10CH] mov ecx, dword ptr [ebp-108H] mov dword ptr [ebp-104H], eax mov dword ptr [ebp-100H], ecx mov ebx, edx mov eax, dword ptr [ebp-104H] mov edx, dword ptr [ebp-100H] test edx, edx jne SHORT G_M000_IG12 xor ecx, ecx lzcnt ecx, eax add ecx, 32 jmp SHORT G_M000_IG13 G_M000_IG12: xor ecx, ecx lzcnt ecx, edx G_M000_IG13: mov eax, dword ptr [ebp-104H] mov edx, dword ptr [ebp-100H] mov dword ptr [ebp-CCH], ecx and ecx, 63 call CORINFO_HELP_LLSH mov ecx, ebx sub ecx, dword ptr [ebp-CCH] mov dword ptr [ebp-11CH], eax mov dword ptr [ebp-118H], edx mov edx, dword ptr [ebp-11CH] mov eax, dword ptr [ebp-118H] mov dword ptr [ebp-50H], edx mov dword ptr [ebp-4CH], eax mov dword ptr [ebp-48H], ecx lea edx, bword ptr [esi+0CH] mov ebx, bword ptr [edx] mov eax, dword ptr [edx+04H] mov dword ptr [ebp-120H], eax mov edx, dword ptr [ebp-48H] add edx, 64 neg edx lea ecx, [edx-20H] push ecx lea ecx, [ebp-D8H] push ecx add edx, -60 lea ecx, [ebp-E8H] call [System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp] lea ecx, [ebp-E8H] push ecx lea ecx, [ebp-50H] lea edx, [ebp-F8H] call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] push dword ptr [ebp-120H] push ebx lea ecx, [ebp-10H] push ecx lea ecx, [ebp-FCH] push ecx lea ecx, [ebp-F8H] mov edx, edi call [System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref):bool] mov edx, dword ptr [ebp-D8H] mov ecx, edx neg ecx add ecx, dword ptr [ebp-FCH] jmp G_M000_IG07 G_M000_IG14: vxorps xmm0, xmm0, qword ptr [@RWD00] jmp G_M000_IG03 G_M000_IG15: mov dword ptr [ebp-60H], -0x432 jmp G_M000_IG05 G_M000_IG16: mov edx, -0x432 jmp G_M000_IG11 G_M000_IG17: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 8000000000000000h ; -0 dq 8000000000000000h ; -0 ; Total bytes of code 811 1192: JIT compiled System.Number+Grisu3:TryRunDouble(double,int,byref) [Tier1 with Static PGO, IL size=134, code size=811] ; Assembly listing for method System.Number+DiyFp:Normalize():System.Number+DiyFp:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 24 mov esi, ecx mov edi, edx G_M000_IG02: mov eax, esi mov edx, dword ptr [eax] mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-24H], ecx mov dword ptr [ebp-20H], edx mov ebx, ecx xor eax, eax lzcnt eax, ebx xor ecx, ecx lzcnt ecx, dword ptr [ebp-20H] add ecx, 32 test ebx, ebx mov ebx, ecx cmovne ebx, eax mov ecx, ebx and ecx, 63 mov eax, edx mov edx, dword ptr [ebp-24H] call CORINFO_HELP_LLSH mov ecx, dword ptr [esi+08H] sub ecx, ebx mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], edx mov eax, edi mov edx, dword ptr [ebp-1CH] mov dword ptr [eax], edx mov edx, dword ptr [ebp-18H] mov dword ptr [eax+04H], edx mov dword ptr [edi+08H], ecx G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 101 1193: JIT compiled System.Number+DiyFp:Normalize() [Tier1, IL size=37, code size=101] ; Assembly listing for method System.Number+Grisu3:TryRunCounted(byref,int,System.Span`1[ubyte],byref,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 40 mov esi, ecx mov edi, edx G_M000_IG02: mov edx, dword ptr [esi+08H] add edx, 64 neg edx lea ecx, [edx-3CH] add edx, -32 push edx lea edx, [ebp-1CH] push edx mov edx, ecx lea ecx, [ebp-18H] call [System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp] lea edx, [ebp-18H] push edx lea edx, [ebp-2CH] mov ecx, esi call [System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this] push dword ptr [ebp+14H] push bword ptr [ebp+10H] push bword ptr [ebp+0CH] lea ecx, [ebp-30H] push ecx lea ecx, [ebp-2CH] mov edx, edi call [System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref):bool] mov edx, dword ptr [ebp-1CH] neg edx add edx, dword ptr [ebp-30H] mov esi, bword ptr [ebp+08H] mov dword ptr [esi], edx G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret 16 ; Total bytes of code 103 1194: JIT compiled System.Number+Grisu3:TryRunCounted(byref,int,System.Span`1[ubyte],byref,byref) [Tier1, IL size=71, code size=103] ; Assembly listing for method System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref):System.Number+DiyFp ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi sub esp, 8 vzeroupper G_M000_IG02: add edx, 63 vxorps xmm0, xmm0 vcvtsi2sd xmm0, edx vmulsd xmm0, xmm0, qword ptr [@RWD00] vroundsd 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 1195: JIT compiled System.Number+Grisu3:GetCachedPowerForBinaryExponentRange(int,int,byref) [Tier1, IL size=91, code size=131] ; Assembly listing for method System.Number+DiyFp:Multiply(byref):System.Number+DiyFp:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 80 mov bword ptr [ebp-5CH], edx mov edi, bword ptr [ebp+08H] G_M000_IG02: mov eax, ecx cmp dword ptr [eax], eax mov ebx, dword ptr [eax+04H] mov dword ptr [ebp-10H], ebx mov eax, dword ptr [ecx] mov dword ptr [ebp-14H], eax mov edx, edi cmp dword ptr [edx], edx mov edx, dword ptr [edx+04H] mov dword ptr [ebp-18H], edx mov bword ptr [ebp+08H], edi mov edi, dword ptr [edi] mov dword ptr [ebp-1CH], edi mov eax, ebx mul edx:eax, edx mov dword ptr [ebp-40H], eax mov dword ptr [ebp-44H], edx mov ebx, dword ptr [ebp-14H] mov edi, dword ptr [ebp-18H] mov eax, ebx mul edx:eax, edi mov edi, eax mov dword ptr [ebp-48H], edx mov edx, dword ptr [ebp-10H] mov ebx, dword ptr [ebp-1CH] mov eax, edx mul edx:eax, ebx mov dword ptr [ebp-4CH], eax mov dword ptr [ebp-50H], edx mov esi, dword ptr [ebp-14H] mov eax, esi mul edx:eax, ebx xor eax, eax mov esi, dword ptr [ebp-4CH] add edx, esi adc eax, 0 add edx, edi adc eax, 0 add edx, 0xD1FFAB1E adc eax, 0 mov edx, dword ptr [ecx+08H] mov edi, bword ptr [ebp+08H] mov ecx, dword ptr [edi+08H] lea edx, [edx+ecx+40H] mov ecx, dword ptr [ebp-50H] add ecx, dword ptr [ebp-40H] mov esi, dword ptr [ebp-44H] adc esi, 0 add ecx, dword ptr [ebp-48H] adc esi, 0 add eax, ecx adc esi, 0 mov dword ptr [ebp-3CH], eax mov dword ptr [ebp-38H], esi mov esi, bword ptr [ebp-5CH] mov eax, esi mov ecx, dword ptr [ebp-3CH] mov dword ptr [eax], ecx mov ecx, dword ptr [ebp-38H] mov dword ptr [eax+04H], ecx mov dword ptr [esi+08H], edx G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 ; Total bytes of code 191 1196: JIT compiled System.Number+DiyFp:Multiply(byref) [Tier1, IL size=136, code size=191] ; Assembly listing for method System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; fully interruptible ; PGO data available, but IL did not match ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 136 xor eax, eax mov dword ptr [ebp-8CH], eax mov esi, edx mov edi, bword ptr [ebp+0CH] mov ebx, bword ptr [ebp+08H] G_M000_IG02: xor edx, edx mov dword ptr [ebp-48H], 1 mov dword ptr [ebp-4CH], edx mov bword ptr [ebp-88H], ecx mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-44H], ecx neg ecx and ecx, 63 mov dword ptr [ebp-40H], ecx mov dword ptr [ebp-60H], 1 xor ecx, ecx mov eax, dword ptr [ebp-60H] mov edx, ecx mov ecx, dword ptr [ebp-40H] call CORINFO_HELP_LLSH mov ecx, dword ptr [ebp-44H] mov dword ptr [ebp-38H], eax mov dword ptr [ebp-34H], edx mov dword ptr [ebp-3CH], ecx mov edx, bword ptr [ebp-88H] mov eax, edx mov ecx, dword ptr [eax] mov eax, dword ptr [eax+04H] mov dword ptr [ebp-64H], eax mov eax, ecx mov edx, dword ptr [ebp-64H] mov ecx, dword ptr [ebp-40H] call CORINFO_HELP_LRSZ mov ecx, eax mov dword ptr [ebp-18H], ecx mov eax, bword ptr [ebp-88H] mov edx, dword ptr [eax] mov dword ptr [ebp-90H], edx mov eax, dword ptr [eax+04H] mov dword ptr [ebp-94H], eax mov eax, dword ptr [ebp-38H] mov edx, dword ptr [ebp-34H] sub eax, 1 sbb edx, 0 mov dword ptr [ebp-58H], eax mov dword ptr [ebp-5CH], edx mov edx, dword ptr [ebp-90H] and edx, eax mov eax, dword ptr [ebp-94H] and eax, dword ptr [ebp-5CH] mov dword ptr [ebp-50H], edx mov dword ptr [ebp-54H], eax mov ecx, edx or ecx, eax jne SHORT G_M000_IG07 G_M000_IG03: cmp esi, 11 jge SHORT G_M000_IG04 lea ecx, [esi-01H] cmp ecx, 10 jae G_M000_IG21 mov ecx, dword ptr [ebp-18H] cmp ecx, dword ptr [4*esi+D1FFAB1EH] jae SHORT G_M000_IG07 G_M000_IG04: xor eax, eax mov dword ptr [edi], eax G_M000_IG05: mov dword ptr [ebx], eax G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG07: push ebx mov ecx, dword ptr [ebp-3CH] neg ecx neg ecx lea edx, [ecx+40H] mov ecx, dword ptr [ebp-18H] call [System.Number+Grisu3:BiggestPowerTen(uint,int,byref):uint] mov edx, eax xor eax, eax mov dword ptr [edi], eax cmp dword ptr [ebx], 0 jle G_M000_IG12 align [0 bytes for IG08] G_M000_IG08: mov eax, dword ptr [ebp-18H] mov ecx, edx xor edx, edx div edx:eax, ecx mov dword ptr [ebp-30H], eax mov dword ptr [ebp-24H], ecx mov edx, eax imul edx, ecx mov eax, dword ptr [ebp-18H] sub eax, edx mov dword ptr [ebp-18H], eax mov edx, dword ptr [edi] cmp edx, dword ptr [ebp+14H] jae G_M000_IG21 mov eax, bword ptr [ebp+10H] mov bword ptr [ebp-8CH], eax mov eax, dword ptr [ebp-30H] add eax, 48 mov ecx, bword ptr [ebp-8CH] mov byte ptr [ecx+edx], al inc dword ptr [edi] dec esi dec dword ptr [ebx] test esi, esi je SHORT G_M000_IG09 mov edx, 0xD1FFAB1E mov ecx, dword ptr [ebp-24H] mov eax, ecx mul edx:eax, edx mov ecx, edx shr ecx, 3 mov dword ptr [ebp-24H], ecx cmp dword ptr [ebx], 0 jg SHORT G_M000_IG11 G_M000_IG09: test esi, esi jne G_M000_IG14 push dword ptr [ebp+14H] push bword ptr [ebp+10H] mov esi, dword ptr [edi] xor edx, edx mov eax, dword ptr [ebp-18H] mov ecx, dword ptr [ebp-40H] call CORINFO_HELP_LLSH mov edi, dword ptr [ebp-50H] add eax, edi mov edi, dword ptr [ebp-54H] adc edx, edi push edx push eax xor edx, edx mov eax, dword ptr [ebp-24H] mov ecx, dword ptr [ebp-40H] call CORINFO_HELP_LLSH push edx push eax push 0 push 1 mov ecx, esi mov edx, ebx call [System.Number+Grisu3:TryRoundWeedCounted(System.Span`1[ubyte],int,ulong,ulong,ulong,byref):bool] G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG11: mov edx, dword ptr [ebp-24H] jmp G_M000_IG08 G_M000_IG12: mov dword ptr [ebp-24H], edx jmp SHORT G_M000_IG09 G_M000_IG13: push eax push edx push 0 push 10 call CORINFO_HELP_LMUL mov dword ptr [ebp-50H], eax mov dword ptr [ebp-54H], edx push dword ptr [ebp-4CH] push dword ptr [ebp-48H] push 0 push 10 call CORINFO_HELP_LMUL mov dword ptr [ebp-48H], eax mov dword ptr [ebp-4CH], edx mov eax, dword ptr [ebp-50H] mov edx, dword ptr [ebp-54H] mov ecx, dword ptr [ebp-40H] call CORINFO_HELP_LRSZ mov ecx, dword ptr [edi] cmp ecx, dword ptr [ebp+14H] jae G_M000_IG21 mov edx, bword ptr [ebp+10H] add eax, 48 mov byte ptr [edx+ecx], al inc dword ptr [edi] dec esi dec dword ptr [ebx] mov eax, dword ptr [ebp-58H] mov ecx, eax and ecx, dword ptr [ebp-50H] mov edx, dword ptr [ebp-5CH] mov eax, edx and eax, dword ptr [ebp-54H] mov dword ptr [ebp-50H], ecx mov dword ptr [ebp-54H], eax mov dword ptr [ebp-5CH], edx G_M000_IG14: test esi, esi jle SHORT G_M000_IG16 mov edx, dword ptr [ebp-50H] cmp dword ptr [ebp-48H], edx mov ecx, dword ptr [ebp-4CH] mov eax, dword ptr [ebp-54H] sbb ecx, eax jb SHORT G_M000_IG13 G_M000_IG15: mov dword ptr [ebp-50H], edx mov dword ptr [ebp-54H], eax G_M000_IG16: test esi, esi je SHORT G_M000_IG19 cmp dword ptr [ebp+14H], 0 jbe SHORT G_M000_IG21 mov eax, bword ptr [ebp+10H] mov byte ptr [eax], 0 xor eax, eax mov dword ptr [edi], eax G_M000_IG17: mov dword ptr [ebx], eax G_M000_IG18: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG19: push dword ptr [ebp+14H] push bword ptr [ebp+10H] mov edx, dword ptr [edi] push dword ptr [ebp-54H] push dword ptr [ebp-50H] push dword ptr [ebp-34H] push dword ptr [ebp-38H] push dword ptr [ebp-4CH] push dword ptr [ebp-48H] mov ecx, edx mov edx, ebx call [System.Number+Grisu3:TryRoundWeedCounted(System.Span`1[ubyte],int,ulong,ulong,ulong,byref):bool] G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 16 G_M000_IG21: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 680 1197: JIT compiled System.Number+Grisu3:TryDigitGenCounted(byref,int,System.Span`1[ubyte],byref,byref) [Tier1, IL size=372, code size=680] ; Assembly listing for method System.Number+Grisu3:BiggestPowerTen(uint,int,byref):uint ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; PGO data available, but IL did not match ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: inc edx imul eax, edx, 0x4D1 sar eax, 12 cmp eax, 10 jae SHORT G_M000_IG06 mov edx, dword ptr [4*eax+D1FFAB1EH] cmp ecx, edx jae SHORT G_M000_IG04 G_M000_IG03: dec eax cmp eax, 10 jae SHORT G_M000_IG06 mov edx, dword ptr [4*eax+D1FFAB1EH] G_M000_IG04: inc eax mov ecx, bword ptr [ebp+08H] mov dword ptr [ecx], eax mov eax, edx G_M000_IG05: pop ebp ret 4 G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 60 1198: JIT compiled System.Number+Grisu3:BiggestPowerTen(uint,int,byref) [Tier1, IL size=60, code size=60] ; Assembly listing for method BenchmarkDotNet.Reports.Measurement:GetAverageTime():Perfolizer.Horology.TimeInterval:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi sub esp, 16 vzeroupper mov esi, edx G_M000_IG02: vmovsd xmm0, qword ptr [ecx+18H] vmovsd qword ptr [esp+08H], xmm0 add ecx, 16 mov eax, dword ptr [ecx] push dword ptr [ecx+04H] push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [esp] vmovsd xmm1, qword ptr [esp+08H] vmovsd xmm0, qword ptr [esp] vdivsd xmm0, xmm1, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, esi call [Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval] G_M000_IG03: add esp, 16 pop esi ret ; Total bytes of code 73 1199: JIT compiled BenchmarkDotNet.Reports.Measurement:GetAverageTime() [Tier1, IL size=20, code size=73] ; Assembly listing for method Perfolizer.Horology.TimeInterval:FromNanoseconds(double):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data G_M000_IG01: vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [esp+04H] vmovsd qword ptr [ecx], xmm0 G_M000_IG03: ret 8 ; Total bytes of code 16 1200: JIT compiled Perfolizer.Horology.TimeInterval:FromNanoseconds(double) [Tier1, IL size=12, code size=16] ; Assembly listing for method Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double):Perfolizer.Horology.TimeInterval ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [esp+0CH] vmulsd xmm0, xmm0, qword ptr [esp+04H] vmovsd qword ptr [ecx], xmm0 G_M000_IG03: ret 16 ; Total bytes of code 22 1201: JIT compiled Perfolizer.Horology.TimeInterval:op_Multiply(Perfolizer.Horology.TimeInterval,double) [Tier1, IL size=15, code size=22] ; Assembly listing for method Perfolizer.Horology.TimeInterval:.ctor(double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [esp+04H] vmovsd qword ptr [ecx], xmm0 G_M000_IG03: ret 8 ; Total bytes of code 16 1202: JIT compiled Perfolizer.Horology.TimeInterval:.ctor(double) [Tier1, IL size=8, code size=16] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: push edx push gword ptr [esp+08H+08H] push gword ptr [esp+04H+0CH] xor edx, edx call [Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this] G_M000_IG03: ret 8 ; Total bytes of code 20 1203: JIT compiled Perfolizer.Horology.TimeInterval:ToString(System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Tier1, IL size=11, code size=20] ; Assembly listing for method Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 24 inlinees with PGO data; 13 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 48 vzeroupper mov edi, ecx mov esi, edx mov ebx, gword ptr [ebp+10H] G_M000_IG02: test esi, esi jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_ALIGN8 vmovsd xmm0, qword ptr [edi] vmovsd qword ptr [eax+08H], xmm0 mov ecx, eax call [Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]):Perfolizer.Horology.TimeUnit] mov esi, eax G_M000_IG04: test ebx, ebx cmove ebx, gword ptr [D1FFAB1EH] mov edx, gword ptr [ebp+0CH] mov ecx, 0xD1FFAB1E test edx, edx cmove edx, ecx mov gword ptr [ebp+0CH], edx mov eax, gword ptr [ebp+08H] test eax, eax cmove eax, gword ptr [D1FFAB1EH] mov gword ptr [ebp+08H], eax vmovsd xmm0, qword ptr [edi] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [D1FFAB1EH] mov edx, esi call [Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit):double] fstp qword ptr [ebp-3CH] vmovsd xmm0, qword ptr [ebp-3CH] vmovsd qword ptr [ebp-14H], xmm0 mov edi, gword ptr [ebp+08H] cmp byte ptr [edi+08H], 0 je G_M000_IG15 G_M000_IG05: mov ecx, gword ptr [esi+0CH] mov edx, dword ptr [edi+04H] cmp byte ptr [ecx], cl push 32 call [System.String:PadLeft(int,ushort):System.String:this] mov esi, eax vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-1CH], xmm0 test ebx, ebx je G_M000_IG14 G_M000_IG06: mov ecx, ebx call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] G_M000_IG07: vmovsd xmm0, qword ptr [ebp-1CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp+0CH] mov edx, eax call [System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String] mov ebx, eax test ebx, ebx je G_M000_IG17 G_M000_IG08: mov edi, dword ptr [ebx+04H] test edi, edi je G_M000_IG17 G_M000_IG09: test esi, esi je G_M000_IG19 G_M000_IG10: mov ecx, dword ptr [esi+04H] test ecx, ecx je G_M000_IG19 G_M000_IG11: lea ecx, [edi+ecx+01H] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-2CH], eax cmp dword ptr [eax+04H], edi jl G_M000_IG31 lea ecx, bword ptr [eax+08H] lea edx, bword ptr [ebx+08H] mov ebx, edi add ebx, ebx push ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, edi mov eax, gword ptr [ebp-2CH] mov edx, dword ptr [eax+04H] sub edx, ecx cmp edx, 1 jl G_M000_IG32 lea ecx, bword ptr [eax+ebx+08H] mov edx, 0xD1FFAB1E add edx, 8 push 2 call [System.Buffer:Memmove(byref,byref,uint)] lea edx, [edi+01H] push esi mov ecx, gword ptr [ebp-2CH] call [System.String:FillStringChecked(System.String,int,System.String)] mov ebx, gword ptr [ebp-2CH] G_M000_IG12: mov eax, ebx G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG14: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] jmp G_M000_IG07 G_M000_IG15: vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-24H], xmm0 test ebx, ebx je G_M000_IG25 G_M000_IG16: mov ecx, ebx call [System.Globalization.NumberFormatInfo:g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] jmp G_M000_IG26 G_M000_IG17: test esi, esi jne SHORT G_M000_IG22 G_M000_IG18: mov ebx, 0xD1FFAB1E jmp G_M000_IG24 G_M000_IG19: mov esi, edi lea ecx, [esi+01H] call System.String:FastAllocateString(int):System.String mov gword ptr [ebp-30H], eax mov edx, dword ptr [eax+04H] mov dword ptr [ebp-28H], edx cmp edi, edx jg G_M000_IG28 G_M000_IG20: lea edi, bword ptr [eax+08H] mov bword ptr [ebp-34H], edi mov ecx, edi add ebx, 8 lea edi, [esi+esi] push edi mov edx, ebx call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, dword ptr [ebp-28H] sub ebx, esi test ebx, ebx jle G_M000_IG29 G_M000_IG21: mov ecx, edi add ecx, bword ptr [ebp-34H] mov edx, 0xD1FFAB1E add edx, 8 push 2 call [System.Buffer:Memmove(byref,byref,uint)] mov ebx, gword ptr [ebp-30H] jmp G_M000_IG12 G_M000_IG22: mov eax, dword ptr [esi+04H] mov ecx, eax test ecx, ecx je SHORT G_M000_IG18 G_M000_IG23: inc ecx call System.String:FastAllocateString(int):System.String mov ebx, eax cmp dword ptr [ebx+04H], 1 jl G_M000_IG30 lea ecx, bword ptr [ebx+08H] mov edx, 0xD1FFAB1E add edx, 8 push 2 call [System.Buffer:Memmove(byref,byref,uint)] push esi mov ecx, ebx mov edx, 1 call [System.String:FillStringChecked(System.String,int,System.String)] G_M000_IG24: jmp G_M000_IG12 G_M000_IG25: call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo] G_M000_IG26: vmovsd xmm0, qword ptr [ebp-24H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp+0CH] mov edx, eax call [System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String] G_M000_IG27: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG28: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG29: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG30: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG31: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW G_M000_IG32: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, esi call [System.IndexOutOfRangeException:.ctor():this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 751 1204: JIT compiled Perfolizer.Horology.TimeInterval:ToString(Perfolizer.Horology.TimeUnit,System.Globalization.CultureInfo,System.String,Perfolizer.Common.UnitPresentation) [Tier1, IL size=141, code size=751] ; Assembly listing for method Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push esi sub esp, 16 vzeroupper mov esi, edx G_M000_IG02: add ecx, 4 mov eax, dword ptr [ecx] push dword ptr [ecx+04H] push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [esp+08H] vmovsd xmm0, qword ptr [esp+08H] vmulsd xmm0, xmm0, qword ptr [esp+18H] vmovsd qword ptr [esp], xmm0 test esi, esi jne SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E mov edx, 1 call CORINFO_HELP_NEWARR_1_ALIGN8 vmovsd xmm1, qword ptr [esp+18H] vmovsd qword ptr [eax+08H], xmm1 mov ecx, eax call [Perfolizer.Horology.TimeUnit:GetBestTimeUnit(double[]):Perfolizer.Horology.TimeUnit] mov esi, eax G_M000_IG04: add esi, 4 mov eax, dword ptr [esi] push dword ptr [esi+04H] push eax call CORINFO_HELP_LNG2DBL fstp qword ptr [esp+08H] vmovsd xmm1, qword ptr [esp] vmovsd xmm0, qword ptr [esp+08H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [esp+08H], xmm0 fld qword ptr [esp+08H] G_M000_IG05: add esp, 16 pop esi ret 8 ; Total bytes of code 134 1205: JIT compiled Perfolizer.Horology.TimeUnit:Convert(double,Perfolizer.Horology.TimeUnit,Perfolizer.Horology.TimeUnit) [Tier1, IL size=37, code size=134] ; Assembly listing for method Perfolizer.Common.UnitPresentation:get_IsVisible():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: movzx eax, byte ptr [ecx+08H] G_M000_IG03: ret ; Total bytes of code 5 1206: JIT compiled Perfolizer.Common.UnitPresentation:get_IsVisible() [Tier1, IL size=7, code size=5] ; Assembly listing for method Perfolizer.Horology.TimeUnit:get_Name():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, gword ptr [ecx+0CH] G_M000_IG03: ret ; Total bytes of code 4 1207: JIT compiled Perfolizer.Horology.TimeUnit:get_Name() [Tier1, IL size=7, code size=4] ; Assembly listing for method Perfolizer.Common.UnitPresentation:get_MinUnitWidth():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 4 1208: JIT compiled Perfolizer.Common.UnitPresentation:get_MinUnitWidth() [Tier1, IL size=7, code size=4] ; Assembly listing for method System.String:PadLeft(int):System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: push 32 call [System.String:PadLeft(int,ushort):System.String:this] G_M000_IG03: ret ; Total bytes of code 9 1209: JIT compiled System.String:PadLeft(int) [Tier1, IL size=10, code size=9] ; Assembly listing for method System.Number+BigInteger:Clear(uint):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: G_M000_IG02: 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 1210: JIT compiled System.Number+BigInteger:Clear(uint) [Tier1, IL size=26, code size=15] ; Assembly listing for method System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 5 inlinees with PGO data; 29 single block inlinees; 11 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 mov ebx, ecx mov esi, edx mov ecx, dword ptr [ebp+10H] mov edi, dword ptr [ebp+0CH] G_M000_IG02: xor edx, edx cmp byte ptr [esi+0AH], 3 sete dl mov dword ptr [ebp-10H], edx mov dword ptr [ebp+10H], ecx movzx ecx, cx mov dword ptr [ebp-30H], ecx cmp ecx, 82 ja SHORT G_M000_IG05 G_M000_IG03: lea edx, [ecx-43H] mov dword ptr [ebp-34H], edx cmp edx, 4 ja SHORT G_M000_IG04 lea edx, [@RWD00] mov eax, dword ptr [ebp-34H] mov edx, dword ptr [edx+4*eax] lea ecx, G_M000_IG02 add edx, ecx jmp edx G_M000_IG04: lea edx, [ecx-4EH] cmp edx, 4 ja G_M000_IG42 lea ecx, [@RWD20] mov ecx, dword ptr [ecx+4*edx] lea eax, G_M000_IG02 add ecx, eax jmp ecx G_M000_IG05: lea edx, [ecx-63H] cmp edx, 4 ja SHORT G_M000_IG06 lea ecx, [@RWD40] mov ecx, dword ptr [ecx+4*edx] lea eax, G_M000_IG02 add ecx, eax jmp ecx G_M000_IG06: lea edx, [ecx-6EH] cmp edx, 4 ja G_M000_IG42 lea ecx, [@RWD60] mov ecx, dword ptr [ecx+4*edx] lea eax, G_M000_IG02 add ecx, eax jmp ecx G_M000_IG07: test edi, edi jge SHORT G_M000_IG08 mov edi, gword ptr [ebp+08H] mov edx, dword ptr [edi+88H] mov eax, edx mov gword ptr [ebp+08H], edi mov edi, eax G_M000_IG08: mov edx, edi add edx, dword ptr [esi+04H] push dword ptr [ebp-10H] mov ecx, esi call [System.Number:RoundNumber(byref,int,bool)] push edi push gword ptr [ebp+08H] mov ecx, ebx mov edx, esi call [System.Number:FormatCurrency[ushort](byref,byref,int,System.Globalization.NumberFormatInfo)] jmp G_M000_IG40 G_M000_IG09: test edi, edi jge SHORT G_M000_IG10 mov edi, gword ptr [ebp+08H] mov edx, dword ptr [edi+84H] mov eax, edx mov gword ptr [ebp+08H], edi mov edi, eax G_M000_IG10: mov edx, edi add edx, dword ptr [esi+04H] push dword ptr [ebp-10H] mov ecx, esi call [System.Number:RoundNumber(byref,int,bool)] cmp byte ptr [esi+08H], 0 je SHORT G_M000_IG15 mov eax, gword ptr [ebp+08H] mov ecx, gword ptr [eax+14H] test ecx, ecx je SHORT G_M000_IG13 G_M000_IG11: lea edx, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] G_M000_IG12: mov bword ptr [ebp-3CH], edx mov dword ptr [ebp-24H], ecx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-18H], edx lea ecx, bword ptr [ebx+08H] mov edx, bword ptr [ecx] mov bword ptr [ebp-38H], edx mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-24H], 1 jne SHORT G_M000_IG14 mov edx, dword ptr [ebp-18H] cmp edx, ecx jae SHORT G_M000_IG14 mov ecx, bword ptr [ebp-3CH] movzx ecx, word ptr [ecx] mov eax, bword ptr [ebp-38H] mov word ptr [eax+2*edx], cx inc edx mov dword ptr [ebx+04H], edx jmp SHORT G_M000_IG15 G_M000_IG13: xor edx, edx xor ecx, ecx jmp SHORT G_M000_IG12 G_M000_IG14: push dword ptr [ebp-24H] push bword ptr [ebp-3CH] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG15: mov eax, gword ptr [ebp+08H] mov ecx, gword ptr [eax+18H] test ecx, ecx je SHORT G_M000_IG18 G_M000_IG16: lea edx, bword ptr [ecx+08H] mov eax, dword ptr [ecx+04H] G_M000_IG17: xor ecx, ecx push edi push 0 push eax push edx push 0 push ecx mov ecx, ebx mov edx, esi call [System.Number:FormatFixed[ushort](byref,byref,int,int[],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort])] jmp G_M000_IG40 G_M000_IG18: xor edx, edx xor eax, eax jmp SHORT G_M000_IG17 G_M000_IG19: test edi, edi jge SHORT G_M000_IG20 mov edi, gword ptr [ebp+08H] mov edx, dword ptr [edi+84H] mov eax, edx mov gword ptr [ebp+08H], edi mov edi, eax G_M000_IG20: mov edx, edi add edx, dword ptr [esi+04H] push dword ptr [ebp-10H] mov ecx, esi call [System.Number:RoundNumber(byref,int,bool)] push edi push gword ptr [ebp+08H] mov ecx, ebx mov edx, esi call [System.Number:FormatNumber[ushort](byref,byref,int,System.Globalization.NumberFormatInfo)] jmp G_M000_IG40 G_M000_IG21: mov ecx, 6 test edi, edi cmovl edi, ecx inc edi push dword ptr [ebp-10H] mov ecx, esi mov edx, edi call [System.Number:RoundNumber(byref,int,bool)] cmp byte ptr [esi+08H], 0 je SHORT G_M000_IG26 mov eax, gword ptr [ebp+08H] mov ecx, gword ptr [eax+14H] test ecx, ecx je SHORT G_M000_IG24 G_M000_IG22: lea edx, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] G_M000_IG23: mov bword ptr [ebp-44H], edx mov dword ptr [ebp-28H], ecx mov edx, dword ptr [ebx+04H] mov dword ptr [ebp-1CH], edx lea ecx, bword ptr [ebx+08H] mov edx, bword ptr [ecx] mov bword ptr [ebp-40H], edx mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-28H], 1 jne SHORT G_M000_IG25 mov edx, dword ptr [ebp-1CH] cmp edx, ecx jae SHORT G_M000_IG25 mov ecx, bword ptr [ebp-44H] movzx ecx, word ptr [ecx] mov eax, bword ptr [ebp-40H] mov word ptr [eax+2*edx], cx inc edx mov dword ptr [ebx+04H], edx jmp SHORT G_M000_IG26 G_M000_IG24: xor edx, edx xor ecx, ecx jmp SHORT G_M000_IG23 G_M000_IG25: push dword ptr [ebp-28H] push bword ptr [ebp-44H] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG26: push edi push gword ptr [ebp+08H] push dword ptr [ebp-30H] mov ecx, ebx mov edx, esi call [System.Number:FormatScientific[ushort](byref,byref,int,System.Globalization.NumberFormatInfo,ushort)] jmp G_M000_IG40 G_M000_IG27: xor eax, eax test edi, edi jg SHORT G_M000_IG28 cmp byte ptr [esi+0AH], 2 jne SHORT G_M000_IG29 cmp edi, -1 jne SHORT G_M000_IG29 mov dword ptr [ebp-14H], 1 lea ecx, bword ptr [esi+0CH] cmp dword ptr [ecx+04H], 0 jbe G_M000_IG43 mov ecx, bword ptr [ecx] cmp byte ptr [ecx], 0 jne SHORT G_M000_IG31 jmp G_M000_IG36 G_M000_IG28: mov dword ptr [ebp-14H], eax jmp SHORT G_M000_IG30 G_M000_IG29: mov edi, dword ptr [esi] mov dword ptr [ebp-14H], eax G_M000_IG30: push dword ptr [ebp-10H] mov ecx, esi mov edx, edi call [System.Number:RoundNumber(byref,int,bool)] G_M000_IG31: cmp byte ptr [esi+08H], 0 je SHORT G_M000_IG36 mov edx, gword ptr [ebp+08H] mov ecx, gword ptr [edx+14H] test ecx, ecx je SHORT G_M000_IG34 G_M000_IG32: lea eax, bword ptr [ecx+08H] mov ecx, dword ptr [ecx+04H] G_M000_IG33: mov bword ptr [ebp-4CH], eax mov dword ptr [ebp-2CH], ecx mov eax, dword ptr [ebx+04H] mov dword ptr [ebp-20H], eax lea ecx, bword ptr [ebx+08H] mov eax, bword ptr [ecx] mov bword ptr [ebp-48H], eax mov ecx, dword ptr [ecx+04H] cmp dword ptr [ebp-2CH], 1 jne SHORT G_M000_IG35 mov eax, dword ptr [ebp-20H] cmp eax, ecx jae SHORT G_M000_IG35 mov ecx, bword ptr [ebp-4CH] movzx ecx, word ptr [ecx] mov edx, bword ptr [ebp-48H] mov word ptr [edx+2*eax], cx inc eax mov dword ptr [ebx+04H], eax jmp SHORT G_M000_IG36 G_M000_IG34: xor ecx, ecx xor eax, eax mov edx, eax mov eax, ecx mov ecx, edx jmp SHORT G_M000_IG33 G_M000_IG35: push dword ptr [ebp-2CH] push bword ptr [ebp-4CH] mov ecx, ebx call [System.Collections.Generic.ValueListBuilder`1[ushort]:AppendMultiChar(System.ReadOnlySpan`1[ushort]):this] G_M000_IG36: push edi push gword ptr [ebp+08H] mov edi, dword ptr [ebp+10H] add edi, -2 movzx ecx, di push ecx push dword ptr [ebp-14H] mov ecx, ebx mov edx, esi call [System.Number:FormatGeneral[ushort](byref,byref,int,System.Globalization.NumberFormatInfo,ushort,bool)] jmp SHORT G_M000_IG40 G_M000_IG37: test edi, edi jge SHORT G_M000_IG38 mov edi, gword ptr [ebp+08H] mov edx, dword ptr [edi+A0H] mov eax, edx mov gword ptr [ebp+08H], edi mov edi, eax G_M000_IG38: lea edx, bword ptr [esi+04H] add dword ptr [edx], 2 mov edx, edi add edx, dword ptr [esi+04H] push dword ptr [ebp-10H] mov ecx, esi call [System.Number:RoundNumber(byref,int,bool)] push edi push gword ptr [ebp+08H] mov ecx, ebx mov edx, esi call [System.Number:FormatPercent[ushort](byref,byref,int,System.Globalization.NumberFormatInfo)] jmp SHORT G_M000_IG40 G_M000_IG39: mov ecx, dword ptr [ebp-30H] add ecx, -11 movzx eax, cx mov dword ptr [ebp+10H], eax jmp G_M000_IG27 G_M000_IG40: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 12 G_M000_IG41: call CORINFO_HELP_OVERFLOW G_M000_IG42: call [System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()] int3 G_M000_IG43: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG42 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG27 - G_M000_IG02 RWD20 dd G_M000_IG19 - G_M000_IG02 dd G_M000_IG42 - G_M000_IG02 dd G_M000_IG37 - G_M000_IG02 dd G_M000_IG42 - G_M000_IG02 dd G_M000_IG39 - G_M000_IG02 RWD40 dd G_M000_IG07 - G_M000_IG02 dd G_M000_IG42 - G_M000_IG02 dd G_M000_IG21 - G_M000_IG02 dd G_M000_IG09 - G_M000_IG02 dd G_M000_IG27 - G_M000_IG02 RWD60 dd G_M000_IG19 - G_M000_IG02 dd G_M000_IG42 - G_M000_IG02 dd G_M000_IG37 - G_M000_IG02 dd G_M000_IG42 - G_M000_IG02 dd G_M000_IG39 - G_M000_IG02 ; Total bytes of code 907 1211: JIT compiled System.Number:NumberToString[ushort](byref,byref,ushort,int,System.Globalization.NumberFormatInfo) [Tier1, IL size=503, code size=907] ; Assembly listing for method BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String):System.String ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: test ecx, ecx jne SHORT G_M000_IG05 G_M000_IG03: xor eax, eax G_M000_IG04: ret G_M000_IG05: push 0xD1FFAB1E mov edx, 0xD1FFAB1E call [System.String:Replace(System.String,System.String):System.String:this] G_M000_IG06: ret ; Total bytes of code 24 1212: JIT compiled BenchmarkDotNet.Helpers.AsciiHelper:ToAscii(System.String) [Tier1, IL size=22, code size=24] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:WriteLine(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, gword ptr [ecx+0CH] call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] G_M000_IG03: pop ebp ret ; Total bytes of code 14 1213: JIT compiled BenchmarkDotNet.Engines.Engine:WriteLine(System.String) [Tier1, IL size=13, code size=14] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:Consume(byref):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: pop ebp ret ; Total bytes of code 5 1214: JIT compiled BenchmarkDotNet.Engines.Engine:Consume(byref) [Tier1, IL size=1, code size=5] ; Assembly listing for method BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 3 inlinees with PGO data; 7 single block inlinees; 9 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 vzeroupper vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-24H], xmm4 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov esi, ecx mov edi, edx mov ebx, dword ptr [ebp+08H] G_M000_IG02: push dword ptr [ebp+10H] push dword ptr [ebp+0CH] mov eax, ebx mov edx, eax sar edx, 31 push edx push eax call CORINFO_HELP_LMOD or edx, eax jne SHORT G_M000_IG04 vxorps ymm0, ymm0 vmovdqu ymmword ptr [ebp-44H], ymm0 mov ecx, gword ptr [esi+04H] mov esi, dword ptr [ebp+1CH] mov dword ptr [ebp-44H], esi mov esi, dword ptr [ebp+18H] mov dword ptr [ebp-40H], esi mov esi, dword ptr [ebp+14H] mov dword ptr [ebp-3CH], esi mov edx, dword ptr [ebp+0CH] mov eax, dword ptr [ebp+10H] mov dword ptr [ebp-34H], edx mov dword ptr [ebp-30H], eax mov dword ptr [ebp-2CH], ebx sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-44H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-34H] vmovdqu xmmword ptr [esp+10H], xmm0 mov edx, edi call [BenchmarkDotNet.Engines.IEngine:RunIteration(BenchmarkDotNet.Engines.IterationData):BenchmarkDotNet.Reports.Measurement:this] G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG04: push 2 lea ecx, [ebp-24H] mov edx, 53 call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this] mov ecx, dword ptr [ebp-1CH] cmp ecx, dword ptr [ebp-10H] ja G_M000_IG09 mov edx, bword ptr [ebp-14H] lea edx, bword ptr [edx+2*ecx] mov eax, dword ptr [ebp-10H] sub eax, ecx mov ecx, edx cmp eax, 12 jb SHORT G_M000_IG05 mov edx, 0xD1FFAB1E add edx, 8 push 24 call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-1CH] add ecx, 12 mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG06 G_M000_IG05: lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this] G_M000_IG06: push dword ptr [ebp+10H] push dword ptr [ebp+0CH] lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[long](long):this] mov ecx, dword ptr [ebp-1CH] cmp ecx, dword ptr [ebp-10H] ja SHORT G_M000_IG09 mov edx, bword ptr [ebp-14H] lea edx, bword ptr [edx+2*ecx] mov eax, dword ptr [ebp-10H] sub eax, ecx mov ecx, edx cmp eax, 39 jb SHORT G_M000_IG07 mov edx, 0xD1FFAB1E add edx, 8 push 78 call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-1CH] add ecx, 39 mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG08 G_M000_IG07: lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this] G_M000_IG08: lea ecx, [ebp-24H] mov edx, ebx call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this] mov esi, dword ptr [ebp-1CH] cmp esi, dword ptr [ebp-10H] jbe SHORT G_M000_IG10 G_M000_IG09: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 G_M000_IG10: mov ecx, bword ptr [ebp-14H] lea ecx, bword ptr [ecx+2*esi] mov edx, dword ptr [ebp-10H] sub edx, esi cmp edx, 2 jb SHORT G_M000_IG11 mov edx, 0xD1FFAB1E add edx, 8 push 4 call [System.Buffer:Memmove(byref,byref,uint)] mov ecx, dword ptr [ebp-1CH] add ecx, 2 mov dword ptr [ebp-1CH], ecx jmp SHORT G_M000_IG12 G_M000_IG11: lea ecx, [ebp-24H] mov edx, 0xD1FFAB1E call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this] G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax lea ecx, [ebp-24H] call [System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this] mov edx, eax mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 ; Total bytes of code 438 1215: JIT compiled BenchmarkDotNet.Engines.EngineStage:RunIteration(int,int,int,long,int) [Tier1, IL size=109, code size=438] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov dword ptr [ecx], edx mov eax, dword ptr [esp+14H] mov dword ptr [ecx+04H], eax mov eax, dword ptr [esp+10H] mov dword ptr [ecx+08H], eax lea eax, bword ptr [ecx+10H] mov edx, dword ptr [esp+08H] mov dword ptr [eax], edx mov edx, dword ptr [esp+0CH] mov dword ptr [eax+04H], edx mov eax, dword ptr [esp+04H] mov dword ptr [ecx+18H], eax G_M000_IG03: ret 20 ; Total bytes of code 42 1216: JIT compiled BenchmarkDotNet.Engines.IterationData:.ctor(int,int,int,long,int) [Tier1, IL size=38, code size=42] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 39 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 280 vzeroupper vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-64H], xmm4 vmovdqu xmmword ptr [ebp-54H], xmm4 vmovdqu xmmword ptr [ebp-44H], xmm4 vmovdqu xmmword ptr [ebp-34H], xmm4 mov dword ptr [ebp-10H], esp mov dword ptr [ebp-FCH], 0xD1FFAB1E mov bword ptr [ebp-F4H], edx mov ebx, ecx G_M000_IG02: lea edi, [ebp-120H] call CORINFO_HELP_INIT_PINVOKE_FRAME mov eax, ebp mov dword ptr [ebp-10CH], eax mov edi, dword ptr [ebp+18H] mov eax, dword ptr [ebp+1CH] mov dword ptr [ebp-C8H], edi mov dword ptr [ebp-CCH], eax mov edx, dword ptr [ebp+20H] mov dword ptr [ebp-14H], edx push eax push edi lea ecx, bword ptr [ebx+04H] mov edx, dword ptr [ecx] push dword ptr [ecx+04H] push edx call CORINFO_HELP_LMUL mov dword ptr [ebp-D0H], eax mov dword ptr [ebp-D4H], edx mov ecx, dword ptr [ebp+08H] mov dword ptr [ebp-C4H], ecx xor eax, eax test ecx, ecx sete al mov dword ptr [ebp-20H], eax test eax, eax jne SHORT G_M000_IG04 G_M000_IG03: movzx edx, byte ptr [ebx+66H] jmp SHORT G_M000_IG05 G_M000_IG04: xor edi, edi mov edx, edi G_M000_IG05: movzx edx, dl mov dword ptr [ebp-24H], edx test eax, eax jne SHORT G_M000_IG07 G_M000_IG06: mov edi, gword ptr [ebx+10H] jmp SHORT G_M000_IG08 G_M000_IG07: mov edi, gword ptr [ebx+20H] G_M000_IG08: mov gword ptr [ebp-F8H], edi test eax, eax jne SHORT G_M000_IG10 G_M000_IG09: mov edi, gword ptr [ebx+30H] mov ecx, gword ptr [edi+04H] call [edi+0CH]System.Action:Invoke():this G_M000_IG10: mov gword ptr [ebp-F0H], ebx cmp byte ptr [ebx+64H], 0 je G_M000_IG23 G_M000_IG11: push 2 push -1 mov dword ptr [ebp-118H], 0xD1FFAB1E mov edi, esp mov dword ptr [ebp-114H], edi lea edi, G_M000_IG14 mov dword ptr [ebp-110H], edi mov byte ptr [esi+08H], 0 G_M000_IG12: mov edi, 0xD1FFAB1E G_M000_IG13: vzeroupper call edi ; System.GC:_Collect(int,int) G_M000_IG14: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG15 call CORINFO_HELP_STOP_FOR_GC G_M000_IG15: xor eax, eax mov dword ptr [ebp-110H], eax mov dword ptr [ebp-118H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-114H], eax lea eax, G_M000_IG18 mov dword ptr [ebp-110H], eax mov byte ptr [esi+08H], 0 G_M000_IG16: mov eax, 0xD1FFAB1E G_M000_IG17: vzeroupper call eax ; System.GC:_WaitForPendingFinalizers() G_M000_IG18: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG19 call CORINFO_HELP_STOP_FOR_GC G_M000_IG19: xor eax, eax mov dword ptr [ebp-110H], eax push 2 push -1 mov dword ptr [ebp-118H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-114H], eax lea eax, G_M000_IG21 mov dword ptr [ebp-110H], eax mov byte ptr [esi+08H], 0 G_M000_IG20: vzeroupper call edi ; System.GC:_Collect(int,int) G_M000_IG21: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG22 call CORINFO_HELP_STOP_FOR_GC G_M000_IG22: xor ecx, ecx mov dword ptr [ebp-110H], ecx G_M000_IG23: mov edi, gword ptr [D1FFAB1EH] cmp byte ptr [edi+59H], 0 je SHORT G_M000_IG25 G_M000_IG24: push dword ptr [ebp+0CH] push dword ptr [ebp-D4H] push dword ptr [ebp-D0H] mov ecx, gword ptr [D1FFAB1EH] mov edx, dword ptr [ebp-C4H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long):this] G_M000_IG25: cmp dword ptr [ebp-24H], 0 je SHORT G_M000_IG29 G_M000_IG26: mov ebx, gword ptr [ebp-F0H] mov edi, gword ptr [ebx+58H] mov ecx, edi mov edx, 32 mov edi, dword ptr [edi] mov edi, dword ptr [edi+28H] call [edi+14H]System.Random:Next(int):int:this mov ecx, eax test ecx, ecx je SHORT G_M000_IG28 add ecx, 3 shr ecx, 2 G_M000_IG27: push 0 dec ecx jne SHORT G_M000_IG27 lea ecx, [esp] G_M000_IG28: mov dword ptr [ebp-10H], esp test eax, eax jl G_M000_IG55 jmp SHORT G_M000_IG30 G_M000_IG29: xor edi, edi xor edx, edx mov eax, edx mov ecx, edi mov ebx, gword ptr [ebp-F0H] G_M000_IG30: mov bword ptr [ebp-2CH], ecx mov dword ptr [ebp-28H], eax mov edi, gword ptr [ebx+44H] mov ecx, edi call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-D8H], eax mov dword ptr [ebp-DCH], edx push dword ptr [ebp-CCH] push dword ptr [ebp-C8H] mov ecx, dword ptr [ebp-14H] mov eax, ecx sar eax, 31 push eax push ecx call CORINFO_HELP_LDIV push edx push eax mov eax, gword ptr [ebp-F8H] mov ecx, gword ptr [eax+04H] call [eax+0CH]System.Action`1[long]:Invoke(long):this mov ecx, edi call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-E0H], eax mov dword ptr [ebp-E4H], edx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-98H], xmm0 vmovq qword ptr [ebp-88H], xmm0 lea edx, [ebp-A0H] mov ecx, edi call [Perfolizer.Horology.IClock:get_Frequency():Perfolizer.Horology.Frequency:this] mov edi, dword ptr [ebp-D8H] mov dword ptr [ebp-98H], edi mov edi, dword ptr [ebp-DCH] mov dword ptr [ebp-94H], edi mov edi, dword ptr [ebp-E0H] mov dword ptr [ebp-90H], edi mov edi, dword ptr [ebp-E4H] mov dword ptr [ebp-8CH], edi vmovsd xmm0, qword ptr [ebp-A0H] vmovsd qword ptr [ebp-88H], xmm0 vmovdqu xmm0, xmmword ptr [ebp-98H] vmovdqu xmmword ptr [ebp-44H], xmm0 vmovdqu xmm0, xmmword ptr [ebp-90H] vmovdqu xmmword ptr [ebp-3CH], xmm0 mov ecx, gword ptr [D1FFAB1EH] cmp byte ptr [ecx+59H], 0 je SHORT G_M000_IG32 G_M000_IG31: push dword ptr [ebp+0CH] mov edi, dword ptr [ebp-D4H] push edi push dword ptr [ebp-D0H] mov ecx, gword ptr [D1FFAB1EH] mov edx, dword ptr [ebp-C4H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Engines.EngineEventSource:IterationStop(int,int,long):this] mov dword ptr [ebp-D4H], edi G_M000_IG32: cmp dword ptr [ebp-20H], 0 jne SHORT G_M000_IG34 G_M000_IG33: mov eax, gword ptr [ebx+34H] mov ecx, gword ptr [eax+04H] call [eax+0CH]System.Action:Invoke():this G_M000_IG34: cmp dword ptr [ebp-24H], 0 je SHORT G_M000_IG36 G_M000_IG35: mov ecx, ebx call [BenchmarkDotNet.Engines.Engine:RandomizeManagedHeapMemory():this] G_M000_IG36: mov gword ptr [ebp-F0H], ebx cmp byte ptr [ebx+64H], 0 je G_M000_IG50 G_M000_IG37: push 2 push -1 mov dword ptr [ebp-118H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-114H], eax lea eax, G_M000_IG40 mov dword ptr [ebp-110H], eax mov byte ptr [esi+08H], 0 G_M000_IG38: mov eax, 0xD1FFAB1E G_M000_IG39: vzeroupper call eax ; System.GC:_Collect(int,int) G_M000_IG40: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG41 call CORINFO_HELP_STOP_FOR_GC G_M000_IG41: xor eax, eax mov dword ptr [ebp-110H], eax mov dword ptr [ebp-118H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-114H], eax lea eax, G_M000_IG44 mov dword ptr [ebp-110H], eax mov byte ptr [esi+08H], 0 G_M000_IG42: mov eax, 0xD1FFAB1E G_M000_IG43: vzeroupper call eax ; System.GC:_WaitForPendingFinalizers() G_M000_IG44: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG45 call CORINFO_HELP_STOP_FOR_GC G_M000_IG45: xor eax, eax mov dword ptr [ebp-110H], eax push 2 push -1 mov dword ptr [ebp-118H], 0xD1FFAB1E mov eax, esp mov dword ptr [ebp-114H], eax lea eax, G_M000_IG48 mov dword ptr [ebp-110H], eax mov byte ptr [esi+08H], 0 G_M000_IG46: mov eax, 0xD1FFAB1E G_M000_IG47: vzeroupper call eax ; System.GC:_Collect(int,int) G_M000_IG48: mov byte ptr [esi+08H], 1 cmp dword ptr [D1FFAB1EH], 0 je SHORT G_M000_IG49 call CORINFO_HELP_STOP_FOR_GC G_M000_IG49: xor ecx, ecx mov dword ptr [ebp-110H], ecx G_M000_IG50: mov eax, dword ptr [ebp-C4H] mov dword ptr [ebp-68H], eax mov edx, dword ptr [ebp+0CH] mov dword ptr [ebp-6CH], edx mov ecx, dword ptr [ebp+10H] mov dword ptr [ebp-70H], ecx lea ecx, [ebp-44H] call [Perfolizer.Horology.ClockSpan:GetNanoseconds():double:this] fstp qword ptr [ebp-104H] vmovsd xmm0, qword ptr [ebp-104H] mov ecx, dword ptr [ebp-D0H] mov dword ptr [ebp-54H], ecx mov edi, dword ptr [ebp-D4H] mov dword ptr [ebp-50H], edi vmovsd qword ptr [ebp-4CH], xmm0 xor ecx, ecx mov dword ptr [ebp-5CH], ecx mov edi, dword ptr [ebp-68H] mov dword ptr [ebp-64H], edi mov edi, dword ptr [ebp-6CH] mov dword ptr [ebp-60H], edi mov edi, dword ptr [ebp-70H] mov dword ptr [ebp-58H], edi lea ecx, [ebp-64H] call [BenchmarkDotNet.Reports.Measurement:ToString():System.String:this] mov edx, eax mov ebx, gword ptr [ebp-F0H] mov ecx, gword ptr [ebx+0CH] call [BenchmarkDotNet.Engines.IHost:WriteLine(System.String):this] cmp dword ptr [ebp-60H], 0 jne SHORT G_M000_IG53 G_M000_IG51: mov ecx, gword ptr [ebx+48H] vmovdqu ymm0, ymmword ptr [ebp-64H] vmovdqu ymmword ptr [ebp-C0H], ymm0 inc dword ptr [ecx+0CH] mov eax, gword ptr [ecx+04H] mov edx, dword ptr [ecx+08H] mov edi, dword ptr [eax+04H] cmp edi, edx jbe SHORT G_M000_IG52 lea edi, [edx+01H] mov dword ptr [ecx+08H], edi shl edx, 5 vmovdqu ymm0, ymmword ptr [ebp-C0H] vmovdqu ymmword ptr [eax+edx+08H], ymm0 jmp SHORT G_M000_IG53 G_M000_IG52: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp-C0H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp-B0H] vmovdqu xmmword ptr [esp+10H], xmm0 call [System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:AddWithResize(BenchmarkDotNet.Reports.Measurement):this] G_M000_IG53: lea edx, [ebp-2CH] mov ecx, ebx call [BenchmarkDotNet.Engines.Engine:Consume(byref):this] mov edi, bword ptr [ebp-F4H] vmovdqu ymm0, ymmword ptr [ebp-64H] vmovdqu ymmword ptr [edi], ymm0 mov eax, bword ptr [ebp-11CH] mov dword ptr [esi+0CH], eax cmp dword ptr [ebp-FCH], 0xD1FFAB1E je SHORT G_M000_IG54 call CORINFO_HELP_FAIL_FAST G_M000_IG54: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 32 G_M000_IG55: call [System.ThrowHelper:ThrowArgumentOutOfRangeException()] int3 ; Total bytes of code 1372 1217: JIT compiled BenchmarkDotNet.Engines.Engine:RunIteration(BenchmarkDotNet.Engines.IterationData) [Tier1, IL size=361, code size=1372] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_InvokeCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: add ecx, 16 mov eax, dword ptr [ecx] mov edx, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 9 1218: JIT compiled BenchmarkDotNet.Engines.IterationData:get_InvokeCount() [Tier1, IL size=7, code size=9] ; Assembly listing for method BenchmarkDotNet.Engines.IterationData:get_UnrollFactor():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, dword ptr [ecx+18H] G_M000_IG03: ret ; Total bytes of code 4 1219: JIT compiled BenchmarkDotNet.Engines.IterationData:get_UnrollFactor() [Tier1, IL size=7, code size=4] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: add ecx, 4 mov eax, dword ptr [ecx] mov edx, dword ptr [ecx+04H] G_M000_IG03: ret ; Total bytes of code 9 1220: JIT compiled BenchmarkDotNet.Engines.Engine:get_OperationsPerInvoke() [Tier1, IL size=7, code size=9] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi mov esi, dword ptr [ebp+10H] G_M000_IG02: cmp esi, 3 ja G_M000_IG11 lea eax, [@RWD00] mov eax, dword ptr [eax+4*esi] lea edi, G_M000_IG02 add eax, edi jmp eax G_M000_IG03: test edx, edx jne SHORT G_M000_IG04 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 3 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp G_M000_IG10 G_M000_IG04: cmp edx, 1 jne G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 5 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG05: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 7 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG06: test edx, edx jne SHORT G_M000_IG07 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 9 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG07: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 13 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG08: test edx, edx jne SHORT G_M000_IG09 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 11 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] jmp SHORT G_M000_IG10 G_M000_IG09: cmp edx, 1 jne SHORT G_M000_IG11 push dword ptr [ebp+0CH] push dword ptr [ebp+08H] mov edx, 15 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this] G_M000_IG10: pop esi pop edi pop ebp ret 12 G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov edi, eax mov dword ptr [edi+04H], esi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0xF932 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edx, eax push edi push 0 mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 RWD00 dd G_M000_IG03 - G_M000_IG02 dd G_M000_IG05 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 ; Total bytes of code 275 1221: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:IterationStart(int,int,long) [Tier1, IL size=125, code size=275] ; Assembly listing for method System.Diagnostics.Tracing.ActivityTracker:OnStart(System.String,System.String,int,byref,byref,int,bool):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 3 inlinees with PGO data; 16 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 SHORT G_M000_IG10 G_M000_IG03: cmp byte ptr [esi+08H], 0 je SHORT G_M000_IG05 G_M000_IG04: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG05: mov byte ptr [esi+08H], 1 cmp byte ptr [ebp+08H], 0 je SHORT G_M000_IG08 mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-3CH], edx cmp byte ptr [edx+59H], 0 je SHORT G_M000_IG08 G_M000_IG06: movzx ecx, byte ptr [edx+59H] mov dword ptr [ebp-14H], ecx push dword ptr [edx+50H] lea ecx, bword ptr [edx+04H] mov bword ptr [ebp-40H], ecx mov ecx, dword ptr [ecx] mov dword ptr [ebp-44H], ecx mov ecx, bword ptr [ebp-40H] push dword ptr [ecx+04H] push dword ptr [ebp-44H] push 4 push 0 push 128 push 0 mov edx, dword ptr [ebp-14H] mov ecx, gword ptr [ebp-3CH] call [System.Diagnostics.Tracing.EventSource:IsEnabledCommon(bool,int,long,int,long,ubyte):bool:this] test eax, eax je SHORT G_M000_IG08 G_M000_IG07: mov ecx, esi call [System.Diagnostics.Tracing.ActivityTracker:Enable():this] G_M000_IG08: cmp gword ptr [esi+04H], 0 jne SHORT G_M000_IG10 G_M000_IG09: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG10: mov edx, gword ptr [esi+04H] cmp byte ptr [edx], dl mov ecx, edx call [System.Threading.ExecutionContext:GetLocalValue(System.Threading.IAsyncLocal):System.Object] mov edx, eax test edx, edx je SHORT G_M000_IG12 G_M000_IG11: mov ecx, 0xD1FFAB1E cmp dword ptr [edx], ecx jne G_M000_IG28 G_M000_IG12: mov gword ptr [ebp-2CH], edx push dword ptr [ebp+18H] mov ecx, edi mov edx, gword ptr [ebp+1CH] call [System.Diagnostics.Tracing.ActivityTracker:NormalizeActivityName(System.String,System.String,int):System.String] mov gword ptr [ebp-30H], eax xor ecx, ecx cmp byte ptr [ebp+08H], 0 cmovne ecx, gword ptr [D1FFAB1EH] mov edx, ecx mov gword ptr [ebp-34H], edx test edx, edx je SHORT G_M000_IG13 movzx ecx, byte ptr [edx+6DH] jmp SHORT G_M000_IG14 G_M000_IG13: xor ecx, ecx G_M000_IG14: movzx ecx, cl mov dword ptr [ebp-10H], ecx test ecx, ecx je G_M000_IG17 cmp byte ptr [edx], dl push 0xD1FFAB1E push eax mov ecx, edx mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] mov ecx, gword ptr [ebp-2CH] call [System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:LiveActivities(System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.String] push 0xD1FFAB1E push eax mov ecx, gword ptr [ebp-34H] mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] mov edx, gword ptr [ebp-34H] G_M000_IG15: mov eax, gword ptr [ebp-2CH] test eax, eax je G_M000_IG21 cmp dword ptr [eax+20H], 100 jl SHORT G_M000_IG18 vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebx], xmm0 mov edi, bword ptr [ebp+10H] vxorps xmm0, xmm0 vmovdqu xmmword ptr [edi], xmm0 cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG16 cmp byte ptr [edx], dl push 0xD1FFAB1E push 0xD1FFAB1E mov ecx, edx mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] G_M000_IG16: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG17: jmp SHORT G_M000_IG15 G_M000_IG18: test byte ptr [ebp+0CH], 4 jne SHORT G_M000_IG21 mov ecx, gword ptr [ebp-30H] mov gword ptr [ebp-2CH], eax mov edx, eax call [System.Diagnostics.Tracing.ActivityTracker:FindActiveActivity(System.String,System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.Diagnostics.Tracing.ActivityTracker+ActivityInfo] test eax, eax mov eax, gword ptr [ebp-2CH] je SHORT G_M000_IG22 push gword ptr [ebp+1CH] push dword ptr [ebp+18H] push ebx push 1 mov ecx, esi mov edx, edi call [System.Diagnostics.Tracing.ActivityTracker:OnStop(System.String,System.String,int,byref,bool):this] mov ecx, gword ptr [esi+04H] cmp byte ptr [ecx], cl call [System.Threading.ExecutionContext:GetLocalValue(System.Threading.IAsyncLocal):System.Object] mov ecx, eax test ecx, ecx je SHORT G_M000_IG20 G_M000_IG19: mov edx, 0xD1FFAB1E cmp dword ptr [ecx], edx jne G_M000_IG29 G_M000_IG20: mov edi, ecx mov eax, edi mov edx, gword ptr [ebp-34H] G_M000_IG21: mov gword ptr [ebp-2CH], eax test eax, eax jne SHORT G_M000_IG23 push 0 push 1 mov ecx, 0xD1FFAB1E call System.Threading.Interlocked:ExchangeAdd(byref,long):long mov edi, eax add edi, 1 mov eax, edx adc eax, 0 mov dword ptr [ebp-18H], eax jmp SHORT G_M000_IG24 G_M000_IG22: mov edx, gword ptr [ebp-34H] jmp SHORT G_M000_IG21 G_M000_IG23: mov eax, gword ptr [ebp-2CH] lea edi, bword ptr [eax+0CH] push 0 push 1 mov ecx, edi call System.Threading.Interlocked:ExchangeAdd(byref,long):long mov edi, eax add edi, 1 mov eax, edx adc eax, 0 mov dword ptr [ebp-18H], eax G_M000_IG24: mov ecx, bword ptr [ebp+10H] call [System.Diagnostics.Tracing.EventSource:get_CurrentThreadActivityId():System.Guid] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-38H], eax mov ecx, bword ptr [ebp+10H] vmovups xmm0, xmmword ptr [ecx] lea edx, bword ptr [eax+14H] mov ecx, gword ptr [ebp-30H] call CORINFO_HELP_ASSIGN_REF_ECX mov edx, dword ptr [ebp+0CH] mov dword ptr [eax+24H], edx lea edx, bword ptr [eax+18H] mov ecx, gword ptr [ebp-2CH] call CORINFO_HELP_ASSIGN_REF_ECX lea edx, bword ptr [eax+04H] mov dword ptr [edx], edi mov edi, dword ptr [ebp-18H] mov dword ptr [edx+04H], edi test ecx, ecx jne SHORT G_M000_IG25 xor edx, edx jmp SHORT G_M000_IG26 G_M000_IG25: mov edx, dword ptr [ecx+20H] inc edx G_M000_IG26: mov dword ptr [eax+20H], edx vmovups xmmword ptr [eax+3CH], xmm0 lea edx, bword ptr [eax+1CH] push edx lea edx, bword ptr [eax+2CH] mov ecx, eax call [System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:CreateActivityPathGuid(byref,byref):this] mov edi, gword ptr [ebp-38H] mov ecx, gword ptr [esi+04H] xor edx, edx cmp gword ptr [ecx+04H], 0 setne dl push edx mov edx, edi call [System.Threading.ExecutionContext:SetLocalValue(System.Threading.IAsyncLocal,System.Object,bool)] vmovups xmm0, xmmword ptr [edi+2CH] vmovups xmmword ptr [ebx], xmm0 cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG27 mov ecx, edi call [System.Diagnostics.Tracing.ActivityTracker+ActivityInfo:LiveActivities(System.Diagnostics.Tracing.ActivityTracker+ActivityInfo):System.String] mov edx, gword ptr [ebp-34H] cmp byte ptr [edx], dl push 0xD1FFAB1E push eax mov ecx, edx mov edx, 23 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String):this] push 0 mov ecx, ebx mov edx, 0xD1FFAB1E call [System.Guid:ToString(System.String,System.IFormatProvider):System.String:this] mov esi, eax push 0 mov ecx, bword ptr [ebp+10H] mov edx, 0xD1FFAB1E call [System.Guid:ToString(System.String,System.IFormatProvider):System.String:this] push 0xD1FFAB1E push esi push eax mov ecx, gword ptr [ebp-34H] mov edx, 24 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this] G_M000_IG27: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 24 G_M000_IG28: mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 G_M000_IG29: mov ecx, edx mov edx, eax call [CORINFO_HELP_CHKCASTCLASS_SPECIAL] int3 ; Total bytes of code 787 1222: JIT compiled System.Diagnostics.Tracing.ActivityTracker:OnStart(System.String,System.String,int,byref,byref,int,bool) [Tier1, IL size=389, code size=787] ; Assembly listing for method System.Span`1[ubyte]:get_Empty():System.Span`1[ubyte] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: xor eax, eax mov dword ptr [ecx], eax mov dword ptr [ecx+04H], eax G_M000_IG03: ret ; Total bytes of code 8 1223: JIT compiled System.Span`1[ubyte]:get_Empty() [Tier1, IL size=10, code size=8] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_Clock():Perfolizer.Horology.IClock:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: mov eax, gword ptr [ecx+44H] G_M000_IG03: ret ; Total bytes of code 4 1224: JIT compiled BenchmarkDotNet.Engines.Engine:get_Clock() [Tier1, IL size=7, code size=4] ; Assembly listing for method Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock):Perfolizer.Horology.StartedClock ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 16 mov esi, ecx mov edi, edx G_M000_IG02: mov ecx, edi call [Perfolizer.Horology.IClock:GetTimestamp():long:this] mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], edx mov edx, esi mov eax, dword ptr [ebp-18H] mov dword ptr [edx], eax mov eax, dword ptr [ebp-14H] mov dword ptr [edx+04H], eax lea edx, bword ptr [esi+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EDI G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 54 1225: JIT compiled Perfolizer.Horology.ClockExtensions:Start(Perfolizer.Horology.IClock) [Tier1, IL size=13, code size=54] ; Assembly listing for method Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: mov eax, edx G_M000_IG02: lea edx, bword ptr [ecx+08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, dword ptr [esp+04H] mov dword ptr [ecx], eax mov eax, dword ptr [esp+08H] mov dword ptr [ecx+04H], eax G_M000_IG03: ret 8 ; Total bytes of code 26 1226: JIT compiled Perfolizer.Horology.StartedClock:.ctor(Perfolizer.Horology.IClock,long) [Tier1, IL size=15, code size=26] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ecx+20H] vmovsd qword ptr [esp], xmm0 fld qword ptr [esp] G_M000_IG03: add esp, 8 ret ; Total bytes of code 23 1227: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:get_Margin() [Tier1, IL size=7, code size=23] ; Assembly listing for method BenchmarkDotNet.Engines.StoppingResult:CreateFinished(System.String):BenchmarkDotNet.Engines.StoppingResult ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 16 xor eax, eax mov dword ptr [ebp-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 1228: JIT compiled BenchmarkDotNet.Engines.StoppingResult:CreateFinished(System.String) [Tier0, IL size=8, code size=63] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:BeforeMainRun(BenchmarkDotNet.Engines.IHost) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, 2 call [BenchmarkDotNet.Engines.IHost:SendSignal(int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 1229: JIT compiled BenchmarkDotNet.Engines.HostExtensions:BeforeMainRun(BenchmarkDotNet.Engines.IHost) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:RunWorkload(long,int,bool):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+10H] push dword ptr [ebp+0CH] push 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 1230: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:RunWorkload(long,int,bool) [Tier0, IL size=12, code size=50] ; Assembly listing for method BenchmarkDotNet.Engines.EngineActualStage:Run(long,int,bool,int,bool):System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vxorps xmm4, xmm4 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 1231: JIT compiled BenchmarkDotNet.Engines.EngineActualStage:Run(long,int,bool,int,bool) [Tier0, IL size=69, code size=260] ; Assembly listing for method System.Number+BigInteger:Multiply(byref,uint,byref) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; optimized using Static PGO ; ebp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 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, 28 mov esi, edx mov ebx, bword ptr [ebp+08H] G_M000_IG02: mov edi, dword ptr [ecx] cmp edi, 1 jle SHORT G_M000_IG08 cmp esi, 1 jbe SHORT G_M000_IG09 xor eax, eax xor edx, edx mov dword ptr [ebp-14H], edx test edi, edi jle SHORT G_M000_IG07 G_M000_IG03: mov bword ptr [ebp-28H], ecx mov dword ptr [ebp-10H], eax mov ecx, dword ptr [ecx+4*eax+04H] mov eax, ecx mul edx:eax, esi mov ecx, dword ptr [ebp-14H] add ecx, eax adc edx, 0 cmp byte ptr [ebx], bl mov eax, dword ptr [ebp-10H] mov dword ptr [ebx+4*eax+04H], ecx mov ecx, edx inc eax cmp eax, edi jl SHORT G_M000_IG06 G_M000_IG04: test ecx, ecx jne SHORT G_M000_IG11 mov dword ptr [ebx], edi G_M000_IG05: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG06: mov dword ptr [ebp-14H], ecx mov ecx, bword ptr [ebp-28H] jmp SHORT G_M000_IG03 G_M000_IG07: mov ecx, dword ptr [ebp-14H] jmp SHORT G_M000_IG04 G_M000_IG08: call [System.Number+BigInteger:ToUInt32():uint:this] mul edx:eax, esi push edx push eax mov ecx, ebx call [System.Number+BigInteger:SetUInt64(byref,ulong)] jmp SHORT G_M000_IG05 G_M000_IG09: test esi, esi jne SHORT G_M000_IG10 xor ecx, ecx mov dword ptr [ebx], ecx jmp SHORT G_M000_IG05 G_M000_IG10: mov bword ptr [ebp-28H], ecx mov ecx, ebx mov edx, bword ptr [ebp-28H] call [System.Number+BigInteger:SetValue(byref,byref)] jmp SHORT G_M000_IG05 G_M000_IG11: cmp byte ptr [ebx], bl mov dword ptr [ebx+4*eax+04H], ecx inc edi mov dword ptr [ebx], edi jmp SHORT G_M000_IG05 ; Total bytes of code 161 1232: JIT compiled System.Number+BigInteger:Multiply(byref,uint,byref) [Tier1 with Static PGO, IL size=158, code size=161] ; Assembly listing for method System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int):BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp vzeroupper mov eax, dword ptr [ebp+08H] G_M000_IG02: cmp eax, dword ptr [ecx+08H] jae SHORT G_M000_IG04 mov ecx, gword ptr [ecx+04H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG05 shl eax, 5 vmovdqu ymm0, ymmword ptr [ecx+eax+08H] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG03: vzeroupper pop ebp ret 4 G_M000_IG04: call [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()] int3 G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 55 1233: JIT compiled System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement]:get_Item(int) [Tier1, IL size=27, code size=55] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 8 vzeroupper mov esi, ecx vmovsd xmm0, qword ptr [ebp+14H] vmovsd xmm1, qword ptr [ebp+0CH] mov ecx, dword ptr [ebp+08H] G_M000_IG02: mov dword ptr [esi], edx vmovsd qword ptr [ebp+14H], xmm0 vmovsd qword ptr [esi+08H], xmm0 vmovsd qword ptr [ebp+0CH], xmm1 vmovsd qword ptr [esi+10H], xmm1 mov dword ptr [esi+18H], ecx cmp edx, 2 jle SHORT G_M000_IG04 G_M000_IG03: call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int):double] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmulsd xmm0, xmm0, qword ptr [ebp+0CH] jmp SHORT G_M000_IG05 G_M000_IG04: vmovsd xmm1, qword ptr [@RWD00] vmovaps xmm0, xmm1 G_M000_IG05: vmovsd qword ptr [esi+20H], xmm0 vmovsd xmm0, qword ptr [ebp+14H] vsubsd xmm1, xmm0, qword ptr [esi+20H] vmovsd qword ptr [esi+28H], xmm1 vaddsd xmm0, xmm0, qword ptr [esi+20H] vmovsd qword ptr [esi+30H], xmm0 G_M000_IG06: lea esp, [ebp-04H] pop esi pop ebp ret 20 RWD00 dq FFF8000000000000h ; -nan(ind) ; Total bytes of code 126 1234: JIT compiled Perfolizer.Mathematics.Common.ConfidenceInterval:.ctor(double,double,int,int) [Tier1, IL size=89, code size=126] ; Assembly listing for method BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 3 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 40 vzeroupper G_M000_IG02: test dl, 1 jne SHORT G_M000_IG05 G_M000_IG03: mov eax, edx shr eax, 31 add edx, eax sar edx, 1 lea eax, [edx-01H] cmp eax, dword ptr [ecx+08H] jae G_M000_IG07 mov esi, gword ptr [ecx+04H] cmp eax, dword ptr [esi+04H] jae G_M000_IG08 shl eax, 5 vmovdqu ymm0, ymmword ptr [esi+eax+08H] vmovdqu ymmword ptr [ebp-24H], ymm0 vmovsd xmm0, qword ptr [ebp-0CH] cmp edx, dword ptr [ecx+08H] jae SHORT G_M000_IG07 mov ecx, gword ptr [ecx+04H] cmp edx, dword ptr [ecx+04H] jae SHORT G_M000_IG08 shl edx, 5 vmovdqu ymm1, ymmword ptr [ecx+edx+08H] vmovdqu ymmword ptr [ebp-24H], ymm1 vaddsd xmm0, xmm0, qword ptr [ebp-0CH] vmulsd xmm0, xmm0, qword ptr [@RWD00] vmovsd qword ptr [ebp-2CH], xmm0 fld qword ptr [ebp-2CH] G_M000_IG04: vzeroupper lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG05: mov eax, edx shr eax, 31 add eax, edx mov edx, eax sar edx, 1 mov eax, edx cmp eax, dword ptr [ecx+08H] jae SHORT G_M000_IG07 mov edx, gword ptr [ecx+04H] cmp eax, dword ptr [edx+04H] jae SHORT G_M000_IG08 shl eax, 5 vmovdqu ymm0, ymmword ptr [edx+eax+08H] vmovdqu ymmword ptr [ebp-24H], ymm0 vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-2CH], xmm0 fld qword ptr [ebp-2CH] G_M000_IG06: vzeroupper lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG07: call [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()] int3 G_M000_IG08: call CORINFO_HELP_RNGCHKFAIL int3 RWD00 dq 3FE0000000000000h ; 0.5 ; Total bytes of code 199 1235: JIT compiled BenchmarkDotNet.Mathematics.MeasurementsStatistics:GetQuartile(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],int) [Tier1, IL size=71, code size=199] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 8 vzeroupper mov esi, edx G_M000_IG02: cmp esi, 1 jle SHORT G_M000_IG04 call [Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int):double] fstp qword ptr [ebp-10H] vmovsd xmm1, qword ptr [@RWD00] vmovsd xmm0, qword ptr [ebp-10H] vsubsd xmm0, xmm1, xmm0 sub esp, 8 vmovsd qword ptr [esp], xmm0 dec esi vxorps xmm0, xmm0 vcvtsi2sd xmm0, esi sub esp, 8 vmovsd qword ptr [esp], xmm0 call [Perfolizer.Mathematics.Distributions.StudentDistribution:InverseTwoTailStudent(double,double):double] fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, 0x9AB mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov edi, eax mov ecx, 0xB8B mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS push eax mov edx, edi mov ecx, esi call [System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this] mov ecx, esi call CORINFO_HELP_THROW int3 RWD00 dq 3FF0000000000000h ; 1 ; Total bytes of code 161 1236: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:GetZValue(int,int) [Tier1, IL size=46, code size=161] ; Assembly listing for method Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 8 vzeroupper mov esi, ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] cmp byte ptr [ecx], cl mov edx, esi call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:FindValue(int):byref:this] test eax, eax je SHORT G_M000_IG04 mov esi, dword ptr [eax] mov eax, dword ptr [eax+04H] vmovsd xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 vxorps xmm0, xmm0 vcvtsi2sd xmm0, eax sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Pow(double,double):double fstp qword ptr [ebp-0CH] vxorps xmm1, xmm1 vcvtsi2sd xmm1, esi vmovsd xmm0, qword ptr [ebp-0CH] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: lea esp, [ebp-04H] pop esi pop ebp ret G_M000_IG04: mov ecx, esi call [System.ThrowHelper:ThrowKeyNotFoundException[int](int)] int3 RWD00 dq 4024000000000000h ; 10 ; Total bytes of code 117 1237: JIT compiled Perfolizer.Mathematics.Common.ConfidenceLevelExtensions:ToPercent(int) [Tier1, IL size=44, code size=117] ; Assembly listing for method System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int):System.ValueTuple`2[int,int]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, edx G_M000_IG02: mov edx, dword ptr [ebp+08H] call [System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:FindValue(int):byref:this] test eax, eax je SHORT G_M000_IG04 mov ecx, dword ptr [eax] mov dword ptr [esi], ecx mov ecx, dword ptr [eax+04H] mov dword ptr [esi+04H], ecx G_M000_IG03: pop esi pop ebp ret 4 G_M000_IG04: mov ecx, dword ptr [ebp+08H] call [System.ThrowHelper:ThrowKeyNotFoundException[int](int)] int3 ; Total bytes of code 44 1238: JIT compiled System.Collections.Generic.Dictionary`2[int,System.ValueTuple`2[int,int]]:get_Item(int) [Tier1, IL size=39, code size=44] ; Assembly listing for method System.Number+BigInteger:ToUInt32():uint:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: cmp dword ptr [ecx], 0 jle SHORT G_M000_IG05 G_M000_IG03: mov eax, dword ptr [ecx+04H] G_M000_IG04: ret G_M000_IG05: xor eax, eax G_M000_IG06: ret ; Total bytes of code 12 1239: JIT compiled System.Number+BigInteger:ToUInt32() [Tier1, IL size=24, code size=12] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:AfterMainRun(BenchmarkDotNet.Engines.IHost) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_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 1240: JIT compiled BenchmarkDotNet.Engines.HostExtensions:AfterMainRun(BenchmarkDotNet.Engines.IHost) [Tier0, IL size=8, code size=25] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:GetExtraStats(BenchmarkDotNet.Engines.IterationData):System.ValueTuple`3[BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 408 vzeroupper vxorps xmm4, xmm4 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 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 1241: JIT compiled BenchmarkDotNet.Engines.Engine:GetExtraStats(BenchmarkDotNet.Engines.IterationData) [Tier0, IL size=179, code size=894] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:EnableMonitoring() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: pop ebp ret G_M000_IG04: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool] test eax, eax je SHORT G_M000_IG05 mov ecx, 1 call [System.AppDomain:set_MonitoringIsEnabled(bool)] G_M000_IG05: pop ebp ret ; Total bytes of code 38 1242: JIT compiled BenchmarkDotNet.Engines.Engine:EnableMonitoring() [Tier0, IL size=22, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:ReadInitial():BenchmarkDotNet.Engines.ThreadingStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-34H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 432 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-30H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-30H] call [eax+0CH]System.Func`1[long]:Invoke():long:this mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], edx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-24H], xmm0 vmovq qword ptr [ebp-14H], 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 1243: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:ReadInitial() [Tier0, IL size=30, code size=175] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Engines.ThreadingStats:CreateGetterDelegate(System.Type,System.String):System.Func`1[long]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, 0xD1FFAB1E mov edx, 0xD1FFAB1E call [BenchmarkDotNet.Engines.ThreadingStats:CreateGetterDelegate(System.Type,System.String):System.Func`1[long]] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 57 1244: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:.cctor() [Tier0, IL size=51, code size=57] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:CreateGetterDelegate(System.Type,System.String):System.Func`1[long] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4 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 1245: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:CreateGetterDelegate(System.Type,System.String) [Tier0, IL size=76, code size=257] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:.ctor(long,long,long):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov edx, dword ptr [ebp+18H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+1CH] mov edx, bword ptr [ebp-08H] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] add eax, 8 mov bword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-0CH] mov edx, dword ptr [ebp+10H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+14H] mov edx, bword ptr [ebp-0CH] mov dword ptr [edx+04H], eax mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-10H], eax mov eax, bword ptr [ebp-10H] mov edx, dword ptr [ebp+08H] mov dword ptr [eax], edx mov eax, dword ptr [ebp+0CH] mov edx, bword ptr [ebp-10H] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret 24 ; Total bytes of code 101 1246: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:.ctor(long,long,long) [Tier0, IL size=22, code size=101] ; Assembly listing for method BenchmarkDotNet.Engines.ExceptionsStats:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1247: JIT compiled BenchmarkDotNet.Engines.ExceptionsStats:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Engines.ExceptionsStats:StartListening():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax call [System.AppDomain:get_CurrentDomain():System.AppDomain] mov gword ptr [ebp-0CH], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.AppDomain:add_FirstChanceException(System.EventHandler`1[System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs]):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 74 1248: JIT compiled BenchmarkDotNet.Engines.ExceptionsStats:StartListening() [Tier0, IL size=23, code size=74] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:ReadInitial():BenchmarkDotNet.Engines.GcStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: call [BenchmarkDotNet.Engines.GcStats:GetAllocatedBytes():long] mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], edx xor ecx, ecx call [System.GC:CollectionCount(int):int] mov dword ptr [ebp-10H], eax mov ecx, 1 call [System.GC:CollectionCount(int):int] mov dword ptr [ebp-14H], eax vxorps ymm0, ymm0 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 1249: JIT compiled BenchmarkDotNet.Engines.GcStats:ReadInitial() [Tier0, IL size=33, code size=122] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:GetAllocatedBytes():long ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 G_M000_IG02: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsOldMono():bool] test eax, eax je SHORT G_M000_IG04 xor eax, eax xor edx, edx G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsWasm():bool] test eax, eax je SHORT G_M000_IG06 xor eax, eax xor edx, edx G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: call [System.GC:Collect()] call [BenchmarkDotNet.Portability.RuntimeInformation:get_IsFullFramework():bool] test eax, eax je SHORT G_M000_IG08 call [System.AppDomain:get_CurrentDomain():System.AppDomain] mov ecx, eax cmp dword ptr [ecx], ecx call [System.AppDomain:get_MonitoringTotalAllocatedMemorySize():long:this] mov dword ptr [ebp-08H], eax mov dword ptr [ebp-04H], edx mov eax, dword ptr [ebp-08H] mov edx, dword ptr [ebp-04H] G_M000_IG07: mov esp, ebp pop ebp ret G_M000_IG08: mov ecx, 1 call System.GC:GetTotalAllocatedBytes(bool):long mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], edx mov eax, dword ptr [ebp-10H] mov edx, dword ptr [ebp-0CH] G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 116 1250: JIT compiled BenchmarkDotNet.Engines.GcStats:GetAllocatedBytes() [Tier0, IL size=50, code size=116] ; Assembly listing for method BenchmarkDotNet.Engines.ExceptionsStats:Stop():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-08H], eax call [System.AppDomain:get_CurrentDomain():System.AppDomain] mov gword ptr [ebp-0CH], eax push 0xD1FFAB1E mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] cmp dword ptr [ecx], ecx call [System.AppDomain:remove_FirstChanceException(System.EventHandler`1[System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs]):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 74 1251: JIT compiled BenchmarkDotNet.Engines.ExceptionsStats:Stop() [Tier0, IL size=23, code size=74] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:ReadFinal():BenchmarkDotNet.Engines.GcStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: xor ecx, ecx call [System.GC:CollectionCount(int):int] mov dword ptr [ebp-08H], eax mov ecx, 1 call [System.GC:CollectionCount(int):int] mov dword ptr [ebp-0CH], eax mov ecx, 2 call [System.GC:CollectionCount(int):int] mov dword ptr [ebp-10H], eax vxorps ymm0, ymm0 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 1252: JIT compiled BenchmarkDotNet.Engines.GcStats:ReadFinal() [Tier0, IL size=31, code size=119] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:ReadFinal():BenchmarkDotNet.Engines.ThreadingStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-34H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-30H], ecx mov ecx, gword ptr [ebp-30H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-30H] call [eax+0CH]System.Func`1[long]:Invoke():long:this mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], edx mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-34H], ecx mov ecx, gword ptr [ebp-34H] mov ecx, gword ptr [ecx+04H] mov eax, gword ptr [ebp-34H] call [eax+0CH]System.Func`1[long]:Invoke():long:this mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], edx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-2CH], xmm0 vmovq qword ptr [ebp-1CH], 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 1253: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:ReadFinal() [Tier0, IL size=30, code size=145] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:op_Subtraction(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.GcStats):BenchmarkDotNet.Engines.GcStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 120 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen0Collections():int:this] mov dword ptr [ebp-08H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen0Collections():int:this] mov edx, dword ptr [ebp-08H] sub edx, eax mov dword ptr [ebp-58H], edx mov edx, dword ptr [ebp-58H] xor ecx, ecx call [System.Math:Max(int,int):int] mov dword ptr [ebp-0CH], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen1Collections():int:this] mov dword ptr [ebp-10H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen1Collections():int:this] mov edx, dword ptr [ebp-10H] sub edx, eax mov dword ptr [ebp-5CH], edx mov edx, dword ptr [ebp-5CH] xor ecx, ecx call [System.Math:Max(int,int):int] mov dword ptr [ebp-14H], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen2Collections():int:this] mov dword ptr [ebp-18H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen2Collections():int:this] mov edx, dword ptr [ebp-18H] sub edx, eax mov dword ptr [ebp-60H], edx mov edx, dword ptr [ebp-60H] xor ecx, ecx call [System.Math:Max(int,int):int] mov dword ptr [ebp-1CH], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes():long:this] mov dword ptr [ebp-24H], eax mov dword ptr [ebp-20H], edx push 0 push 0 lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes():long:this] mov dword ptr [ebp-68H], eax mov dword ptr [ebp-64H], edx mov eax, dword ptr [ebp-24H] mov edx, dword ptr [ebp-20H] sub eax, dword ptr [ebp-68H] sbb edx, dword ptr [ebp-64H] push edx push eax call [System.Math:Max(long,long):long] mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-28H], edx lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_TotalOperations():long:this] mov dword ptr [ebp-34H], eax mov dword ptr [ebp-30H], edx vxorps ymm0, ymm0 vmovdqu ymmword ptr [ebp-54H], ymm0 push dword ptr [ebp-14H] push dword ptr [ebp-1CH] G_M000_IG03: 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 1254: JIT compiled BenchmarkDotNet.Engines.GcStats:op_Subtraction(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.GcStats) [Tier0, IL size=113, code size=321] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:get_Gen0Collections():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 16 1255: JIT compiled BenchmarkDotNet.Engines.GcStats:get_Gen0Collections() [Tier0, IL size=7, code size=16] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:get_Gen1Collections():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1256: JIT compiled BenchmarkDotNet.Engines.GcStats:get_Gen1Collections() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:get_Gen2Collections():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1257: JIT compiled BenchmarkDotNet.Engines.GcStats:get_Gen2Collections() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 1258: JIT compiled BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:get_TotalOperations():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 24 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 1259: JIT compiled BenchmarkDotNet.Engines.GcStats:get_TotalOperations() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:WithTotalOperations(long):BenchmarkDotNet.Engines.GcStats:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 72 vzeroupper mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: vxorps ymm0, ymm0 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 1260: JIT compiled BenchmarkDotNet.Engines.GcStats:WithTotalOperations(long) [Tier0, IL size=23, code size=127] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:op_Addition(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.GcStats):BenchmarkDotNet.Engines.GcStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 100 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen0Collections():int:this] mov dword ptr [ebp-08H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen0Collections():int:this] add eax, dword ptr [ebp-08H] mov dword ptr [ebp-0CH], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen1Collections():int:this] mov dword ptr [ebp-10H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen1Collections():int:this] add eax, dword ptr [ebp-10H] mov dword ptr [ebp-14H], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_Gen2Collections():int:this] mov dword ptr [ebp-18H], eax lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_Gen2Collections():int:this] add eax, dword ptr [ebp-18H] mov dword ptr [ebp-1CH], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes():long:this] mov dword ptr [ebp-24H], eax mov dword ptr [ebp-20H], edx lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.GcStats:get_AllocatedBytes():long:this] mov dword ptr [ebp-5CH], eax mov dword ptr [ebp-58H], edx mov ecx, dword ptr [ebp-5CH] mov eax, dword ptr [ebp-58H] add ecx, dword ptr [ebp-24H] adc eax, dword ptr [ebp-20H] mov dword ptr [ebp-2CH], ecx mov dword ptr [ebp-28H], eax lea ecx, [ebp+28H] call [BenchmarkDotNet.Engines.GcStats:get_TotalOperations():long:this] mov dword ptr [ebp-34H], eax mov dword ptr [ebp-30H], edx vxorps ymm0, ymm0 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] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret 64 ; Total bytes of code 239 1261: JIT compiled BenchmarkDotNet.Engines.GcStats:op_Addition(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.GcStats) [Tier0, IL size=81, code size=239] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:op_Subtraction(BenchmarkDotNet.Engines.ThreadingStats,BenchmarkDotNet.Engines.ThreadingStats):BenchmarkDotNet.Engines.ThreadingStats ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 92 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+20H] call [BenchmarkDotNet.Engines.ThreadingStats:get_CompletedWorkItemCount():long:this] mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-08H], edx lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.ThreadingStats:get_CompletedWorkItemCount():long:this] mov dword ptr [ebp-4CH], eax mov dword ptr [ebp-48H], edx mov ecx, dword ptr [ebp-0CH] mov eax, dword ptr [ebp-08H] sub ecx, dword ptr [ebp-4CH] sbb eax, dword ptr [ebp-48H] mov dword ptr [ebp-14H], ecx mov dword ptr [ebp-10H], eax lea ecx, [ebp+20H] call [BenchmarkDotNet.Engines.ThreadingStats:get_LockContentionCount():long:this] mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-18H], edx lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.ThreadingStats:get_LockContentionCount():long:this] mov dword ptr [ebp-54H], eax mov dword ptr [ebp-50H], edx mov ecx, dword ptr [ebp-1CH] mov eax, dword ptr [ebp-18H] sub ecx, dword ptr [ebp-54H] sbb eax, dword ptr [ebp-50H] mov dword ptr [ebp-24H], ecx mov dword ptr [ebp-20H], eax lea ecx, [ebp+20H] call [BenchmarkDotNet.Engines.ThreadingStats:get_TotalOperations():long:this] mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-28H], edx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-44H], xmm0 vmovq qword ptr [ebp-34H], 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 1262: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:op_Subtraction(BenchmarkDotNet.Engines.ThreadingStats,BenchmarkDotNet.Engines.ThreadingStats) [Tier0, IL size=51, code size=215] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:get_CompletedWorkItemCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 35 1263: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:get_CompletedWorkItemCount() [Tier0, IL size=7, code size=35] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:get_LockContentionCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 8 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 1264: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:get_LockContentionCount() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:get_TotalOperations():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] add eax, 16 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 1265: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:get_TotalOperations() [Tier0, IL size=7, code size=38] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:WithTotalOperations(long):BenchmarkDotNet.Engines.ThreadingStats:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 48 vzeroupper mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [BenchmarkDotNet.Engines.ThreadingStats:get_CompletedWorkItemCount():long:this] mov dword ptr [ebp-10H], eax mov dword ptr [ebp-0CH], edx vxorps xmm0, xmm0 vmovdqu xmmword ptr [ebp-28H], xmm0 vmovq qword ptr [ebp-18H], 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 1266: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:WithTotalOperations(long) [Tier0, IL size=19, code size=114] ; Assembly listing for method BenchmarkDotNet.Engines.ExceptionsStats:get_ExceptionsCount():long:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] add eax, 4 mov bword ptr [ebp-08H], eax mov eax, bword ptr [ebp-08H] mov eax, dword ptr [eax] mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 38 1267: JIT compiled BenchmarkDotNet.Engines.ExceptionsStats:get_ExceptionsCount() [Tier0, IL size=7, code size=38] ; Assembly listing for method System.ValueTuple`3[BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double]:.ctor(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp+28H] vmovdqu ymmword ptr [eax+08H], ymm0 mov eax, bword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp+10H] vmovdqu xmmword ptr [eax+28H], xmm0 vmovdqu xmm0, xmmword ptr [ebp+18H] vmovdqu xmmword ptr [eax+30H], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax], xmm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret 64 ; Total bytes of code 67 1268: JIT compiled System.ValueTuple`3[BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double]:.ctor(BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double) [Tier0, IL size=22, code size=67] ; Assembly listing for method BenchmarkDotNet.Engines.EngineEventSource:BenchmarkStop(System.String):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] mov edx, 2 call [System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 33 1269: JIT compiled BenchmarkDotNet.Engines.EngineEventSource:BenchmarkStop(System.String) [Tier0, IL size=9, code size=33] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:.ctor(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement],int,BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] mov eax, dword ptr [ebp+48H] mov dword ptr [edx+0CH], eax mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] vmovdqu ymm0, ymmword ptr [ebp+28H] vmovdqu ymmword ptr [eax+10H], ymm0 mov eax, bword ptr [ebp-04H] vmovdqu xmm0, xmmword ptr [ebp+10H] vmovdqu xmmword ptr [eax+30H], xmm0 vmovdqu xmm0, xmmword ptr [ebp+18H] vmovdqu xmmword ptr [eax+38H], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax], xmm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret 68 ; Total bytes of code 95 1270: JIT compiled BenchmarkDotNet.Engines.RunResults:.ctor(System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement],int,BenchmarkDotNet.Engines.GcStats,BenchmarkDotNet.Engines.ThreadingStats,double) [Tier0, IL size=38, code size=95] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:ReportResults(BenchmarkDotNet.Engines.RunResults):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+04H] lea ecx, [ebp+08H] call [BenchmarkDotNet.Engines.RunResults:Print(System.IO.TextWriter):this] G_M000_IG03: mov esp, ebp pop ebp ret 72 ; Total bytes of code 28 1271: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:ReportResults(BenchmarkDotNet.Engines.RunResults) [Tier0, IL size=14, code size=28] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:Print(System.IO.TextWriter):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 24 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 112 vzeroupper vxorps xmm4, xmm4 mov eax, -96 vmovdqu xmmword ptr [ebp+eax-14H], xmm4 vmovdqu xmmword ptr [ebp+eax-04H], xmm4 vmovdqu xmmword ptr [ebp+eax+0CH], xmm4 add eax, 48 jne SHORT -5 instr mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov edi, ecx mov esi, edx G_M000_IG02: mov ecx, edi call [BenchmarkDotNet.Engines.RunResults:GetWorkloadResultMeasurements():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:this] mov ecx, eax call [System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:GetEnumerator():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:this] mov ecx, eax mov gword ptr [ebp-78H], ecx G_M000_IG03: call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: lea edx, [ebp-3CH] mov ecx, gword ptr [ebp-78H] call [System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:get_Current():BenchmarkDotNet.Reports.Measurement:this] lea ecx, [ebp-3CH] call [BenchmarkDotNet.Reports.Measurement:ToString():System.String:this] mov edx, eax mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this mov ecx, gword ptr [ebp-78H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG05: mov ecx, gword ptr [ebp-78H] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG08 G_M000_IG06: cmp gword ptr [ebp-78H], 0 je SHORT G_M000_IG07 mov ecx, gword ptr [ebp-78H] call [System.IDisposable:Dispose():this] G_M000_IG07: pop eax jmp eax G_M000_IG08: vmovdqu ymm0, ymmword ptr [edi+10H] vmovdqu ymmword ptr [ebp-5CH], ymm0 xor ecx, ecx cmp dword ptr [ebp-5CH], ecx jne SHORT G_M000_IG10 G_M000_IG09: cmp dword ptr [ebp-58H], ecx jne SHORT G_M000_IG10 cmp dword ptr [ebp-54H], ecx jne SHORT G_M000_IG10 mov ecx, dword ptr [ebp-4CH] or ecx, dword ptr [ebp-48H] jne SHORT G_M000_IG10 mov ecx, dword ptr [ebp-44H] or ecx, dword ptr [ebp-40H] je SHORT G_M000_IG11 G_M000_IG10: vmovdqu ymm0, ymmword ptr [edi+10H] vmovdqu ymmword ptr [ebp-5CH], ymm0 lea ecx, [ebp-5CH] call [BenchmarkDotNet.Engines.GcStats:ToOutputLine():System.String:this] mov edx, eax mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this G_M000_IG11: vmovdqu xmm0, xmmword ptr [edi+30H] vmovdqu xmmword ptr [ebp-74H], xmm0 vmovdqu xmm0, xmmword ptr [edi+38H] vmovdqu xmmword ptr [ebp-6CH], xmm0 mov ecx, dword ptr [ebp-74H] mov eax, dword ptr [ebp-70H] or ecx, eax jne SHORT G_M000_IG13 G_M000_IG12: mov ecx, dword ptr [ebp-6CH] mov eax, dword ptr [ebp-68H] or ecx, eax jne SHORT G_M000_IG13 mov ecx, dword ptr [ebp-64H] mov eax, dword ptr [ebp-60H] or ecx, eax je SHORT G_M000_IG14 G_M000_IG13: vmovdqu xmm0, xmmword ptr [edi+30H] vmovdqu xmmword ptr [ebp-74H], xmm0 vmovdqu xmm0, xmmword ptr [edi+38H] vmovdqu xmmword ptr [ebp-6CH], xmm0 lea ecx, [ebp-74H] call [BenchmarkDotNet.Engines.ThreadingStats:ToOutputLine():System.String:this] mov edx, eax mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this G_M000_IG14: vmovsd xmm0, qword ptr [edi] vxorps xmm1, xmm1 vucomisd xmm0, xmm1 jbe SHORT G_M000_IG16 G_M000_IG15: vmovsd xmm0, qword ptr [edi] sub esp, 8 vmovsd qword ptr [esp], xmm0 call [BenchmarkDotNet.Engines.ExceptionsStats:ToOutputLine(double):System.String] mov edx, eax mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+3CH] call [eax+18H]System.IO.TextWriter:WriteLine(System.String):this G_M000_IG16: mov ecx, esi mov eax, dword ptr [esi] mov eax, dword ptr [eax+38H] call [eax+04H]System.IO.TextWriter:WriteLine():this G_M000_IG17: vzeroupper lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 388 1272: JIT compiled BenchmarkDotNet.Engines.RunResults:Print(System.IO.TextWriter) [Tier-0 switched to FullOpts, IL size=183, code size=388] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:GetWorkloadResultMeasurements():System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 8 xor eax, eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-0CH], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] mov edx, -2 call [BenchmarkDotNet.Engines.RunResults+d__18:.ctor(int):this] mov esi, bword ptr [ebp-0CH] mov edi, gword ptr [ebp-10H] add edi, 140 movsd movsd call CORINFO_HELP_ASSIGN_BYREF mov ecx, 15 rep movsd mov eax, gword ptr [ebp-10H] G_M000_IG03: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 79 1273: JIT compiled BenchmarkDotNet.Engines.RunResults:GetWorkloadResultMeasurements() [Tier0, IL size=20, code size=79] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+d__18:.ctor(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp-08H] mov dword ptr [eax+14H], edx call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+18H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 45 1274: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:.ctor(int) [Tier0, IL size=25, code size=45] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+d__18:System.Collections.Generic.IEnumerable.GetEnumerator():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push edi push esi sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-0CH], ecx G_M000_IG02: mov eax, gword ptr [ebp-0CH] cmp dword ptr [eax+14H], -2 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-0CH] mov eax, dword ptr [eax+18H] mov dword ptr [ebp-18H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-18H] jne SHORT G_M000_IG03 mov ecx, gword ptr [ebp-0CH] xor eax, eax mov dword ptr [ecx+14H], eax mov ecx, gword ptr [ebp-0CH] mov gword ptr [ebp-10H], ecx jmp SHORT G_M000_IG04 G_M000_IG03: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-14H] xor edx, edx call [BenchmarkDotNet.Engines.RunResults+d__18:.ctor(int):this] mov ecx, gword ptr [ebp-14H] mov gword ptr [ebp-10H], ecx G_M000_IG04: mov esi, gword ptr [ebp-0CH] add esi, 140 mov edi, gword ptr [ebp-10H] add edi, 68 movsd movsd call CORINFO_HELP_ASSIGN_BYREF mov ecx, 15 rep movsd mov eax, gword ptr [ebp-10H] G_M000_IG05: lea esp, [ebp-08H] pop esi pop edi pop ebp ret ; Total bytes of code 132 1275: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:System.Collections.Generic.IEnumerable.GetEnumerator() [Tier0, IL size=55, code size=132] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+d__18:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 3 inlinees with PGO data; 13 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 108 vzeroupper vxorps xmm4, xmm4 vmovdqu xmmword ptr [ebp-40H], xmm4 vmovdqu xmmword ptr [ebp-30H], xmm4 vmovdqu xmmword ptr [ebp-20H], xmm4 mov gword ptr [ebp-6CH], ecx G_M000_IG02: mov eax, dword ptr [ecx+14H] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: cmp eax, 1 je G_M000_IG12 xor eax, eax jmp G_M000_IG31 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, 61 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov esi, gword ptr [D1FFAB1EH] G_M000_IG05: mov ecx, gword ptr [ebp-6CH] add ecx, 68 call [BenchmarkDotNet.Engines.RunResults:get_Workload():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this] mov edi, eax mov ecx, edi call [System.Collections.Generic.IReadOnlyCollection`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] test eax, eax jne SHORT G_M000_IG06 xor eax, eax jmp G_M000_IG31 G_M000_IG06: mov ecx, gword ptr [ebp-6CH] mov ebx, ecx mov ecx, esi call [System.Collections.Generic.IReadOnlyCollection`1[BenchmarkDotNet.Reports.Measurement]:get_Count():int:this] test eax, eax je G_M000_IG21 test byte ptr [D1FFAB1EH], 1 je G_M000_IG19 G_M000_IG07: mov eax, gword ptr [D1FFAB1EH] test eax, eax mov gword ptr [ebp-74H], eax jne SHORT G_M000_IG08 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx je G_M000_IG18 lea edx, bword ptr [eax+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov dword ptr [eax+0CH], 0xD1FFAB1E mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX mov gword ptr [ebp-74H], eax G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST_ALIGN8 mov gword ptr [ebp-78H], eax mov ecx, esi mov edx, gword ptr [ebp-74H] call [System.Linq.Enumerable:Select[BenchmarkDotNet.Reports.Measurement,double](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):System.Collections.Generic.IEnumerable`1[double]] mov edx, eax mov ecx, gword ptr [ebp-78H] call [BenchmarkDotNet.Mathematics.Statistics:.ctor(System.Collections.Generic.IEnumerable`1[double]):this] mov esi, gword ptr [ebp-78H] vmovsd xmm0, qword ptr [esi+1CH] G_M000_IG09: vmovsd qword ptr [ebx+04H], xmm0 test byte ptr [D1FFAB1EH], 1 je G_M000_IG17 G_M000_IG10: mov esi, gword ptr [D1FFAB1EH] mov ecx, gword ptr [ebp-6CH] mov ebx, ecx test esi, esi jne SHORT G_M000_IG11 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov esi, eax mov ecx, gword ptr [D1FFAB1EH] test ecx, ecx je G_M000_IG18 lea edx, bword ptr [esi+04H] call CORINFO_HELP_ASSIGN_REF_ECX mov dword ptr [esi+0CH], 0xD1FFAB1E mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_ESI G_M000_IG11: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST_ALIGN8 mov gword ptr [ebp-70H], eax mov ecx, edi mov edx, esi call [System.Linq.Enumerable:Select[BenchmarkDotNet.Reports.Measurement,double](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):System.Collections.Generic.IEnumerable`1[double]] mov edx, eax mov ecx, gword ptr [ebp-70H] call [BenchmarkDotNet.Mathematics.Statistics:.ctor(System.Collections.Generic.IEnumerable`1[double]):this] lea edx, bword ptr [ebx+0CH] mov esi, gword ptr [ebp-70H] call CORINFO_HELP_ASSIGN_REF_ESI xor ecx, ecx mov esi, gword ptr [ebp-6CH] mov dword ptr [esi+1CH], ecx mov ecx, edi call [System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]:GetEnumerator():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:this] lea edx, bword ptr [esi+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov ecx, esi G_M000_IG12: mov dword ptr [ecx+14H], -3 G_M000_IG13: mov ecx, gword ptr [ecx+10H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG22 G_M000_IG14: mov ecx, gword ptr [ebp-6CH] mov dword ptr [ecx+14H], -1 cmp gword ptr [ecx+10H], 0 je SHORT G_M000_IG15 mov ecx, gword ptr [ecx+10H] call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-6CH] G_M000_IG15: xor eax, eax mov gword ptr [ecx+10H], eax G_M000_IG16: jmp G_M000_IG31 G_M000_IG17: mov ecx, 0xD1FFAB1E mov edx, 0x407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG10 G_M000_IG18: call [System.MulticastDelegate:ThrowNullThisInDelegateToInstance()] int3 G_M000_IG19: mov ecx, 0xD1FFAB1E mov edx, 0x407 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE jmp G_M000_IG07 G_M000_IG20: vxorps xmm0, xmm0 jmp SHORT G_M000_IG28 G_M000_IG21: vxorps xmm0, xmm0 jmp G_M000_IG09 G_M000_IG22: mov esi, gword ptr [ebp-6CH] mov ecx, gword ptr [esi+10H] lea edx, [ebp-40H] call [System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:get_Current():BenchmarkDotNet.Reports.Measurement:this] mov ecx, gword ptr [esi+0CH] vmovsd xmm0, qword ptr [ebp-28H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov edx, dword ptr [esi+50H] cmp dword ptr [ecx], ecx call [BenchmarkDotNet.Mathematics.Statistics:IsActualOutlier(double,int):bool:this] test eax, eax mov ecx, esi jne G_M000_IG13 G_M000_IG23: vmovsd xmm0, qword ptr [ebp-28H] vsubsd xmm0, xmm0, qword ptr [ecx+04H] vxorps xmm1, xmm1 vucomisd xmm0, xmm1 jp SHORT G_M000_IG24 je SHORT G_M000_IG27 G_M000_IG24: vxorps xmm1, xmm1 vucomisd xmm1, xmm0 ja SHORT G_M000_IG26 G_M000_IG25: jmp SHORT G_M000_IG28 G_M000_IG26: vxorps xmm0, xmm0 jmp SHORT G_M000_IG28 G_M000_IG27: vmovsd qword ptr [ebp-68H], xmm0 cmp dword ptr [ebp-64H], 0 jl SHORT G_M000_IG20 jmp SHORT G_M000_IG25 G_M000_IG28: vmovsd xmm1, qword ptr [@RWD00] vucomisd xmm1, xmm0 jbe SHORT G_M000_IG29 vxorps xmm0, xmm0 G_M000_IG29: mov eax, dword ptr [ebp-38H] mov edx, dword ptr [ecx+1CH] inc edx mov dword ptr [ecx+1CH], edx vxorps ymm1, ymm1 vmovdqu ymmword ptr [ebp-60H], ymm1 mov edi, dword ptr [ebp-30H] mov esi, dword ptr [ebp-2CH] mov dword ptr [ebp-50H], edi mov dword ptr [ebp-4CH], esi vmovsd qword ptr [ebp-48H], xmm0 mov dword ptr [ebp-58H], eax mov dword ptr [ebp-60H], 1 mov dword ptr [ebp-5CH], 4 mov dword ptr [ebp-54H], edx vmovdqu ymm0, ymmword ptr [ebp-60H] vmovdqu ymmword ptr [ecx+24H], ymm0 mov dword ptr [ecx+14H], 1 mov eax, 1 jmp SHORT G_M000_IG31 G_M000_IG30: mov ecx, gword ptr [ebp-6CH] call [BenchmarkDotNet.Engines.RunResults+d__18:System.IDisposable.Dispose():this] pop eax jmp eax G_M000_IG31: vzeroupper lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret RWD00 dq 3FB999999999999Ah ; 0.1 ; Total bytes of code 775 1276: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:MoveNext() [Tier-0 switched to FullOpts, IL size=435, code size=775] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:get_Overhead():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4 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 1277: JIT compiled BenchmarkDotNet.Engines.RunResults:get_Overhead() [Tier0, IL size=48, code size=192] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:get_EngineMeasurements():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax+08H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1278: JIT compiled BenchmarkDotNet.Engines.RunResults:get_EngineMeasurements() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Engines.RunResults+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 1279: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1280: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Where[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]):System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vxorps xmm4, xmm4 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 1281: JIT compiled System.Linq.Enumerable:Where[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]) [Tier0, IL size=94, code size=293] ; Assembly listing for method System.Linq.Enumerable+WhereListIterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+2CH] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+30H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 1282: JIT compiled System.Linq.Enumerable+WhereListIterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(System.Collections.Generic.List`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,bool]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+04H], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 1283: JIT compiled System.Linq.Enumerable+Iterator`1[BenchmarkDotNet.Reports.Measurement]:.ctor() [Tier0, IL size=18, code size=31] ; Assembly listing for method System.Linq.Enumerable:ToArray[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Reports.Measurement[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-08H], eax cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.EnumerableHelpers:ToArray[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]):BenchmarkDotNet.Reports.Measurement[]] G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: mov ecx, gword ptr [ebp-08H] call [System.Linq.IIListProvider`1[BenchmarkDotNet.Reports.Measurement]:ToArray():BenchmarkDotNet.Reports.Measurement[]:this] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 80 1284: JIT compiled System.Linq.Enumerable:ToArray[BenchmarkDotNet.Reports.Measurement](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement]) [Tier0, IL size=34, code size=80] ; Assembly listing for method System.Linq.Enumerable+WhereListIterator`1[BenchmarkDotNet.Reports.Measurement]:ToArray():BenchmarkDotNet.Reports.Measurement[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 60 vzeroupper vxorps xmm4, xmm4 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, 61 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 1285: JIT compiled System.Linq.Enumerable+WhereListIterator`1[BenchmarkDotNet.Reports.Measurement]:ToArray() [Tier-0 switched to FullOpts, IL size=83, code size=280] ; Assembly listing for method System.Array+EmptyArray`1[BenchmarkDotNet.Reports.Measurement]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp G_M000_IG02: mov ecx, 0xD1FFAB1E xor edx, edx call CORINFO_HELP_NEWARR_1_VC mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: pop ebp ret ; Total bytes of code 27 1286: JIT compiled System.Array+EmptyArray`1[BenchmarkDotNet.Reports.Measurement]:.cctor() [Tier0, IL size=12, code size=27] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:b__5_0(BenchmarkDotNet.Reports.Measurement):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp+08H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp+18H] vmovdqu xmmword ptr [esp+10H], xmm0 xor ecx, ecx mov edx, 3 call [BenchmarkDotNet.Reports.MeasurementExtensions:Is(BenchmarkDotNet.Reports.Measurement,int,int):bool] G_M000_IG03: mov esp, ebp pop ebp ret 32 ; Total bytes of code 53 1287: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:b__5_0(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=9, code size=53] ; Assembly listing for method BenchmarkDotNet.Reports.MeasurementExtensions:Is(BenchmarkDotNet.Reports.Measurement,int,int):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov dword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: lea ecx, [ebp+08H] call [BenchmarkDotNet.Reports.Measurement:get_IterationMode():int:this] cmp eax, dword ptr [ebp-04H] jne SHORT G_M000_IG04 lea ecx, [ebp+08H] call [BenchmarkDotNet.Reports.Measurement:get_IterationStage():int:this] cmp eax, dword ptr [ebp-08H] sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret 32 G_M000_IG04: xor eax, eax G_M000_IG05: mov esp, ebp pop ebp ret 32 ; Total bytes of code 58 1288: JIT compiled BenchmarkDotNet.Reports.MeasurementExtensions:Is(BenchmarkDotNet.Reports.Measurement,int,int) [Tier0, IL size=23, code size=58] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AddWithBufferAllocation(BenchmarkDotNet.Reports.Measurement):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AllocateBuffer():this] mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax+04H] mov gword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] mov dword ptr [ebp-08H], eax mov eax, dword ptr [ebp-08H] inc eax mov edx, bword ptr [ebp-04H] mov dword ptr [edx+0CH], eax mov eax, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG04 imul ecx, edx, 32 lea eax, bword ptr [eax+ecx+08H] vmovdqu ymm0, ymmword ptr [ebp+08H] vmovdqu ymmword ptr [eax], ymm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret 32 G_M000_IG04: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 96 1289: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AddWithBufferAllocation(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=36, code size=96] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AllocateBuffer():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov edx, bword ptr [ebp-04H] cmp dword ptr [edx+10H], 8 jae G_M000_IG06 mov edx, bword ptr [ebp-04H] cmp dword ptr [edx+10H], 0 je SHORT G_M000_IG03 mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+10H] add edx, edx mov dword ptr [ebp-10H], edx jmp SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-10H], 4 G_M000_IG04: mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+08H] mov ecx, dword ptr [ebp-10H] call [System.Math:Min(int,int):int] mov dword ptr [ebp-08H], eax mov edx, dword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-14H], ecx mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx mov ecx, bword ptr [ebp-04H] push dword ptr [ecx+10H] mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-18H] call [System.Array:Copy(System.Array,System.Array,int)] mov edx, bword ptr [ebp-04H] mov ecx, gword ptr [edx+04H] mov edx, bword ptr [ebp-04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov ecx, bword ptr [ebp-04H] cmp dword ptr [ecx+10H], 8 jne SHORT G_M000_IG07 mov dword ptr [ebp-0CH], 8 jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, bword ptr [ebp-04H] cmp byte ptr [ecx], cl mov ecx, bword ptr [ebp-04H] add ecx, 20 mov bword ptr [ebp-1CH], ecx mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-20H], ecx push 0xD1FFAB1E mov ecx, bword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Add(System.__Canon):this] mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+08H] mov ecx, bword ptr [ebp-04H] sub edx, dword ptr [ecx+10H] mov ecx, bword ptr [ebp-04H] mov ecx, dword ptr [ecx+10H] call [System.Math:Min(int,int):int] mov dword ptr [ebp-0CH], eax G_M000_IG08: mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] xor edx, edx mov dword ptr [eax+0CH], edx G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 281 1290: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:AllocateBuffer() [Tier0, IL size=163, code size=281] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Add(System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov bword ptr [ebp-08H], ecx mov gword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, bword ptr [ebp-08H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-10H], ecx mov ecx, bword ptr [ebp-08H] mov edx, dword ptr [ebp+08H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity():int:this] cmp eax, dword ptr [ebp-10H] jne SHORT G_M000_IG03 mov edx, bword ptr [ebp-08H] mov edx, dword ptr [edx+04H] inc edx mov dword ptr [ebp-14H], edx push dword ptr [ebp+08H] mov edx, dword ptr [ebp-14H] mov ecx, bword ptr [ebp-08H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:EnsureCapacity(int):this] G_M000_IG03: push dword ptr [ebp+08H] mov ecx, bword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:UncheckedAdd(System.__Canon):this] G_M000_IG04: mov esp, ebp pop ebp ret 4 ; Total bytes of code 90 1291: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Add(System.__Canon) [Tier0, IL size=36, code size=90] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax] mov gword ptr [ebp-0CH], eax mov eax, gword ptr [ebp-0CH] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp-0CH], 0 jne SHORT G_M000_IG04 xor eax, eax G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov eax, gword ptr [ebp-10H] mov eax, dword ptr [eax+04H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 56 1292: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity() [Tier0, IL size=15, code size=56] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:EnsureCapacity(int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 xor eax, eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-28H], eax mov eax, dword ptr [ebp+08H] mov dword ptr [ebp-04H], eax mov bword ptr [ebp-08H], ecx mov dword ptr [ebp-0CH], edx G_M000_IG02: mov ecx, bword ptr [ebp-08H] mov edx, dword ptr [ebp+08H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:get_Capacity():int:this] mov dword ptr [ebp-10H], eax cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG03 mov eax, dword ptr [ebp-10H] add eax, eax mov dword ptr [ebp-1CH], eax jmp SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-1CH], 4 G_M000_IG04: mov eax, dword ptr [ebp-1CH] mov dword ptr [ebp-14H], eax call [System.Array:get_MaxLength():int] cmp eax, dword ptr [ebp-14H] jae SHORT G_M000_IG05 call [System.Array:get_MaxLength():int] mov dword ptr [ebp-24H], eax mov edx, dword ptr [ebp-24H] mov ecx, dword ptr [ebp-10H] inc ecx call [System.Math:Max(int,int):int] mov dword ptr [ebp-14H], eax G_M000_IG05: mov ecx, dword ptr [ebp-14H] mov edx, dword ptr [ebp-0CH] call [System.Math:Max(int,int):int] mov dword ptr [ebp-14H], eax mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] cmp dword ptr [ecx+08H], 0 je SHORT G_M000_IG07 G_M000_IG06: mov ecx, dword ptr [ebp+08H] mov ecx, dword ptr [ecx+20H] mov ecx, dword ptr [ecx] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-20H], ecx jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, dword ptr [ebp+08H] mov edx, 0xD1FFAB1E call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov dword ptr [ebp-20H], eax G_M000_IG08: mov ecx, dword ptr [ebp-20H] mov edx, dword ptr [ebp-14H] call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [ebp-18H], eax mov ecx, bword ptr [ebp-08H] cmp dword ptr [ecx+04H], 0 jle SHORT G_M000_IG09 mov ecx, bword ptr [ebp-08H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-28H], ecx mov ecx, bword ptr [ebp-08H] push dword ptr [ecx+04H] mov ecx, gword ptr [ebp-28H] mov edx, gword ptr [ebp-18H] call [System.Array:Copy(System.Array,System.Array,int)] G_M000_IG09: mov edx, bword ptr [ebp-08H] mov eax, gword ptr [ebp-18H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX G_M000_IG10: mov esp, ebp pop ebp ret 4 ; Total bytes of code 233 1293: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:EnsureCapacity(int) [Tier0, IL size=89, code size=233] ; Assembly listing for method System.Collections.Generic.ArrayBuilder`1[System.__Canon]:UncheckedAdd(System.__Canon):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-10H], eax mov bword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-10H], ecx mov ecx, bword ptr [ebp-04H] mov ecx, dword ptr [ecx+04H] mov dword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov edx, bword ptr [ebp-04H] mov dword ptr [edx+04H], ecx push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-10H] mov edx, dword ptr [ebp-0CH] call CORINFO_HELP_ARRADDR_ST G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 64 1294: JIT compiled System.Collections.Generic.ArrayBuilder`1[System.__Canon]:UncheckedAdd(System.__Canon) [Tier0, IL size=30, code size=64] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:ToArray():BenchmarkDotNet.Reports.Measurement[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: lea edx, [ebp-08H] mov ecx, bword ptr [ebp-04H] call [System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:TryMove(byref):bool:this] test eax, eax je SHORT G_M000_IG04 mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+10H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC mov gword ptr [ebp-08H], eax push 0 mov ecx, bword ptr [ebp-04H] push dword ptr [ecx+10H] mov ecx, bword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int,int):this] mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 83 1295: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:ToArray() [Tier0, IL size=40, code size=83] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:TryMove(byref):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] mov eax, gword ptr [edx] mov edx, bword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+10H] mov edx, bword ptr [ebp-04H] mov edx, gword ptr [edx] cmp eax, dword ptr [edx+04H] sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 49 1296: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:TryMove(byref) [Tier0, IL size=25, code size=49] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov gword ptr [ebp-18H], edx mov edi, ecx mov ebx, dword ptr [ebp+0CH] mov esi, dword ptr [ebp+08H] G_M000_IG02: xor edx, edx test esi, esi jle SHORT G_M000_IG10 G_M000_IG03: test edx, edx je SHORT G_M000_IG06 G_M000_IG04: cmp edx, dword ptr [edi+18H] jle SHORT G_M000_IG05 mov ecx, gword ptr [edi+04H] jmp SHORT G_M000_IG07 G_M000_IG05: mov ecx, gword ptr [edi+14H] lea eax, [edx-01H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG12 mov dword ptr [ebp-10H], edx mov ecx, gword ptr [ecx+4*edx+04H] mov edx, dword ptr [ebp-10H] jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, gword ptr [edi] G_M000_IG07: mov eax, dword ptr [ecx+04H] cmp esi, eax jg SHORT G_M000_IG11 G_M000_IG08: mov eax, esi mov dword ptr [ebp-10H], edx G_M000_IG09: push gword ptr [ebp-18H] push ebx mov dword ptr [ebp-14H], eax push eax xor edx, edx call [System.Array:Copy(System.Array,int,System.Array,int,int)] mov eax, dword ptr [ebp-14H] sub esi, eax add ebx, eax mov edx, dword ptr [ebp-10H] inc edx test esi, esi jg SHORT G_M000_IG03 G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG11: mov dword ptr [ebp-10H], edx jmp SHORT G_M000_IG09 G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 129 1297: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[BenchmarkDotNet.Reports.Measurement]:CopyTo(BenchmarkDotNet.Reports.Measurement[],int,int) [Tier-0 switched to FullOpts, IL size=51, code size=129] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults:get_Workload():System.Collections.Generic.IReadOnlyList`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vxorps xmm4, xmm4 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 1298: JIT compiled BenchmarkDotNet.Engines.RunResults:get_Workload() [Tier0, IL size=48, code size=138] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:b__7_0(BenchmarkDotNet.Reports.Measurement):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: sub esp, 32 vmovdqu xmm0, xmmword ptr [ebp+08H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp+18H] vmovdqu xmmword ptr [esp+10H], xmm0 mov ecx, 1 mov edx, 3 call [BenchmarkDotNet.Reports.MeasurementExtensions:Is(BenchmarkDotNet.Reports.Measurement,int,int):bool] G_M000_IG03: mov esp, ebp pop ebp ret 32 ; Total bytes of code 56 1299: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:b__7_0(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=9, code size=56] ; Assembly listing for method System.SZArrayHelper:get_Count[BenchmarkDotNet.Reports.Measurement]():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 1300: JIT compiled System.SZArrayHelper:get_Count[BenchmarkDotNet.Reports.Measurement]() [Tier0, IL size=11, code size=30] ; Assembly listing for method System.Linq.Enumerable:Select[BenchmarkDotNet.Reports.Measurement,double](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):System.Collections.Generic.IEnumerable`1[double] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vxorps xmm4, xmm4 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 1301: JIT compiled System.Linq.Enumerable:Select[BenchmarkDotNet.Reports.Measurement,double](System.Collections.Generic.IEnumerable`1[BenchmarkDotNet.Reports.Measurement],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]) [Tier0, IL size=146, code size=448] ; Assembly listing for method System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:.ctor(BenchmarkDotNet.Reports.Measurement[],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[double]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 1302: JIT compiled System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:.ctor(BenchmarkDotNet.Reports.Measurement[],System.Func`2[BenchmarkDotNet.Reports.Measurement,double]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[double]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] call System.Environment:get_CurrentManagedThreadId():int mov edx, gword ptr [ebp-04H] mov dword ptr [edx+0CH], eax G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 1303: JIT compiled System.Linq.Enumerable+Iterator`1[double]:.ctor() [Tier0, IL size=18, code size=31] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:.ctor(System.Collections.Generic.IEnumerable`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 284 vzeroupper vxorps xmm4, xmm4 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 vcvtsi2sd 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 vmovdqu ymmword ptr [ebp-E8H], ymm0 vmovq qword ptr [ebp-C8H], xmm0 vmovq qword ptr [ebp-C0H], xmm0 vmovq qword ptr [ebp-B8H], xmm0 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 1773 1304: JIT compiled BenchmarkDotNet.Mathematics.Statistics:.ctor(System.Collections.Generic.IEnumerable`1[double]) [Tier0, IL size=535, code size=1773] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics+<>c:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics+<>c:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 1305: JIT compiled BenchmarkDotNet.Mathematics.Statistics+<>c:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics+<>c:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1306: JIT compiled BenchmarkDotNet.Mathematics.Statistics+<>c:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Where[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]):System.Collections.Generic.IEnumerable`1[double] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vxorps xmm4, xmm4 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 1307: JIT compiled System.Linq.Enumerable:Where[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]) [Tier0, IL size=94, code size=293] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[double]:Where(System.Func`2[double,bool]):System.Collections.Generic.IEnumerable`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax push gword ptr [ebp-08H] mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] call [System.Linq.Enumerable+WhereEnumerableIterator`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]):this] mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 52 1308: JIT compiled System.Linq.Enumerable+Iterator`1[double]:Where(System.Func`2[double,bool]) [Tier0, IL size=8, code size=52] ; Assembly listing for method System.Linq.Enumerable+WhereEnumerableIterator`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[double]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 1309: JIT compiled System.Linq.Enumerable+WhereEnumerableIterator`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,bool]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable:ToArray[double](System.Collections.Generic.IEnumerable`1[double]):double[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: cmp gword ptr [ebp-04H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: mov edx, gword ptr [ebp-04H] mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov gword ptr [ebp-08H], eax cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG05 mov ecx, gword ptr [ebp-04H] call [System.Collections.Generic.EnumerableHelpers:ToArray[double](System.Collections.Generic.IEnumerable`1[double]):double[]] G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: mov ecx, gword ptr [ebp-08H] call [System.Linq.IIListProvider`1[double]:ToArray():double[]:this] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 80 1310: JIT compiled System.Linq.Enumerable:ToArray[double](System.Collections.Generic.IEnumerable`1[double]) [Tier0, IL size=34, code size=80] ; Assembly listing for method System.Linq.Enumerable+WhereEnumerableIterator`1[double]:ToArray():double[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 68 vzeroupper vxorps xmm4, xmm4 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, 62 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 1311: JIT compiled System.Linq.Enumerable+WhereEnumerableIterator`1[double]:ToArray() [Tier-0 switched to FullOpts, IL size=78, code size=256] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] cmp dword ptr [eax+10H], 0 jne SHORT G_M000_IG03 mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] mov dword ptr [ebp-10H], eax call System.Environment:get_CurrentManagedThreadId():int cmp eax, dword ptr [ebp-10H] je SHORT G_M000_IG04 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]System.Linq.Enumerable+Iterator`1[double]:Clone():System.Linq.Enumerable+Iterator`1[double]:this mov gword ptr [ebp-0CH], eax jmp SHORT G_M000_IG05 G_M000_IG04: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax G_M000_IG05: mov eax, gword ptr [ebp-0CH] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov dword ptr [eax+10H], 1 mov eax, gword ptr [ebp-08H] G_M000_IG06: mov esp, ebp pop ebp ret ; Total bytes of code 93 1312: JIT compiled System.Linq.Enumerable+Iterator`1[double]:GetEnumerator() [Tier0, IL size=40, code size=93] ; Assembly listing for method System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext():bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 24 vzeroupper xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] cmp dword ptr [ecx+10H], 0 setle cl movzx ecx, cl mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+10H] mov edx, gword ptr [ebp-04H] mov edx, gword ptr [edx+14H] mov edx, dword ptr [edx+04H] inc edx cmp eax, edx sete al movzx eax, al or ecx, eax test ecx, ecx je SHORT 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_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+10H] mov dword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-0CH] inc ecx mov eax, gword ptr [ebp-04H] mov dword ptr [eax+10H], ecx mov ecx, dword ptr [ebp-0CH] dec ecx mov dword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+18H] mov gword ptr [ebp-10H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+14H] mov eax, dword ptr [ebp-08H] 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_IG05: mov esp, ebp pop ebp ret G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 202 1313: JIT compiled System.Linq.Enumerable+SelectArrayIterator`2[BenchmarkDotNet.Reports.Measurement,double]:MoveNext() [Tier0, IL size=89, code size=202] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:b__18_0(BenchmarkDotNet.Reports.Measurement):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+08H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 32 ; Total bytes of code 43 1314: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:b__18_0(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=8, code size=43] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[double]:get_Current():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+04H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1315: JIT compiled System.Linq.Enumerable+Iterator`1[double]:get_Current() [Tier0, IL size=7, code size=32] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics+<>c:<.ctor>b__69_0(double):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 call [System.Double:IsNaN(double):bool] test eax, eax sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 43 1316: JIT compiled BenchmarkDotNet.Mathematics.Statistics+<>c:<.ctor>b__69_0(double) [Tier0, IL size=10, code size=43] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[double]:AddWithBufferAllocation(double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [System.Collections.Generic.LargeArrayBuilder`1[double]:AllocateBuffer():this] mov eax, bword ptr [ebp-04H] mov eax, gword ptr [eax+04H] mov gword ptr [ebp-0CH], eax mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+0CH] mov dword ptr [ebp-08H], eax mov eax, dword ptr [ebp-08H] inc eax mov edx, bword ptr [ebp-04H] mov dword ptr [edx+0CH], eax mov eax, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG04 lea eax, bword ptr [eax+8*edx+08H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 8 G_M000_IG04: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 90 1317: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[double]:AddWithBufferAllocation(double) [Tier0, IL size=36, code size=90] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[double]:AllocateBuffer():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 xor eax, eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov dword ptr [ebp-1CH], eax mov dword ptr [ebp-20H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov edx, bword ptr [ebp-04H] cmp dword ptr [edx+10H], 8 jae G_M000_IG06 mov edx, bword ptr [ebp-04H] cmp dword ptr [edx+10H], 0 je SHORT G_M000_IG03 mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+10H] add edx, edx mov dword ptr [ebp-10H], edx jmp SHORT G_M000_IG04 G_M000_IG03: mov dword ptr [ebp-10H], 4 G_M000_IG04: mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+08H] mov ecx, dword ptr [ebp-10H] call [System.Math:Min(int,int):int] mov dword ptr [ebp-08H], eax mov edx, dword ptr [ebp-08H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-14H], ecx mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-18H], ecx mov ecx, bword ptr [ebp-04H] push dword ptr [ecx+10H] mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-18H] call [System.Array:Copy(System.Array,System.Array,int)] mov edx, bword ptr [ebp-04H] mov ecx, gword ptr [edx+04H] mov edx, bword ptr [ebp-04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_ECX G_M000_IG05: mov esp, ebp pop ebp ret G_M000_IG06: mov ecx, bword ptr [ebp-04H] cmp dword ptr [ecx+10H], 8 jne SHORT G_M000_IG07 mov dword ptr [ebp-0CH], 8 jmp SHORT G_M000_IG08 G_M000_IG07: mov ecx, bword ptr [ebp-04H] cmp byte ptr [ecx], cl mov ecx, bword ptr [ebp-04H] add ecx, 20 mov bword ptr [ebp-1CH], ecx mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-20H], ecx push 0xD1FFAB1E mov ecx, bword ptr [ebp-1CH] mov edx, gword ptr [ebp-20H] call [System.Collections.Generic.ArrayBuilder`1[System.__Canon]:Add(System.__Canon):this] mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+08H] mov ecx, bword ptr [ebp-04H] sub edx, dword ptr [ecx+10H] mov ecx, bword ptr [ebp-04H] mov ecx, dword ptr [ecx+10H] call [System.Math:Min(int,int):int] mov dword ptr [ebp-0CH], eax G_M000_IG08: mov edx, dword ptr [ebp-0CH] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov edx, bword ptr [ebp-04H] lea edx, bword ptr [edx+04H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] xor edx, edx mov dword ptr [eax+0CH], edx G_M000_IG09: mov esp, ebp pop ebp ret ; Total bytes of code 281 1318: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[double]:AllocateBuffer() [Tier0, IL size=163, code size=281] ; Assembly listing for method System.Linq.Enumerable+Iterator`1[double]:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vxorps xmm0, xmm0 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 1319: JIT compiled System.Linq.Enumerable+Iterator`1[double]:Dispose() [Tier0, IL size=20, code size=36] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[double]:ToArray():double[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: lea edx, [ebp-08H] mov ecx, bword ptr [ebp-04H] call [System.Collections.Generic.LargeArrayBuilder`1[double]:TryMove(byref):bool:this] test eax, eax je SHORT G_M000_IG04 mov eax, gword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov edx, bword ptr [ebp-04H] mov edx, dword ptr [edx+10H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-08H], eax push 0 mov ecx, bword ptr [ebp-04H] push dword ptr [ecx+10H] mov ecx, bword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Collections.Generic.LargeArrayBuilder`1[double]:CopyTo(double[],int,int):this] mov eax, gword ptr [ebp-08H] G_M000_IG05: mov esp, ebp pop ebp ret ; Total bytes of code 83 1320: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[double]:ToArray() [Tier0, IL size=40, code size=83] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[double]:TryMove(byref):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov bword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov edx, bword ptr [ebp-04H] mov eax, gword ptr [edx] mov edx, bword ptr [ebp-08H] call CORINFO_HELP_CHECKED_ASSIGN_REF_EAX mov eax, bword ptr [ebp-04H] mov eax, dword ptr [eax+10H] mov edx, bword ptr [ebp-04H] mov edx, gword ptr [edx] cmp eax, dword ptr [edx+04H] sete al movzx eax, al G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 49 1321: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[double]:TryMove(byref) [Tier0, IL size=25, code size=49] ; Assembly listing for method System.Collections.Generic.LargeArrayBuilder`1[double]:CopyTo(double[],int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 12 mov gword ptr [ebp-18H], edx mov edi, ecx mov ebx, dword ptr [ebp+0CH] mov esi, dword ptr [ebp+08H] G_M000_IG02: xor edx, edx test esi, esi jle SHORT G_M000_IG10 G_M000_IG03: test edx, edx je SHORT G_M000_IG06 G_M000_IG04: cmp edx, dword ptr [edi+18H] jle SHORT G_M000_IG05 mov ecx, gword ptr [edi+04H] jmp SHORT G_M000_IG07 G_M000_IG05: mov ecx, gword ptr [edi+14H] lea eax, [edx-01H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG12 mov dword ptr [ebp-10H], edx mov ecx, gword ptr [ecx+4*edx+04H] mov edx, dword ptr [ebp-10H] jmp SHORT G_M000_IG07 G_M000_IG06: mov ecx, gword ptr [edi] G_M000_IG07: mov eax, dword ptr [ecx+04H] cmp esi, eax jg SHORT G_M000_IG11 G_M000_IG08: mov eax, esi mov dword ptr [ebp-10H], edx G_M000_IG09: push gword ptr [ebp-18H] push ebx mov dword ptr [ebp-14H], eax push eax xor edx, edx call [System.Array:Copy(System.Array,int,System.Array,int,int)] mov eax, dword ptr [ebp-14H] sub esi, eax add ebx, eax mov edx, dword ptr [ebp-10H] inc edx test esi, esi jg SHORT G_M000_IG03 G_M000_IG10: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 8 G_M000_IG11: mov dword ptr [ebp-10H], edx jmp SHORT G_M000_IG09 G_M000_IG12: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 129 1322: JIT compiled System.Collections.Generic.LargeArrayBuilder`1[double]:CopyTo(double[],int,int) [Tier-0 switched to FullOpts, IL size=51, code size=129] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:get_OriginalValues():System.Collections.Generic.IReadOnlyList`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+74H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1323: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_OriginalValues() [Tier0, IL size=7, code size=17] ; Assembly listing for method System.Linq.Enumerable:OrderBy[double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):System.Linq.IOrderedEnumerable`1[double] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax push gword ptr [ebp-08H] push 0 push 0 push 0 mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-04H] call [System.Linq.OrderedEnumerable`2[double,double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double],System.Collections.Generic.IComparer`1[double],bool,System.Linq.OrderedEnumerable`1[double]):this] mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 58 1324: JIT compiled System.Linq.Enumerable:OrderBy[double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]) [Tier0, IL size=11, code size=58] ; Assembly listing for method System.Linq.OrderedEnumerable`2[double,double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double],System.Collections.Generic.IComparer`1[double],bool,System.Linq.OrderedEnumerable`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.OrderedEnumerable`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double]):this] cmp gword ptr [ebp-08H], 0 jne SHORT G_M000_IG03 mov ecx, 16 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG03: cmp gword ptr [ebp+14H], 0 jne SHORT G_M000_IG04 mov ecx, 9 call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)] G_M000_IG04: mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+14H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax mov eax, gword ptr [ebp+10H] mov gword ptr [ebp-10H], eax cmp gword ptr [ebp+10H], 0 jne SHORT G_M000_IG05 call [System.Collections.Generic.Comparer`1[double]:get_Default():System.Collections.Generic.Comparer`1[double]] mov gword ptr [ebp-10H], eax G_M000_IG05: mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+10H] mov eax, gword ptr [ebp-10H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov edx, dword ptr [ebp+0CH] mov byte ptr [eax+14H], dl G_M000_IG06: mov esp, ebp pop ebp ret 16 ; Total bytes of code 150 1325: JIT compiled System.Linq.OrderedEnumerable`2[double,double]:.ctor(System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double],System.Collections.Generic.IComparer`1[double],bool,System.Linq.OrderedEnumerable`1[double]) [Tier0, IL size=67, code size=150] ; Assembly listing for method System.Linq.OrderedEnumerable`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 39 1326: JIT compiled System.Linq.OrderedEnumerable`1[double]:.ctor(System.Collections.Generic.IEnumerable`1[double]) [Tier0, IL size=14, code size=39] ; Assembly listing for method System.Linq.OrderedEnumerable`1[double]:ToArray():double[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; 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, 12 vzeroupper xor eax, eax mov dword ptr [ebp-14H], eax mov esi, ecx G_M000_IG02: mov edi, gword ptr [esi+04H] mov edx, edi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] test eax, eax je SHORT G_M000_IG04 G_M000_IG03: mov ecx, eax call [System.Linq.IIListProvider`1[double]:ToArray():double[]:this] mov gword ptr [ebp-14H], eax mov edx, dword ptr [eax+04H] mov dword ptr [ebp-10H], edx jmp SHORT G_M000_IG05 align [4 bytes for IG09] G_M000_IG04: lea edx, [ebp-10H] mov ecx, edi call [System.Collections.Generic.EnumerableHelpers:ToArray[double](System.Collections.Generic.IEnumerable`1[double],byref):double[]] mov gword ptr [ebp-14H], eax G_M000_IG05: mov edx, dword ptr [ebp-10H] test edx, edx jne SHORT G_M000_IG08 G_M000_IG06: mov eax, gword ptr [ebp-14H] G_M000_IG07: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG08: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov edi, eax mov ebx, gword ptr [ebp-14H] mov eax, dword ptr [ebp-10H] mov dword ptr [ebp-18H], eax mov ecx, esi xor edx, edx mov esi, dword ptr [esi] mov esi, dword ptr [esi+2CH] call [esi+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-18H] mov edx, ebx cmp dword ptr [ecx], ecx call [System.Linq.EnumerableSorter`1[double]:Sort(double[],int):int[]:this] xor edx, edx mov ecx, dword ptr [edi+04H] test ecx, ecx jle SHORT G_M000_IG12 test eax, eax je SHORT G_M000_IG11 cmp dword ptr [eax+04H], ecx jl SHORT G_M000_IG11 G_M000_IG09: mov esi, dword ptr [eax+4*edx+08H] mov ebx, gword ptr [ebp-14H] cmp esi, dword ptr [ebx+04H] jae SHORT G_M000_IG14 mov ebx, gword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebx+8*esi+08H] vmovsd qword ptr [edi+8*edx+08H], xmm0 inc edx cmp ecx, edx jg SHORT G_M000_IG09 G_M000_IG10: jmp SHORT G_M000_IG12 G_M000_IG11: cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG14 mov esi, dword ptr [eax+4*edx+08H] mov ebx, gword ptr [ebp-14H] cmp esi, dword ptr [ebx+04H] jae SHORT G_M000_IG14 mov ebx, gword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebx+8*esi+08H] vmovsd qword ptr [edi+8*edx+08H], xmm0 inc edx cmp ecx, edx jg SHORT G_M000_IG11 G_M000_IG12: mov eax, edi G_M000_IG13: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG14: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 247 1327: JIT compiled System.Linq.OrderedEnumerable`1[double]:ToArray() [Tier-0 switched to FullOpts, IL size=88, code size=247] ; Assembly listing for method System.Collections.Generic.EnumerableHelpers:ToArray[double](System.Collections.Generic.IEnumerable`1[double],byref):double[] ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 48 vzeroupper xor eax, eax mov dword ptr [ebp-2CH], eax mov dword ptr [ebp-24H], eax mov dword ptr [ebp-30H], eax mov dword ptr [ebp-18H], eax mov edi, ecx mov esi, edx G_M000_IG02: mov edx, edi mov ecx, 0xD1FFAB1E call [CORINFO_HELP_ISINSTANCEOFINTERFACE] mov ebx, eax test ebx, ebx je SHORT G_M000_IG04 mov ecx, ebx call [System.Collections.Generic.ICollection`1[double]:get_Count():int:this] mov edi, eax test edi, edi je G_M000_IG19 mov edx, edi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-28H], eax push 0 mov ecx, ebx mov edx, eax call [System.Collections.Generic.ICollection`1[double]:CopyTo(double[],int):this] mov dword ptr [esi], edi mov eax, gword ptr [ebp-28H] G_M000_IG03: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG04: mov ecx, edi call [System.Collections.Generic.IEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this] mov gword ptr [ebp-2CH], eax G_M000_IG05: mov ecx, eax call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG15 mov ecx, 0xD1FFAB1E mov edx, 4 call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-24H], eax mov edi, gword ptr [ebp-24H] mov ecx, gword ptr [ebp-2CH] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-3CH] vmovsd xmm0, qword ptr [ebp-3CH] cmp dword ptr [edi+04H], 0 jbe SHORT G_M000_IG09 vmovsd qword ptr [edi+08H], xmm0 mov edi, 1 mov ecx, gword ptr [ebp-2CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG08 G_M000_IG06: mov ecx, gword ptr [ebp-24H] cmp dword ptr [ecx+04H], edi jne SHORT G_M000_IG12 G_M000_IG07: lea edx, [edi+edi] cmp edx, 0xD1FFAB1E jbe SHORT G_M000_IG11 cmp edi, 0xD1FFAB1E jge SHORT G_M000_IG10 mov edx, 0xD1FFAB1E jmp SHORT G_M000_IG11 G_M000_IG08: mov ebx, edi jmp SHORT G_M000_IG13 G_M000_IG09: call CORINFO_HELP_RNGCHKFAIL G_M000_IG10: lea edx, [edi+01H] G_M000_IG11: lea ecx, [ebp-24H] call [System.Array:Resize[double](byref,int)] G_M000_IG12: lea ecx, [edi+01H] mov ebx, ecx mov eax, gword ptr [ebp-24H] mov gword ptr [ebp-34H], eax mov ecx, gword ptr [ebp-2CH] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-3CH] vmovsd xmm0, qword ptr [ebp-3CH] mov ecx, gword ptr [ebp-34H] cmp edi, dword ptr [ecx+04H] jae SHORT G_M000_IG09 vmovsd qword ptr [ecx+8*edi+08H], xmm0 mov ecx, gword ptr [ebp-2CH] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG14 G_M000_IG13: mov dword ptr [esi], ebx mov eax, gword ptr [ebp-24H] mov gword ptr [ebp-30H], eax mov dword ptr [ebp-1CH], 0 mov dword ptr [ebp-18H], 252 push G_M000_IG16 jmp SHORT G_M000_IG17 G_M000_IG14: mov edi, ebx jmp G_M000_IG06 G_M000_IG15: mov ecx, gword ptr [ebp-2CH] call [System.IDisposable:Dispose():this] jmp SHORT G_M000_IG19 G_M000_IG16: mov dword ptr [ebp-18H], 0 jmp SHORT G_M000_IG21 G_M000_IG17: mov ecx, gword ptr [ebp-2CH] test ecx, ecx je SHORT G_M000_IG18 call [System.IDisposable:Dispose():this] mov ecx, gword ptr [ebp-2CH] G_M000_IG18: pop eax jmp eax G_M000_IG19: xor eax, eax mov dword ptr [esi], eax mov eax, gword ptr [D1FFAB1EH] G_M000_IG20: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG21: mov eax, gword ptr [ebp-30H] G_M000_IG22: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret ; Total bytes of code 414 1328: JIT compiled System.Collections.Generic.EnumerableHelpers:ToArray[double](System.Collections.Generic.IEnumerable`1[double],byref) [Tier-0 switched to FullOpts, IL size=203, code size=414] ; Assembly listing for method System.SZArrayHelper:get_Count[double]():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-08H], eax mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax+04H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 30 1329: JIT compiled System.SZArrayHelper:get_Count[double]() [Tier0, IL size=11, code size=30] ; Assembly listing for method System.SZArrayHelper:CopyTo[double](double[],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], ecx push gword ptr [ebp-08H] push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-0CH] push dword ptr [ecx+04H] mov ecx, gword ptr [ebp-0CH] xor edx, edx call [System.Array:Copy(System.Array,int,System.Array,int,int)] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 52 1330: JIT compiled System.SZArrayHelper:CopyTo[double](double[],int) [Tier0, IL size=20, code size=52] ; Assembly listing for method System.Linq.OrderedEnumerable`2[double,double]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[double]):System.Linq.EnumerableSorter`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4 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 1331: JIT compiled System.Linq.OrderedEnumerable`2[double,double]:GetEnumerableSorter(System.Linq.EnumerableSorter`1[double]) [Tier0, IL size=96, code size=134] ; Assembly listing for method System.Linq.EnumerableSorter`2[double,double]:.ctor(System.Func`2[double,double],System.Collections.Generic.IComparer`1[double],bool,System.Linq.EnumerableSorter`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.EnumerableSorter`1[double]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+08H] mov eax, gword ptr [ebp+10H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] mov eax, dword ptr [ebp+0CH] mov byte ptr [edx+14H], al mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+0CH] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 12 ; Total bytes of code 78 1332: JIT compiled System.Linq.EnumerableSorter`2[double,double]:.ctor(System.Func`2[double,double],System.Collections.Generic.IComparer`1[double],bool,System.Linq.EnumerableSorter`1[double]) [Tier0, IL size=36, code size=78] ; Assembly listing for method System.Linq.EnumerableSorter`1[double]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1333: JIT compiled System.Linq.EnumerableSorter`1[double]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.EnumerableSorter`1[double]:Sort(double[],int):int[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: push dword ptr [ebp+08H] mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.EnumerableSorter`1[double]:ComputeMap(double[],int):int[]:this] mov gword ptr [ebp-0CH], eax push 0 mov ecx, dword ptr [ebp+08H] dec ecx push ecx mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-0CH] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+18H]System.Linq.EnumerableSorter`1[double]:QuickSort(int[],int,int):this mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 68 1334: JIT compiled System.Linq.EnumerableSorter`1[double]:Sort(double[],int) [Tier0, IL size=22, code size=68] ; Assembly listing for method System.Linq.EnumerableSorter`1[double]:ComputeMap(double[],int):int[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push esi mov esi, dword ptr [ebp+08H] G_M000_IG02: push esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+10H]System.Linq.EnumerableSorter`1[double]:ComputeKeys(double[],int):this mov edx, esi mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_VC xor edx, edx mov ecx, dword ptr [eax+04H] test ecx, ecx jle SHORT G_M000_IG04 align [0 bytes for IG03] G_M000_IG03: mov dword ptr [eax+4*edx+08H], edx inc edx cmp ecx, edx jg SHORT G_M000_IG03 G_M000_IG04: pop esi pop ebp ret 4 ; Total bytes of code 51 1335: JIT compiled System.Linq.EnumerableSorter`1[double]:ComputeMap(double[],int) [Tier-0 switched to FullOpts, IL size=35, code size=51] ; Assembly listing for method System.Linq.EnumerableSorter`2[double,double]:ComputeKeys(double[],int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 20 vzeroupper mov edi, ecx mov esi, edx G_M000_IG02: mov ebx, gword ptr [edi+04H] mov ecx, 0xD1FFAB1E mov edx, 4 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS cmp ebx, gword ptr [D1FFAB1EH] je G_M000_IG10 G_M000_IG03: mov edx, dword ptr [ebp+08H] mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWARR_1_ALIGN8 mov gword ptr [ebp-18H], eax xor edx, edx mov ecx, dword ptr [eax+04H] mov dword ptr [ebp-14H], ecx test ecx, ecx jle SHORT G_M000_IG09 test esi, esi je SHORT G_M000_IG07 cmp dword ptr [esi+04H], ecx jl SHORT G_M000_IG08 G_M000_IG04: mov dword ptr [ebp-10H], edx vmovsd xmm0, qword ptr [esi+8*edx+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[double,double]:Invoke(double):double:this fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] mov eax, gword ptr [ebp-18H] mov ecx, dword ptr [ebp-10H] vmovsd qword ptr [eax+8*ecx+08H], xmm0 inc ecx mov edx, dword ptr [ebp-14H] cmp edx, ecx jg SHORT G_M000_IG06 G_M000_IG05: jmp SHORT G_M000_IG09 G_M000_IG06: mov edx, ecx jmp SHORT G_M000_IG04 G_M000_IG07: G_M000_IG08: cmp edx, dword ptr [esi+04H] jae SHORT G_M000_IG15 mov dword ptr [ebp-10H], edx vmovsd xmm0, qword ptr [esi+8*edx+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebx+04H] call [ebx+0CH]System.Func`2[double,double]:Invoke(double):double:this fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] mov ecx, gword ptr [ebp-18H] mov edx, dword ptr [ebp-10H] vmovsd qword ptr [ecx+8*edx+08H], xmm0 inc edx mov eax, dword ptr [ebp-14H] cmp eax, edx jg SHORT G_M000_IG08 G_M000_IG09: lea edx, bword ptr [edi+10H] mov eax, gword ptr [ebp-18H] call CORINFO_HELP_ASSIGN_REF_EAX jmp SHORT G_M000_IG11 G_M000_IG10: lea edx, bword ptr [edi+10H] call CORINFO_HELP_ASSIGN_REF_ESI G_M000_IG11: mov ecx, gword ptr [edi+0CH] test ecx, ecx jne SHORT G_M000_IG13 G_M000_IG12: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG13: push dword ptr [ebp+08H] mov edx, esi mov eax, dword ptr [ecx] mov eax, dword ptr [eax+28H] call [eax+10H]System.Linq.EnumerableSorter`1[double]:ComputeKeys(double[],int):this G_M000_IG14: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret 4 G_M000_IG15: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 263 1336: JIT compiled System.Linq.EnumerableSorter`2[double,double]:ComputeKeys(double[],int) [Tier-0 switched to FullOpts, IL size=96, code size=263] ; Assembly listing for method System.Linq.EnumerableSorter`1[double]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 xor eax, eax mov dword ptr [ebp-04H], eax mov dword ptr [ebp-08H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, 0xD1FFAB1E mov edx, 5 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS mov edx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], edx push 0xD1FFAB1E mov edx, gword ptr [ebp-08H] mov ecx, gword ptr [ebp-04H] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 85 1337: JIT compiled System.Linq.EnumerableSorter`1[double]:.cctor() [Tier0, IL size=22, code size=85] ; Assembly listing for method System.Linq.EnumerableSorter`1+<>c[double]:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [System.Linq.EnumerableSorter`1+<>c[double]:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 1338: JIT compiled System.Linq.EnumerableSorter`1+<>c[double]:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method System.Linq.EnumerableSorter`1+<>c[double]:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1339: JIT compiled System.Linq.EnumerableSorter`1+<>c[double]:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics+<>c:<.ctor>b__69_1(double):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 31 1340: JIT compiled BenchmarkDotNet.Mathematics.Statistics+<>c:<.ctor>b__69_1(double) [Tier0, IL size=2, code size=31] ; Assembly listing for method System.Linq.EnumerableSorter`2[double,double]:QuickSort(int[],int,int):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vxorps xmm4, xmm4 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 1341: JIT compiled System.Linq.EnumerableSorter`2[double,double]:QuickSort(int[],int,int) [Tier0, IL size=109, code size=250] ; Assembly listing for method System.Linq.EnumerableSorter`2[double,double]:CompareAnyKeys_DefaultComparer_NoNext_Ascending(int,int):int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+10H] mov gword ptr [ebp-0CH], eax call [System.Collections.Generic.Comparer`1[double]:get_Default():System.Collections.Generic.Comparer`1[double]] mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-08H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG06 lea ecx, bword ptr [ecx+8*eax+08H] vmovsd xmm0, qword ptr [ecx] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp+08H] cmp eax, dword ptr [ecx+04H] jae SHORT G_M000_IG06 lea ecx, bword ptr [ecx+8*eax+08H] vmovsd xmm0, qword ptr [ecx] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-14H] mov eax, gword ptr [ebp-14H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]System.Collections.Generic.Comparer`1[double]:Compare(double,double):int:this mov dword ptr [ebp-10H], eax cmp dword ptr [ebp-10H], 0 je SHORT G_M000_IG04 mov eax, dword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret 4 G_M000_IG04: mov eax, dword ptr [ebp-08H] sub eax, dword ptr [ebp+08H] G_M000_IG05: mov esp, ebp pop ebp ret 4 G_M000_IG06: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 145 1342: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+78H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1343: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_SortedValues() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:get_N():int:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax+90H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1344: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_N() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:FromSorted(System.Collections.Generic.IReadOnlyList`1[double]):Perfolizer.Mathematics.QuantileEstimators.Quartiles ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 100 vzeroupper vxorps xmm4, xmm4 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 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 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 vmovdqu ymmword ptr [ebp-5CH], ymm0 vmovq qword ptr [ebp-3CH], 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 vmovsd xmm0, qword ptr [ebp-2CH] G_M000_IG03: 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 1345: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:FromSorted(System.Collections.Generic.IReadOnlyList`1[double]) [Tier0, IL size=124, code size=361] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.QuantileEstimatorHelper:CheckArguments(System.Collections.Generic.IReadOnlyList`1[double],double) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 40 vzeroupper vxorps xmm4, xmm4 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 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 1346: JIT compiled Perfolizer.Mathematics.QuantileEstimators.QuantileEstimatorHelper:CheckArguments(System.Collections.Generic.IReadOnlyList`1[double],double) [Tier0, IL size=95, code size=333] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:g__GetQuantile|24_0(double,byref):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, 0xD1FFAB1E mov edx, 37 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov ecx, gword ptr [D1FFAB1EH] mov gword ptr [ebp-08H], ecx mov ecx, bword ptr [ebp-04H] mov ecx, gword ptr [ecx] mov gword ptr [ebp-0CH], ecx vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] call [Perfolizer.Mathematics.QuantileEstimators.IQuantileEstimator:GetQuantileFromSorted(System.Collections.Generic.IReadOnlyList`1[double],double):double:this] fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 99 1347: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:g__GetQuantile|24_0(double,byref) [Tier0, IL size=18, code size=99] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.cctor() ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-04H], eax mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.ctor():this] mov eax, gword ptr [ebp-04H] mov edx, 0xD1FFAB1E call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 48 1348: JIT compiled Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.cctor() [Tier0, IL size=11, code size=48] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1349: JIT compiled Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:GetQuantileFromSorted(System.Collections.Generic.IReadOnlyList`1[double],double):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 44 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-08H] call [Perfolizer.Mathematics.QuantileEstimators.QuantileEstimatorHelper:CheckArguments(System.Collections.Generic.IReadOnlyList`1[double],double)] mov ecx, gword ptr [ebp-08H] call [System.Collections.Generic.IReadOnlyCollection`1[double]:get_Count():int:this] dec eax vxorps xmm0, xmm0 vcvtsi2sd 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 vcvtsi2sd 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 1350: JIT compiled Perfolizer.Mathematics.QuantileEstimators.SimpleQuantileEstimator:GetQuantileFromSorted(System.Collections.Generic.IReadOnlyList`1[double],double) [Tier0, IL size=76, code size=245] ; Assembly listing for method System.SZArrayHelper:get_Item[double](int):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov gword ptr [ebp-0CH], eax mov eax, dword ptr [ebp-08H] mov edx, gword ptr [ebp-0CH] cmp eax, dword ptr [edx+04H] jb SHORT G_M000_IG03 call [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()] G_M000_IG03: mov eax, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG05 lea eax, bword ptr [eax+8*edx+08H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 80 1351: JIT compiled System.SZArrayHelper:get_Item[double](int) [Tier0, IL size=26, code size=80] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:.ctor(double,double,double,double,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+28H] vmovsd qword ptr [eax], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+20H] vmovsd qword ptr [eax+08H], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+18H] vmovsd qword ptr [eax+10H], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+10H] vmovsd qword ptr [eax+18H], xmm0 mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp+08H] vmovsd qword ptr [eax+20H], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 40 ; Total bytes of code 80 1352: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:.ctor(double,double,double,double,double) [Tier0, IL size=38, code size=80] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Min():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q0():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 1353: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Min() [Tier0, IL size=7, code size=41] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q0():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 1354: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q0() [Tier0, IL size=7, code size=31] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q1():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+08H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1355: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q1() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Median():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q2():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 1356: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Median() [Tier0, IL size=7, code size=41] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q2():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+10H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1357: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q2() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q3():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+18H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1358: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q3() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Max():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q4():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 1359: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Max() [Tier0, IL size=7, code size=41] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q4():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+20H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1360: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q4() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_InterquartileRange():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q3():double:this] fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-0CH], xmm0 mov ecx, bword ptr [ebp-04H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q1():double:this] fstp qword ptr [ebp-14H] vmovsd xmm1, qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-14H] vsubsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 72 1361: JIT compiled Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_InterquartileRange() [Tier0, IL size=14, code size=72] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:Create(System.Collections.Generic.IReadOnlyList`1[double]):Perfolizer.Mathematics.Common.Moments ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 124 vzeroupper vxorps xmm4, xmm4 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 vcvtsi2sd 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 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 vmovdqu ymmword ptr [ebp-6CH], ymm0 vmovq qword ptr [ebp-4CH], 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] vmovdqu xmmword ptr [eax+18H], xmm0 G_M000_IG05: mov esp, ebp pop ebp ret RWD00 dq 3FF8000000000000h ; 1.5 RWD08 dq 4000000000000000h ; 2 ; Total bytes of code 524 1362: JIT compiled Perfolizer.Mathematics.Common.Moments:Create(System.Collections.Generic.IReadOnlyList`1[double]) [Tier0, IL size=151, code size=524] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1363: JIT compiled Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Average(System.Collections.Generic.IEnumerable`1[double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable:Average[double,double,double](System.Collections.Generic.IEnumerable`1[double]):double] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 41 1364: JIT compiled System.Linq.Enumerable:Average(System.Collections.Generic.IEnumerable`1[double]) [Tier0, IL size=7, code size=41] ; Assembly listing for method System.Linq.Enumerable:Average[double,double,double](System.Collections.Generic.IEnumerable`1[double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 10 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 92 vzeroupper xor eax, eax mov dword ptr [ebp-48H], eax mov dword ptr [ebp-18H], eax G_M000_IG02: test ecx, ecx je G_M000_IG18 cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG04 G_M000_IG03: lea eax, bword ptr [ecx+08H] mov esi, dword ptr [ecx+04H] jmp SHORT G_M000_IG05 G_M000_IG04: mov gword ptr [ebp-5CH], ecx cmp dword ptr [ecx], 0xD1FFAB1E jne SHORT G_M000_IG07 lea ecx, [ebp-48H] mov edx, gword ptr [ebp-5CH] call [System.Runtime.InteropServices.CollectionsMarshal:AsSpan[double](System.Collections.Generic.List`1[double]):System.Span`1[double]] mov eax, bword ptr [ebp-48H] mov esi, dword ptr [ebp-44H] G_M000_IG05: test esi, esi je G_M000_IG19 push esi push eax call [System.Linq.Enumerable:Sum[double,double](System.ReadOnlySpan`1[double]):double] fstp qword ptr [ebp-68H] vmovsd xmm0, qword ptr [ebp-68H] vmovsd qword ptr [ebp-40H], xmm0 lea edx, [ebp-50H] mov ecx, esi call [System.Double:TryConvertFrom[int](int,byref):bool] test eax, eax je G_M000_IG20 vmovsd xmm0, qword ptr [ebp-50H] vmovsd xmm1, qword ptr [ebp-40H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-68H], xmm0 fld qword ptr [ebp-68H] G_M000_IG06: lea esp, [ebp-0CH] pop ebx pop esi pop edi pop ebp ret G_M000_IG07: mov ecx, gword ptr [ebp-5CH] call [System.Collections.Generic.IEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this] mov esi, eax mov gword ptr [ebp-60H], esi G_M000_IG08: mov ecx, esi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG12 mov ecx, esi call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-68H] vmovsd xmm0, qword ptr [ebp-68H] vmovsd qword ptr [ebp-28H], xmm0 xor edi, edi mov ebx, 1 mov ecx, esi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG10 G_M000_IG09: mov ecx, esi call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-68H] vmovsd xmm0, qword ptr [ebp-68H] vaddsd xmm0, xmm0, qword ptr [ebp-28H] vmovsd qword ptr [ebp-28H], xmm0 add ebx, 1 adc edi, 0 mov ecx, esi call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG09 G_M000_IG10: vmovsd xmm0, qword ptr [ebp-28H] vmovsd qword ptr [ebp-38H], xmm0 push edi push ebx lea ecx, [ebp-58H] call [System.Double:TryConvertFrom[long](long,byref):bool] test eax, eax je SHORT G_M000_IG11 vmovsd xmm0, qword ptr [ebp-58H] vmovsd xmm1, qword ptr [ebp-38H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-30H], xmm0 jmp SHORT G_M000_IG13 G_M000_IG11: vxorps xmm0, xmm0 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 vmovsd qword ptr [ebp-50H], xmm0 call [System.ThrowHelper:ThrowNotSupportedException()] int3 ; Total bytes of code 418 1365: JIT compiled System.Linq.Enumerable:Average[double,double,double](System.Collections.Generic.IEnumerable`1[double]) [Tier-0 switched to FullOpts, IL size=209, code size=418] ; Assembly listing for method System.Linq.Enumerable:Sum[double,double](System.ReadOnlySpan`1[double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper G_M000_IG02: vxorps xmm0, xmm0 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 1366: JIT compiled System.Linq.Enumerable:Sum[double,double](System.ReadOnlySpan`1[double]) [Tier-0 switched to FullOpts, IL size=73, code size=56] ; Assembly listing for method System.Double:TryConvertFrom[int](int,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vzeroupper mov dword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: G_M000_IG03: G_M000_IG04: mov eax, dword ptr [ebp-04H] mov dword ptr [ebp-14H], eax vxorps xmm0, xmm0 vcvtsi2sd 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 1367: JIT compiled System.Double:TryConvertFrom[int](int,byref) [Tier0, IL size=391, code size=46] ; Assembly listing for method System.Linq.Enumerable:Sum[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable:Sum[double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double] fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 47 1368: JIT compiled System.Linq.Enumerable:Sum[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]) [Tier0, IL size=8, code size=47] ; Assembly listing for method System.Linq.Enumerable:Sum[double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push esi sub esp, 40 vzeroupper xor eax, eax mov dword ptr [ebp-10H], eax mov esi, edx G_M000_IG02: test ecx, ecx je G_M000_IG10 test esi, esi je G_M000_IG11 vxorps xmm0, xmm0 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 1369: JIT compiled System.Linq.Enumerable:Sum[double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]) [Tier-0 switched to FullOpts, IL size=112, code size=197] ; Assembly listing for method System.SZArrayHelper:GetEnumerator[double]():System.Collections.Generic.IEnumerator`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [System.SZGenericArrayEnumerator`1[double]:.ctor(double[]):this] mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E mov edx, 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 1370: JIT compiled System.SZArrayHelper:GetEnumerator[double]() [Tier0, IL size=24, code size=88] ; Assembly listing for method System.SZGenericArrayEnumerator`1[double]:.ctor(double[]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.SZGenericArrayEnumeratorBase:.ctor(System.Array):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 1371: JIT compiled System.SZGenericArrayEnumerator`1[double]:.ctor(double[]) [Tier0, IL size=8, code size=28] ; Assembly listing for method System.SZGenericArrayEnumeratorBase:.ctor(System.Array):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+04H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov eax, gword ptr [ebp-04H] mov dword ptr [eax+08H], -1 G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 49 1372: JIT compiled System.SZGenericArrayEnumeratorBase:.ctor(System.Array) [Tier0, IL size=21, code size=49] ; Assembly listing for method System.SZGenericArrayEnumerator`1[double]:get_Current():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-0CH], ecx mov ecx, dword ptr [ebp-08H] mov eax, gword ptr [ebp-0CH] cmp ecx, dword ptr [eax+04H] jb SHORT G_M000_IG03 mov ecx, dword ptr [ebp-08H] call [System.ThrowHelper:ThrowInvalidOperationException_EnumCurrent(int)] G_M000_IG03: mov eax, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG05 lea eax, bword ptr [eax+8*edx+08H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG04: mov esp, ebp pop ebp ret G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 92 1373: JIT compiled System.SZGenericArrayEnumerator`1[double]:get_Current() [Tier0, IL size=39, code size=92] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:b__0(double):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] mov eax, gword ptr [ebp-04H] vsubsd xmm0, xmm0, qword ptr [eax+04H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [@RWD00] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Pow(double,double):double fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 8 RWD00 dq 4000000000000000h ; 2 ; Total bytes of code 76 1374: JIT compiled Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:b__0(double) [Tier0, IL size=23, code size=76] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:g__CalcCentralMoment|1(int):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 32 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov dword ptr [ebp-18H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, gword ptr [ebp-10H] call [Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_1:.ctor():this] mov edx, gword ptr [ebp-10H] mov gword ptr [ebp-0CH], edx mov edx, gword ptr [ebp-0CH] lea edx, bword ptr [edx+04H] mov ecx, gword ptr [ebp-04H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-08H] mov dword ptr [ecx+08H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-14H], eax mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+0CH] mov gword ptr [ebp-18H], ecx push 0xD1FFAB1E mov ecx, gword ptr [ebp-14H] mov edx, gword ptr [ebp-0CH] call [System.MulticastDelegate:CtorClosed(System.Object,int):this] mov ecx, gword ptr [ebp-18H] mov edx, gword ptr [ebp-14H] call [System.Linq.Enumerable:Average[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double] fstp qword ptr [ebp-20H] vmovsd xmm0, qword ptr [ebp-20H] vmovsd qword ptr [ebp-20H], xmm0 fld qword ptr [ebp-20H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 151 1375: JIT compiled Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_0:g__CalcCentralMoment|1(int) [Tier0, IL size=44, code size=151] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_1:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1376: JIT compiled Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_1:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method System.Linq.Enumerable:Average[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.Linq.Enumerable:Average[double,double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double] fstp qword ptr [ebp-10H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ebp-10H], xmm0 fld qword ptr [ebp-10H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 47 1377: JIT compiled System.Linq.Enumerable:Average[double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]) [Tier0, IL size=8, code size=47] ; Assembly listing for method System.Linq.Enumerable:Average[double,double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 3 single block inlinees; 5 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 64 vzeroupper xor eax, eax mov dword ptr [ebp-18H], eax mov esi, edx G_M000_IG02: test ecx, ecx je G_M000_IG13 test esi, esi je G_M000_IG14 call [System.Collections.Generic.IEnumerable`1[double]:GetEnumerator():System.Collections.Generic.IEnumerator`1[double]:this] mov ecx, eax mov gword ptr [ebp-44H], ecx G_M000_IG03: call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je G_M000_IG07 mov ecx, gword ptr [ebp-44H] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-4CH] vmovsd xmm0, qword ptr [ebp-4CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[double,double]:Invoke(double):double:this fstp qword ptr [ebp-4CH] vmovsd xmm0, qword ptr [ebp-4CH] vmovsd qword ptr [ebp-28H], xmm0 xor edi, edi mov ebx, 1 mov ecx, gword ptr [ebp-44H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M000_IG05 G_M000_IG04: mov ecx, gword ptr [ebp-44H] call [System.Collections.Generic.IEnumerator`1[double]:get_Current():double:this] fstp qword ptr [ebp-4CH] vmovsd xmm0, qword ptr [ebp-4CH] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [esi+04H] call [esi+0CH]System.Func`2[double,double]:Invoke(double):double:this fstp qword ptr [ebp-4CH] vmovsd xmm0, qword ptr [ebp-4CH] vaddsd xmm0, xmm0, qword ptr [ebp-28H] vmovsd qword ptr [ebp-28H], xmm0 add ebx, 1 adc edi, 0 mov ecx, gword ptr [ebp-44H] call [System.Collections.IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M000_IG04 G_M000_IG05: vmovsd xmm0, qword ptr [ebp-28H] vmovsd qword ptr [ebp-38H], xmm0 push edi push ebx lea ecx, [ebp-40H] call [System.Double:TryConvertFrom[long](long,byref):bool] test eax, eax je SHORT G_M000_IG06 vmovsd xmm0, qword ptr [ebp-40H] vmovsd xmm1, qword ptr [ebp-38H] vdivsd xmm0, xmm1, xmm0 vmovsd qword ptr [ebp-30H], xmm0 jmp SHORT G_M000_IG08 G_M000_IG06: vxorps xmm0, xmm0 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 1378: JIT compiled System.Linq.Enumerable:Average[double,double,double,double](System.Collections.Generic.IEnumerable`1[double],System.Func`2[double,double]) [Tier-0 switched to FullOpts, IL size=168, code size=335] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_1:b__2(double):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+04H] vsubsd xmm0, xmm0, qword ptr [eax+04H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov eax, gword ptr [ebp-04H] vxorps xmm0, xmm0 vcvtsi2sd 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 1379: JIT compiled Perfolizer.Mathematics.Common.Moments+<>c__DisplayClass16_1:b__2(double) [Tier0, IL size=26, code size=84] ; Assembly listing for method Perfolizer.Mathematics.Common.MathExtensions:Pow(double,double):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper G_M000_IG02: vmovsd xmm0, qword ptr [ebp+10H] sub esp, 8 vmovsd qword ptr [esp], xmm0 vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 call System.Math:Pow(double,double):double fstp qword ptr [ebp-08H] vmovsd xmm0, qword ptr [ebp-08H] vmovsd qword ptr [ebp-08H], xmm0 fld qword ptr [ebp-08H] G_M000_IG03: mov esp, ebp pop ebp ret 16 ; Total bytes of code 62 1380: JIT compiled Perfolizer.Mathematics.Common.MathExtensions:Pow(double,double) [Tier0, IL size=8, code size=62] ; Assembly listing for method System.Double:TryConvertFrom[long](long,byref):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 60 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: G_M000_IG03: G_M000_IG04: G_M000_IG05: mov eax, dword ptr [ebp+08H] mov edx, dword ptr [ebp+0CH] mov dword ptr [ebp-18H], eax mov dword ptr [ebp-14H], edx push dword ptr [ebp-14H] push dword ptr [ebp-18H] call CORINFO_HELP_LNG2DBL fstp qword ptr [ebp-3CH] mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-3CH] vmovsd qword ptr [eax], xmm0 mov eax, 1 G_M000_IG06: mov esp, ebp pop ebp ret 8 ; Total bytes of code 61 1381: JIT compiled System.Double:TryConvertFrom[long](long,byref) [Tier0, IL size=391, code size=61] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:.ctor(double,double,double,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, bword ptr [ebp-04H] vxorps ymm0, ymm0 vmovdqu ymmword ptr [ecx], ymm0 vmovq qword ptr [ecx+20H], 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 1382: JIT compiled Perfolizer.Mathematics.Common.Moments:.ctor(double,double,double,double) [Tier0, IL size=54, code size=131] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:get_Variance():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+08H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1383: JIT compiled Perfolizer.Mathematics.Common.Moments:get_Variance() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:get_Mean():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 31 1384: JIT compiled Perfolizer.Mathematics.Common.Moments:get_Mean() [Tier0, IL size=7, code size=31] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:get_StandardDeviation():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+20H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1385: JIT compiled Perfolizer.Mathematics.Common.Moments:get_StandardDeviation() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:get_Skewness():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+10H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1386: JIT compiled Perfolizer.Mathematics.Common.Moments:get_Skewness() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.Common.Moments:get_Kurtosis():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov bword ptr [ebp-04H], ecx G_M000_IG02: mov eax, bword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+18H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1387: JIT compiled Perfolizer.Mathematics.Common.Moments:get_Kurtosis() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:FromQuartiles(Perfolizer.Mathematics.QuantileEstimators.Quartiles,double):Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper xor eax, eax mov dword ptr [ebp-04H], eax G_M000_IG02: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST_ALIGN8 mov gword ptr [ebp-04H], eax sub esp, 40 vmovdqu xmm0, xmmword ptr [ebp+10H] vmovdqu xmmword ptr [esp], xmm0 vmovdqu xmm0, xmmword ptr [ebp+20H] vmovdqu xmmword ptr [esp+10H], xmm0 vmovq xmm0, qword ptr [ebp+30H] vmovq qword ptr [esp+20H], xmm0 vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:.ctor(Perfolizer.Mathematics.QuantileEstimators.Quartiles,double):this] mov eax, gword ptr [ebp-04H] G_M000_IG03: mov esp, ebp pop ebp ret 48 ; Total bytes of code 91 1388: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:FromQuartiles(Perfolizer.Mathematics.QuantileEstimators.Quartiles,double) [Tier0, IL size=8, code size=91] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:.ctor(Perfolizer.Mathematics.QuantileEstimators.Quartiles,double):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.OutlierDetection.OutlierDetector:.ctor():this] lea ecx, [ebp+10H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q1():double:this] fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] vmovsd qword ptr [ebp-0CH], xmm0 vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-1CH], xmm0 lea ecx, [ebp+10H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_InterquartileRange():double:this] fstp qword ptr [ebp-24H] vmovsd xmm0, qword ptr [ebp-24H] vmulsd xmm0, xmm0, qword ptr [ebp+08H] vmovsd xmm1, qword ptr [ebp-1CH] vsubsd xmm0, xmm1, xmm0 mov ecx, gword ptr [ebp-04H] vmovsd qword ptr [ecx+04H], xmm0 lea ecx, [ebp+10H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_Q3():double:this] fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] vmovsd qword ptr [ebp-14H], xmm0 lea ecx, [ebp+10H] call [Perfolizer.Mathematics.QuantileEstimators.Quartiles:get_InterquartileRange():double:this] fstp qword ptr [ebp-1CH] vmovsd xmm0, qword ptr [ebp-1CH] vmulsd xmm0, xmm0, qword ptr [ebp+08H] vaddsd xmm0, xmm0, qword ptr [ebp-14H] mov eax, gword ptr [ebp-04H] vmovsd qword ptr [eax+0CH], xmm0 G_M000_IG03: mov esp, ebp pop ebp ret 48 ; Total bytes of code 155 1389: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:.ctor(Perfolizer.Mathematics.QuantileEstimators.Quartiles,double) [Tier0, IL size=53, code size=155] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.OutlierDetector:.ctor():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 20 1390: JIT compiled Perfolizer.Mathematics.OutlierDetection.OutlierDetector:.ctor() [Tier0, IL size=7, code size=20] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_LowerFence():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+04H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1391: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_LowerFence() [Tier0, IL size=7, code size=32] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_UpperFence():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1392: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_UpperFence() [Tier0, IL size=7, code size=32] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[double]:.ctor(double[],System.Func`2[double,bool]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Linq.Enumerable+Iterator`1[double]:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+14H] mov eax, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_EAX mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+18H] mov eax, gword ptr [ebp+08H] call CORINFO_HELP_ASSIGN_REF_EAX G_M000_IG03: mov esp, ebp pop ebp ret 4 ; Total bytes of code 55 1393: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[double]:.ctor(double[],System.Func`2[double,bool]) [Tier0, IL size=21, code size=55] ; Assembly listing for method System.Linq.Enumerable+WhereArrayIterator`1[double]:ToArray():double[]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; optimized code ; ebp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data G_M000_IG01: push ebp mov ebp, esp push edi push esi push ebx sub esp, 40 vzeroupper vxorps xmm4, xmm4 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 1394: JIT compiled System.Linq.Enumerable+WhereArrayIterator`1[double]:ToArray() [Tier-0 switched to FullOpts, IL size=74, code size=182] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.OutlierDetector:IsOutlier(double):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+10H]Perfolizer.Mathematics.OutlierDetection.OutlierDetector:IsLowerOutlier(double):bool:this test eax, eax jne SHORT G_M000_IG04 vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] mov eax, gword ptr [ebp-04H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]Perfolizer.Mathematics.OutlierDetection.OutlierDetector:IsUpperOutlier(double):bool:this G_M000_IG03: mov esp, ebp pop ebp ret 8 G_M000_IG04: mov eax, 1 G_M000_IG05: mov esp, ebp pop ebp ret 8 ; Total bytes of code 85 1395: JIT compiled Perfolizer.Mathematics.OutlierDetection.OutlierDetector:IsOutlier(double) [Tier0, IL size=19, code size=85] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:IsLowerOutlier(double):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_LowerFence():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] xor eax, eax vucomisd xmm0, qword ptr [ebp+08H] seta al G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 45 1396: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:IsLowerOutlier(double) [Tier0, IL size=10, code size=45] ; Assembly listing for method Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:IsUpperOutlier(double):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:get_UpperFence():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm1, qword ptr [ebp+08H] vmovsd xmm0, qword ptr [ebp-0CH] xor eax, eax vucomisd xmm1, xmm0 seta al G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 49 1397: JIT compiled Perfolizer.Mathematics.OutlierDetection.TukeyOutlierDetector:IsUpperOutlier(double) [Tier0, IL size=10, code size=49] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:get_StandardDeviation():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+5CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1398: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_StandardDeviation() [Tier0, IL size=7, code size=32] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:get_Mean():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+24H] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1399: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_Mean() [Tier0, IL size=7, code size=32] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:get_StandardError():double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [eax+4CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 32 1400: JIT compiled BenchmarkDotNet.Mathematics.Statistics:get_StandardError() [Tier0, IL size=7, code size=32] ; Assembly listing for method BenchmarkDotNet.Mathematics.PercentileValues:.ctor(System.Collections.Generic.IReadOnlyList`1[double]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [System.Object:.ctor():this] mov edx, gword ptr [ebp-04H] lea edx, bword ptr [edx+4CH] mov ecx, gword ptr [ebp-08H] call CORINFO_HELP_ASSIGN_REF_ECX mov ecx, gword ptr [ebp-04H] xor edx, edx call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+04H], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 25 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+0CH], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 50 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+14H], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 67 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+1CH], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 80 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+24H], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 85 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+2CH], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 90 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+34H], xmm0 mov ecx, gword ptr [ebp-04H] mov edx, 95 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov ecx, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [ecx+3CH], xmm0 G_M000_IG03: mov ecx, gword ptr [ebp-04H] mov edx, 100 call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this] fstp qword ptr [ebp-10H] mov eax, gword ptr [ebp-04H] vmovsd xmm0, qword ptr [ebp-10H] vmovsd qword ptr [eax+44H], xmm0 G_M000_IG04: mov esp, ebp pop ebp ret ; Total bytes of code 309 1401: JIT compiled BenchmarkDotNet.Mathematics.PercentileValues:.ctor(System.Collections.Generic.IReadOnlyList`1[double]) [Tier0, IL size=139, code size=309] ; Assembly listing for method BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.PercentileValues:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this] mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, dword ptr [ebp-08H] call [BenchmarkDotNet.Mathematics.PercentileValues:Percentile(System.Collections.Generic.IReadOnlyList`1[double],int):double] fstp qword ptr [ebp-14H] vmovsd xmm0, qword ptr [ebp-14H] vmovsd qword ptr [ebp-14H], xmm0 fld qword ptr [ebp-14H] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 64 1402: JIT compiled BenchmarkDotNet.Mathematics.PercentileValues:Percentile(int) [Tier0, IL size=13, code size=64] ; Assembly listing for method BenchmarkDotNet.Mathematics.PercentileValues:get_SortedValues():System.Collections.Generic.IReadOnlyList`1[double]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+4CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1403: JIT compiled BenchmarkDotNet.Mathematics.PercentileValues:get_SortedValues() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Mathematics.PercentileValues:Percentile(System.Collections.Generic.IReadOnlyList`1[double],int):double ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 36 vzeroupper vxorps xmm4, xmm4 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 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 vcvtsi2sd 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 1404: JIT compiled BenchmarkDotNet.Mathematics.PercentileValues:Percentile(System.Collections.Generic.IReadOnlyList`1[double],int) [Tier0, IL size=87, code size=279] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+<>c:b__18_1(BenchmarkDotNet.Reports.Measurement):double:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 vzeroupper mov gword ptr [ebp-04H], ecx G_M000_IG02: lea ecx, [ebp+08H] call [BenchmarkDotNet.Reports.Measurement:get_Nanoseconds():double:this] fstp qword ptr [ebp-0CH] vmovsd xmm0, qword ptr [ebp-0CH] vmovsd qword ptr [ebp-0CH], xmm0 fld qword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret 32 ; Total bytes of code 43 1405: JIT compiled BenchmarkDotNet.Engines.RunResults+<>c:b__18_1(BenchmarkDotNet.Reports.Measurement) [Tier0, IL size=8, code size=43] ; Assembly listing for method System.SZArrayHelper:GetEnumerator[BenchmarkDotNet.Reports.Measurement]():System.Collections.Generic.IEnumerator`1[BenchmarkDotNet.Reports.Measurement]:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 12 xor eax, eax mov dword ptr [ebp-08H], eax mov dword ptr [ebp-0CH], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov gword ptr [ebp-08H], ecx mov ecx, gword ptr [ebp-08H] cmp dword ptr [ecx+04H], 0 je SHORT G_M000_IG04 mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov edx, gword ptr [ebp-08H] call [System.SZGenericArrayEnumerator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(BenchmarkDotNet.Reports.Measurement[]):this] mov eax, gword ptr [ebp-0CH] G_M000_IG03: mov esp, ebp pop ebp ret G_M000_IG04: mov ecx, 0xD1FFAB1E mov edx, 65 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 1406: JIT compiled System.SZArrayHelper:GetEnumerator[BenchmarkDotNet.Reports.Measurement]() [Tier0, IL size=24, code size=88] ; Assembly listing for method System.SZGenericArrayEnumerator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(BenchmarkDotNet.Reports.Measurement[]):this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 mov gword ptr [ebp-04H], ecx mov gword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, gword ptr [ebp-08H] call [System.SZGenericArrayEnumeratorBase:.ctor(System.Array):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 28 1407: JIT compiled System.SZGenericArrayEnumerator`1[BenchmarkDotNet.Reports.Measurement]:.ctor(BenchmarkDotNet.Reports.Measurement[]) [Tier0, IL size=8, code size=28] ; Assembly listing for method System.SZGenericArrayEnumerator`1[BenchmarkDotNet.Reports.Measurement]:get_Current():BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 16 vzeroupper xor eax, eax mov dword ptr [ebp-10H], eax mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, dword ptr [ecx+08H] mov dword ptr [ebp-0CH], ecx mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] mov gword ptr [ebp-10H], ecx mov ecx, dword ptr [ebp-0CH] mov eax, gword ptr [ebp-10H] cmp ecx, dword ptr [eax+04H] jb SHORT G_M000_IG03 mov ecx, dword ptr [ebp-0CH] call [System.ThrowHelper:ThrowInvalidOperationException_EnumCurrent(int)] G_M000_IG03: mov eax, gword ptr [ebp-10H] mov edx, dword ptr [ebp-0CH] cmp edx, dword ptr [eax+04H] jae SHORT G_M000_IG05 imul ecx, edx, 32 lea eax, bword ptr [eax+ecx+08H] mov edx, bword ptr [ebp-08H] vmovdqu ymm0, ymmword ptr [eax] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG04: vzeroupper mov esp, ebp pop ebp ret G_M000_IG05: call CORINFO_HELP_RNGCHKFAIL int3 ; Total bytes of code 100 1408: JIT compiled System.SZGenericArrayEnumerator`1[BenchmarkDotNet.Reports.Measurement]:get_Current() [Tier0, IL size=39, code size=100] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:IsActualOutlier(double,int):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 20 vzeroupper xor eax, eax mov dword ptr [ebp-0CH], eax mov dword ptr [ebp-10H], eax mov dword ptr [ebp-14H], eax mov gword ptr [ebp-04H], ecx mov dword ptr [ebp-08H], edx G_M000_IG02: cmp dword ptr [ebp-08H], 3 ja SHORT G_M000_IG03 mov eax, dword ptr [ebp-08H] lea ecx, [@RWD00] mov ecx, dword ptr [ecx+4*eax] lea edx, G_M000_IG02 add ecx, edx jmp ecx G_M000_IG03: jmp SHORT G_M000_IG12 G_M000_IG04: xor eax, eax G_M000_IG05: mov esp, ebp pop ebp ret 8 G_M000_IG06: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:IsUpperOutlier(double):bool:this] G_M000_IG07: mov esp, ebp pop ebp ret 8 G_M000_IG08: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:IsLowerOutlier(double):bool:this] G_M000_IG09: mov esp, ebp pop ebp ret 8 G_M000_IG10: vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-04H] call [BenchmarkDotNet.Mathematics.Statistics:IsOutlier(double):bool:this] G_M000_IG11: mov esp, ebp pop ebp ret 8 G_M000_IG12: mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-0CH], eax mov ecx, gword ptr [ebp-0CH] mov eax, dword ptr [ebp-08H] mov dword ptr [ecx+04H], eax mov ecx, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov gword ptr [ebp-10H], eax mov ecx, 0x9BE4 mov edx, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov gword ptr [ebp-14H], eax push gword ptr [ebp-0CH] push 0 mov edx, gword ptr [ebp-14H] mov ecx, gword ptr [ebp-10H] call [System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this] mov ecx, gword ptr [ebp-10H] call CORINFO_HELP_THROW int3 RWD00 dd G_M000_IG04 - G_M000_IG02 dd G_M000_IG06 - G_M000_IG02 dd G_M000_IG08 - G_M000_IG02 dd G_M000_IG10 - G_M000_IG02 ; Total bytes of code 227 1409: JIT compiled BenchmarkDotNet.Mathematics.Statistics:IsActualOutlier(double,int) [Tier0, IL size=68, code size=227] ; Assembly listing for method BenchmarkDotNet.Mathematics.Statistics:IsUpperOutlier(double):bool:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper xor eax, eax mov dword ptr [ebp-08H], eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+8CH] mov gword ptr [ebp-08H], ecx vmovsd xmm0, qword ptr [ebp+08H] sub esp, 8 vmovsd qword ptr [esp], xmm0 mov ecx, gword ptr [ebp-08H] mov eax, gword ptr [ebp-08H] mov eax, dword ptr [eax] mov eax, dword ptr [eax+28H] call [eax+14H]Perfolizer.Mathematics.OutlierDetection.OutlierDetector:IsUpperOutlier(double):bool:this G_M000_IG03: mov esp, ebp pop ebp ret 8 ; Total bytes of code 62 1410: JIT compiled BenchmarkDotNet.Mathematics.Statistics:IsUpperOutlier(double) [Tier0, IL size=13, code size=62] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+d__18:System.Collections.Generic.IEnumerator.get_Current():BenchmarkDotNet.Reports.Measurement:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 8 vzeroupper mov gword ptr [ebp-04H], ecx mov bword ptr [ebp-08H], edx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov edx, bword ptr [ebp-08H] vmovdqu ymm0, ymmword ptr [eax+24H] vmovdqu ymmword ptr [edx], ymm0 G_M000_IG03: vzeroupper mov esp, ebp pop ebp ret ; Total bytes of code 37 1411: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:System.Collections.Generic.IEnumerator.get_Current() [Tier0, IL size=7, code size=37] ; Assembly listing for method BenchmarkDotNet.Engines.RunResults+d__18:System.IDisposable.Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; fully interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 28 vxorps xmm4, xmm4 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 1412: JIT compiled BenchmarkDotNet.Engines.RunResults+d__18:System.IDisposable.Dispose() [Tier0, IL size=27, code size=93] ; Assembly listing for method BenchmarkDotNet.Engines.GcStats:ToOutputLine():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 56 vxorps xmm4, xmm4 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 1413: JIT compiled BenchmarkDotNet.Engines.GcStats:ToOutputLine() [Tier0, IL size=154, code size=271] ; Assembly listing for method BenchmarkDotNet.Engines.ThreadingStats:ToOutputLine():System.String:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vxorps xmm4, xmm4 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 1414: JIT compiled BenchmarkDotNet.Engines.ThreadingStats:ToOutputLine() [Tier0, IL size=104, code size=201] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0:__TrickTheJIT__():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 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 1415: 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 ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 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 1416: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0:__ForDisassemblyDiagnoser__() [MinOpts, IL size=27, code size=79] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp sub esp, 52 vxorps xmm4, xmm4 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 1417: JIT compiled BenchmarkDotNet.Engines.Engine:Dispose() [Tier0, IL size=56, code size=153] ; Assembly listing for method BenchmarkDotNet.Engines.Engine:get_GlobalCleanupAction():System.Action:this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov eax, gword ptr [ebp-04H] mov eax, gword ptr [eax+2CH] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 17 1418: JIT compiled BenchmarkDotNet.Engines.Engine:get_GlobalCleanupAction() [Tier0, IL size=7, code size=17] ; Assembly listing for method BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_1():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov esp, ebp pop ebp ret ; Total bytes of code 11 1419: JIT compiled BenchmarkDotNet.Autogenerated.Runnable_0+<>c:<.ctor>b__3_1() [Tier0, IL size=1, code size=11] ; Assembly listing for method BenchmarkDotNet.Engines.HostExtensions:AfterAll(BenchmarkDotNet.Engines.IHost) ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov edx, 4 call [BenchmarkDotNet.Engines.IHost:SendSignal(int):this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 25 1420: JIT compiled BenchmarkDotNet.Engines.HostExtensions:AfterAll(BenchmarkDotNet.Engines.IHost) [Tier0, IL size=8, code size=25] ; Assembly listing for method System.Number:g__ShouldRoundUp|121_0(uint,int,ubyte,bool):bool ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-1 compilation ; optimized code ; esp based frame ; partially interruptible ; No PGO data G_M000_IG01: G_M000_IG02: movzx edx, byte ptr [ecx+edx] xor eax, eax test edx, edx sete al movzx ecx, byte ptr [esp+04H] or eax, ecx je SHORT G_M000_IG05 G_M000_IG03: xor eax, eax G_M000_IG04: ret 8 G_M000_IG05: xor eax, eax cmp edx, 53 setge al G_M000_IG06: ret 8 ; Total bytes of code 36 1421: JIT compiled System.Number:g__ShouldRoundUp|121_0(uint,int,ubyte,bool) [Tier1, IL size=24, code size=36] ; Assembly listing for method BenchmarkDotNet.Engines.AnonymousPipesHost:Dispose():this ; Emitting BLENDED_CODE for generic X86 CPU - Windows ; Tier-0 compilation ; MinOpts code ; ebp based frame ; partially interruptible G_M000_IG01: push ebp mov ebp, esp push eax mov gword ptr [ebp-04H], ecx G_M000_IG02: mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+04H] cmp dword ptr [ecx], ecx call [System.IO.TextWriter:Dispose():this] mov ecx, gword ptr [ebp-04H] mov ecx, gword ptr [ecx+08H] cmp dword ptr [ecx], ecx call [System.IO.TextReader:Dispose():this] G_M000_IG03: mov esp, ebp pop ebp ret ; Total bytes of code 39 1422: JIT compiled BenchmarkDotNet.Engines.AnonymousPipesHost:Dispose() [Tier0, IL size=23, code size=39]