Untitled Diff

Created Diff never expires
43 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
43 lines
47 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
51 lines
; Assembly listing for method Microsoft.CodeAnalysis.AssemblyIdentity:op_Equality(Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.AssemblyIdentity):bool
; Assembly listing for method Microsoft.CodeAnalysis.AssemblyIdentity:op_Equality(Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.AssemblyIdentity):bool
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; fully interruptible
; partially interruptible
; No PGO data
; No PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T01] ( 3, 3 ) ref -> rsi class-hnd single-def
; V00 arg0 [V00,T01] ( 3, 3 ) ref -> rcx class-hnd single-def
; V01 arg1 [V01,T02] ( 3, 3 ) ref -> rdi class-hnd single-def
; V01 arg1 [V01,T00] ( 5, 3.50) ref -> rdx class-hnd single-def
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V03 tmp1 [V03,T00] ( 3, 6 ) ref -> rcx single-def "argument with side effect"
; V03 tmp1 [V03,T03] ( 5, 3 ) bool -> rax "Inline return value spill temp"
; V04 tmp2 [V04,T02] ( 3, 5 ) ref -> rcx ld-addr-op class-hnd single-def "Inlining Arg"
;
;
; Lcl frame size = 40
; Lcl frame size = 40


G_M56306_IG01:
G_M56306_IG01:
push rdi
push rsi
sub rsp, 40
sub rsp, 40
mov rsi, rcx
;; size=4 bbWeight=1 PerfScore 0.25
mov rdi, rdx
;; size=12 bbWeight=1 PerfScore 2.75
G_M56306_IG02:
G_M56306_IG02:
mov rcx, 0xD1FFAB1E
test rcx, rcx
mov edx, 148
je SHORT G_M56306_IG05
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
;; size=5 bbWeight=1 PerfScore 1.25
mov rcx, 0xD1FFAB1E ; data for EqualityComparer`1:<Default>k__BackingField
mov rcx, gword ptr [rcx]
mov rdx, rsi
mov r8, rdi
mov rax, qword ptr [rcx]
mov rax, qword ptr [rax+40H]
;; size=46 bbWeight=1 PerfScore 8.25
G_M56306_IG03:
G_M56306_IG03:
test rdx, rdx
je SHORT G_M56306_IG04
mov r11, 0xD1FFAB1E ; code for IEquatable`1:Equals
call [r11]System.IEquatable`1[System.__Canon]:Equals(System.__Canon):bool:this
jmp SHORT G_M56306_IG07
;; size=20 bbWeight=0.50 PerfScore 3.25
G_M56306_IG04:
xor eax, eax
jmp SHORT G_M56306_IG07
;; size=4 bbWeight=0.50 PerfScore 1.12
G_M56306_IG05:
test rdx, rdx
je SHORT G_M56306_IG06
xor eax, eax
jmp SHORT G_M56306_IG07
;; size=9 bbWeight=0.50 PerfScore 1.75
G_M56306_IG06:
mov eax, 1
;; size=5 bbWeight=0.50 PerfScore 0.12
G_M56306_IG07:
add rsp, 40
add rsp, 40
pop rsi
ret
pop rdi
;; size=5 bbWeight=1 PerfScore 1.25
tail.jmp [rax+20H]System.Collections.Generic.EqualityComparer`1[System.__Canon]:Equals(System.__Canon,System.__Canon):bool:this
;; size=10 bbWeight=1 PerfScore 3.25


; Total bytes of code 68, prolog size 12, PerfScore 21.05, instruction count 18, allocated bytes for code 68 (MethodHash=90cc240d) for method Microsoft.CodeAnalysis.AssemblyIdentity:op_Equality(Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.AssemblyIdentity):bool
; Total bytes of code 52, prolog size 4, PerfScore 14.20, instruction count 17, allocated bytes for code 52 (MethodHash=90cc240d) for method Microsoft.CodeAnalysis.AssemblyIdentity:op_Equality(Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.AssemblyIdentity):bool
; ============================================================
; ============================================================