Untitled Diff

Created Diff never expires
26 removals
41 lines
85 additions
98 lines
; Assembly listing for method Microsoft.CodeAnalysis.CSharp.ErrorFacts:CreateCategoriesMap():System.Collections.Immutable.ImmutableDictionary`2[int,System.String]
; Assembly listing for method Microsoft.CodeAnalysis.CSharp.ErrorFacts:CreateCategoriesMap():System.Collections.Immutable.ImmutableDictionary`2[int,System.String]


G_M1459_IG01:
G_M1459_IG01:
push rdi
push rsi
push rsi
sub rsp, 64
push rbp
push rbx
sub rsp, 72
xor eax, eax
mov qword ptr [rsp+28H], rax
vxorps xmm4, xmm4
vxorps xmm4, xmm4
vmovdqa xmmword ptr [rsp+20H], xmm4
vmovdqa xmmword ptr [rsp+30H], xmm4
vmovdqa xmmword ptr [rsp+30H], xmm4
;; size=21 bbWeight=1 PerfScore 5.58
mov qword ptr [rsp+40H], rax
;; size=30 bbWeight=1 PerfScore 8.83
G_M1459_IG02:
G_M1459_IG02:
mov rcx, 0xD1FFAB1E ; System.Collections.Generic.Dictionary`2[int,System.String]
mov rcx, 0xD1FFAB1E ; System.Collections.Generic.Dictionary`2[int,System.String]
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
mov rsi, rax
mov rsi, rax
mov rcx, rsi
mov rcx, rsi
xor edx, edx
xor edx, edx
xor r8, r8
xor r8, r8
call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this]
call [System.Collections.Generic.Dictionary`2[int,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this]
mov rcx, 0xD1FFAB1E
mov rcx, 0xD1FFAB1E
mov edx, 165
mov edx, 165
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov rcx, 0xD1FFAB1E ; data for System.Collections.Immutable.ImmutableDictionary`2[int,System.String]:Empty
mov rax, 0xD1FFAB1E ; data for System.Collections.Immutable.ImmutableDictionary`2[int,System.String]:Empty
mov rcx, gword ptr [rcx]
mov rdi, gword ptr [rax]
xor rdx, rdx
cmp byte ptr [rdi], dil
xor r8, r8
call [System.Collections.Generic.EqualityComparer`1[int]:get_Default():System.Collections.Generic.EqualityComparer`1[int]]
mov rbx, rax
mov rcx, 0xD1FFAB1E ; System.Collections.Generic.EqualityComparer`1[System.String]
call [System.Collections.Generic.EqualityComparer`1[System.__Canon]:get_Default():System.Collections.Generic.EqualityComparer`1[System.__Canon]]
mov rbp, rax
mov rcx, rdi
call [System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:get_KeyComparer():System.Collections.Generic.IEqualityComparer`1[int]:this]
cmp rax, rbx
jne SHORT G_M1459_IG05
;; size=110 bbWeight=1 PerfScore 23.25
G_M1459_IG03:
mov rcx, rdi
call [System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:get_ValueComparer():System.Collections.Generic.IEqualityComparer`1[System.__Canon]:this]
cmp rax, rbp
jne SHORT G_M1459_IG04
mov rcx, rdi
jmp G_M1459_IG06
;; size=22 bbWeight=0.50 PerfScore 3.38
G_M1459_IG04:
mov rcx, gword ptr [rdi+10H]
mov rdx, rbp
cmp dword ptr [rcx], ecx
cmp dword ptr [rcx], ecx
call [System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:WithComparers(System.Collections.Generic.IEqualityComparer`1[int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:this]
call [System.Collections.Immutable.ImmutableDictionary`2+Comparers[int,System.__Canon]:WithValueComparer(System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Immutable.ImmutableDictionary`2+Comparers[int,System.__Canon]:this]
cmp byte ptr [rax], al
mov rbp, rax
mov rcx, 0xD1FFAB1E ; System.Collections.Immutable.ImmutableDictionary`2[int,System.String]
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov r9d, dword ptr [rdi+18H]
mov rdx, gword ptr [rdi+08H]
mov rcx, rbx
mov r8, rbp
call [System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:.ctor(System.Collections.Immutable.SortedInt32KeyNode`1[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[int,System.__Canon]],System.Collections.Immutable.ImmutableDictionary`2+Comparers[int,System.__Canon],int):this]
mov rcx, rbx
jmp SHORT G_M1459_IG06
;; size=61 bbWeight=0.50 PerfScore 9.88
G_M1459_IG05:
mov r8, rbp
mov rdx, rbx
mov rcx, 0xD1FFAB1E ; System.Collections.Immutable.ImmutableDictionary`2+Comparers[int,System.String]
call [System.Collections.Immutable.ImmutableDictionary`2+Comparers[int,System.__Canon]:Get(System.Collections.Generic.IEqualityComparer`1[int],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Collections.Immutable.ImmutableDictionary`2+Comparers[int,System.__Canon]]
mov rbx, rax
mov rcx, 0xD1FFAB1E ; System.Collections.Immutable.ImmutableDictionary`2[int,System.String]
call CORINFO_HELP_NEWSFAST
mov rbp, rax
mov rcx, rbp
mov rdx, rbx
call [System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:.ctor(System.Collections.Immutable.ImmutableDictionary`2+Comparers[int,System.__Canon]):this]
mov rcx, rbp
mov rdx, rdi
mov r8d, 1
call [System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],bool):System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:this]
mov rcx, rax
mov rcx, rax
;; size=76 bbWeight=0.50 PerfScore 6.50
G_M1459_IG06:
mov rdx, rsi
mov rdx, rsi
xor r8d, r8d
cmp dword ptr [rcx], ecx
call [System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]],bool):System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:this]
call [System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[int,System.__Canon]]):System.Collections.Immutable.ImmutableDictionary`2[int,System.__Canon]:this]
nop
nop
;; size=96 bbWeight=1 PerfScore 22.50
;; size=12 bbWeight=1 PerfScore 6.50
G_M1459_IG03:
G_M1459_IG07:
add rsp, 64
add rsp, 72
pop rbx
pop rbp
pop rsi
pop rsi
pop rdi
ret
ret
;; size=6 bbWeight=1 PerfScore 1.75
;; size=9 bbWeight=1 PerfScore 3.25


; Total bytes of code 123, prolog size 21, PerfScore 42.43, instruction count 30, allocated bytes for code 126 (MethodHash=9865fa4c) for method Microsoft.CodeAnalysis.CSharp.ErrorFacts:CreateCategoriesMap():System.Collections.Immutable.ImmutableDictionary`2[int,System.String]
; Total bytes of code 320, prolog size 30, PerfScore 93.78, instruction count 79, allocated bytes for code 322 (MethodHash=9865fa4c) for method Microsoft.CodeAnalysis.CSharp.ErrorFacts:CreateCategoriesMap():System.Collections.Immutable.ImmutableDictionary`2[int,System.String]
; ============================================================
; ============================================================