Untitled Diff

Created Diff never expires
33 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
43 lines
354 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
361 lines
; Method Program:Format(System.Span`1[Byte],int):bool
; Method Program:Format(System.Span`1[Byte],int):bool
G_M58631_IG01:
G_M58631_IG01:
push rdi
push rsi
push rbp
push rbx
sub rsp, 88
sub rsp, 88
vxorps xmm4, xmm4
vxorps xmm4, xmm4
vmovdqa xmmword ptr [rsp+30H], xmm4
vmovdqa xmmword ptr [rsp+30H], xmm4
vmovdqa xmmword ptr [rsp+40H], xmm4
vmovdqa xmmword ptr [rsp+40H], xmm4
xor eax, eax
xor eax, eax
mov qword ptr [rsp+50H], rax
mov qword ptr [rsp+50H], rax
;; bbWeight=1 PerfScore 3.83
mov rsi, rcx
mov edi, edx
;; bbWeight=1 PerfScore 8.33


G_M58631_IG02:
G_M58631_IG02:
mov r8, bword ptr [rcx]
mov word ptr [rsp+48H], 0
mov ecx, dword ptr [rcx+8]
lea rcx, bword ptr [rsp+48H]
movsxd rdx, edx
mov edx, 68
jmp SHORT G_M58631_IG04
mov r8d, 2
;; bbWeight=1 PerfScore 6.25
call System.Buffers.StandardFormat:.ctor(ushort,ubyte):this
mov rbx, bword ptr [rsi]
mov esi, dword ptr [rsi+8]
movzx rax, byte ptr [rsp+48H]
movzx rdx, byte ptr [rsp+49H]
movsxd rdi, edi
mov byte ptr [rsp+40H], al
mov byte ptr [rsp+41H], dl
cmp byte ptr [rsp+40H], 0
jne G_M58631_IG20
;; bbWeight=1 PerfScore 13.25


G_M58631_IG03:
G_M58631_IG03:
add rsp, 88
cmp byte ptr [rsp+41H], 0
ret
sete al
;; bbWeight=1 PerfScore 1.25
movzx rax, al
test eax, eax
je G_M58631_IG20
cmp rdi, 10
jae SHORT G_M58631_IG06
test esi, esi
jne SHORT G_M58631_IG04
xor eax, eax
mov dword ptr [rsp+50H], eax
jmp SHORT G_M58631_IG05
;; bbWeight=0.50 PerfScore 4.62


G_M58631_IG04:
G_M58631_IG04:
xor r9d, r9d
add edi, 48
test rdx, rdx
mov byte ptr [rbx], dil
jge SHORT G_M58631_IG05
mov dword ptr [rsp+50H], 1
mov r9d, 1
mov eax, 1
neg rdx
;; bbWeight=0.50 PerfScore 1.25

G_M58631_IG05:
jmp G_M58631_IG19
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00


G_M58631_IG05:
G_M58631_IG06:
test rdi, rdi
jge G_M58631_IG18
neg rdi
mov ebp, 1
cmp rdi, 0xD1FFAB1E
jb SHORT G_M58631_IG08
mov rax, 0xD1FFAB1E
cmp rdi, rax
jb SHORT G_M58631_IG07
mov rdx, 0xD1FFAB1E
mov rax, rdi
mul rdx:rax, rdx
shr rdx, 42
mov ecx, edx
mov ebp, 15
jmp SHORT G_M58631_IG09
;; bbWeight=0.50 PerfScore 5.50

G_M58631_IG07:
mov rdx, 0xD1FFAB1E
mov rax, rdi
mul rdx:rax, rdx
shr rdx, 23
mov ecx, edx
mov ebp, 8
jmp SHORT G_M58631_IG09
;; bbWeight=0.50 PerfScore 3.25

G_M58631_IG08:
mov ecx, edi
;; bbWeight=0.50 PerfScore 0.12

G_M58631_IG09:
cmp ecx, 10
jb SHORT G_M58631_IG16
cmp ecx, 100
jae SHORT G_M58631_IG10
inc ebp
jmp SHORT G_M58631_IG16
;; bbWeight=0.50 PerfScore 2.38

G_M58631_IG10:
cmp ecx, 0x3E8
jae SHORT G_M58631_IG11
add ebp, 2
jmp SHORT G_M58631_IG16
;; bbWeight=0.50 PerfScore 1.75

G_M58631_IG11:
cmp ecx, 0x2710
jae SHORT G_M58631_IG12
add ebp, 3
jmp SHORT G_M58631_IG16
;; bbWeight=0.50 PerfScore 1.75

G_M58631_IG12:
cmp ecx, 0x186A0
jae SHORT G_M58631_IG13
add ebp, 4
jmp SHORT G_M58631_IG16
;; bbWeight=0.50 PerfScore 1.75

G_M58631_IG13:
cmp ecx, 0xD1FFAB1E
jae SHORT G_M58631_IG14
add ebp, 5
jmp SHORT G_M58631_IG16
;; bbWeight=0.50 PerfScore 1.75

G_M58631_IG14:
cmp ecx, 0xD1FFAB1E
setb cl
movzx rcx, cl
mov rdx, 0xD1FFAB1E
mov rdx, gword ptr [rdx]
test ecx, ecx
jne SHORT G_M58631_IG15
mov rcx, rdx
call System.Diagnostics.Debug:Fail(System.String,System.String)
;; bbWeight=0.50 PerfScore 3.12

G_M58631_IG15:
add ebp, 6
;; bbWeight=0.50 PerfScore 0.12

G_M58631_IG16:
cmp ebp, esi
jl SHORT G_M58631_IG17
xor ecx, ecx
mov dword ptr [rsp+50H], ecx
xor eax, eax
jmp SHORT G_M58631_IG19
;; bbWeight=0.50 PerfScore 2.38

G_M58631_IG17:
test esi, esi
je G_M58631_IG33
mov byte ptr [rbx], 45
lea ecx, [rbp+1]
mov dword ptr [rsp+50H], ecx
mov ecx, ebp
inc rcx
mov eax, esi
cmp rcx, rax
ja G_M58631_IG31
mov ecx, ebp
not ecx
shr ecx, 31
call System.Diagnostics.Debug:Assert(bool)
inc rbx
mov bword ptr [rsp+30H], rbx
mov dword ptr [rsp+38H], ebp
mov rcx, rdi
lea rdx, bword ptr [rsp+30H]
call System.Buffers.Text.FormattingHelpers:WriteDigits(long,System.Span`1[Byte])
mov eax, 1
jmp SHORT G_M58631_IG19
;; bbWeight=0.50 PerfScore 7.00

G_M58631_IG18:
mov rcx, rdi
mov bword ptr [rsp+30H], rbx
mov dword ptr [rsp+38H], esi
lea rdx, bword ptr [rsp+30H]
lea r8, [rsp+50H]
call System.Buffers.Text.Utf8Formatter:TryFormatUInt64MultipleDigits(long,System.Span`1[Byte],byref):bool
movzx rax, al
;; bbWeight=0.50 PerfScore 2.25

G_M58631_IG19:
jmp SHORT G_M58631_IG22
;; bbWeight=0.50 PerfScore 1.00

G_M58631_IG20:
mov ecx, dword ptr [rsp+40H]
movzx rbp, cl
cmp ebp, 88
ja G_M58631_IG24
cmp ebp, 71
ja SHORT G_M58631_IG23
cmp ebp, 68
je G_M58631_IG26
cmp ebp, 71
jne G_M58631_IG30
;; bbWeight=0.50 PerfScore 3.12

G_M58631_IG21:
lea rcx, bword ptr [rsp+40H]
call System.Buffers.StandardFormat:get_HasPrecision():bool:this
test eax, eax
jne G_M58631_IG32
mov rcx, rdi
mov edx, dword ptr [rsp+41H]
movzx rdx, dl
mov bword ptr [rsp+30H], rbx
mov dword ptr [rsp+38H], esi
lea r8, bword ptr [rsp+30H]
lea r9, [rsp+50H]
call System.Buffers.Text.Utf8Formatter:TryFormatInt64D(long,ubyte,System.Span`1[Byte],byref):bool
movzx rax, al
;; bbWeight=0.50 PerfScore 4.25

G_M58631_IG22:
add rsp, 88
pop rbx
pop rbp
pop rsi
pop rdi
ret
;; bbWeight=1 PerfScore 3.25

G_M58631_IG23:
cmp ebp, 78
je G_M58631_IG28
cmp ebp, 88
jne G_M58631_IG30
mov ecx, 0xD1FFAB1E
and rcx, rdi
mov edx, dword ptr [rsp+41H]
movzx rdx, dl
mov bword ptr [rsp+30H], rbx
mov dword ptr [rsp+38H], esi
lea r9, [rsp+50H]
mov qword ptr [rsp+20H], r9
lea r9, bword ptr [rsp+30H]
xor r8d, r8d
call System.Buffers.Text.Utf8Formatter:TryFormatUInt64X(long,ubyte,bool,System.Span`1[Byte],byref):bool
jmp SHORT G_M58631_IG22
;; bbWeight=0.50 PerfScore 5.75

G_M58631_IG24:
cmp ebp, 103
ja SHORT G_M58631_IG25
cmp ebp, 100
je SHORT G_M58631_IG26
cmp ebp, 103
jne G_M58631_IG30
jmp G_M58631_IG21
;; bbWeight=0.50 PerfScore 2.88

G_M58631_IG25:
cmp ebp, 110
je G_M58631_IG28
cmp ebp, 120
jne G_M58631_IG30
mov ecx, 0xD1FFAB1E
and rcx, rdi
mov edx, dword ptr [rsp+41H]
movzx rdx, dl
mov bword ptr [rsp+30H], rbx
mov dword ptr [rsp+38H], esi
lea r9, [rsp+50H]
mov qword ptr [rsp+20H], r9
lea r9, bword ptr [rsp+30H]
mov r8d, 1
call System.Buffers.Text.Utf8Formatter:TryFormatUInt64X(long,ubyte,bool,System.Span`1[Byte],byref):bool
jmp G_M58631_IG22
;; bbWeight=0.50 PerfScore 5.75

G_M58631_IG26:
mov rcx, rdi
mov edx, dword ptr [rsp+41H]
movzx rdx, dl
mov r8, rbx
mov r9d, esi
xor eax, eax
test rcx, rcx
jge SHORT G_M58631_IG27
mov eax, 1
neg rcx
;; bbWeight=0.50 PerfScore 2.00

G_M58631_IG27:
mov bword ptr [rsp+30H], r8
mov bword ptr [rsp+30H], r8
mov dword ptr [rsp+38H], ecx
mov dword ptr [rsp+38H], r9d
lea rcx, [rsp+50H]
lea r8, [rsp+50H]
mov qword ptr [rsp+20H], rcx
mov qword ptr [rsp+20H], r8
mov rcx, rdx
mov edx, 2
lea r8, bword ptr [rsp+30H]
lea r8, bword ptr [rsp+30H]
mov r9d, eax
call System.Buffers.Text.Utf8Formatter:TryFormatUInt64D(long,ubyte,System.Span`1[Byte],bool,byref):bool
call System.Buffers.Text.Utf8Formatter:TryFormatUInt64D(long,ubyte,System.Span`1[Byte],bool,byref):bool
movzx rax, al
movzx rax, al
jmp SHORT G_M58631_IG03
jmp G_M58631_IG22
;; bbWeight=0.50 PerfScore 3.88
;; bbWeight=0.50 PerfScore 3.75
; Total bytes of code: 102

G_M58631_IG28:
mov rcx, rdi
mov edx, dword ptr [rsp+41H]
movzx rdx, dl
mov r8, rbx
mov r9d, esi
xor eax, eax
test rcx, rcx
jge SHORT G_M58631_IG29
mov eax, 1
neg rcx
;; bbWeight=0.50 PerfScore 2.00

G_M58631_IG29:
mov bword ptr [rsp+30H], r8
mov dword ptr [rsp+38H], r9d
lea r8, [rsp+50H]
mov qword ptr [rsp+20H], r8
lea r8, bword ptr [rsp+30H]
mov r9d, eax
call System.Buffers.Text.Utf8Formatter:TryFormatUInt64N(long,ubyte,System.Span`1[Byte],bool,byref):bool
movzx rax, al
jmp G_M58631_IG22
;; bbWeight=0.50 PerfScore 3.75

G_M58631_IG30:
xor eax, eax
mov dword ptr [rsp+50H], eax
call System.ThrowHelper:ThrowFormatException_BadFormatSpecifier()
int3
;; bbWeight=0 PerfScore 0.00

G_M58631_IG31:
call System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; bbWeight=0 PerfScore 0.00

G_M58631_IG32:
mov rcx, 0xD1FFAB1E
call CORINFO_HELP_NEWSFAST
mov rsi, rax
call System.SR:get_Argument_GWithPrecisionNotSupported():System.String
mov rdx, rax
mov rcx, rsi
call System.NotSupportedException:.ctor(System.String):this
mov rcx, rsi
call CORINFO_HELP_THROW
int3
;; bbWeight=0 PerfScore 0.00

G_M58631_IG33:
call CORINFO_HELP_RNGCHKFAIL
int3
;; bbWeight=0 PerfScore 0.00
; Total bytes of code: 973