Untitled Diff

Created Diff never expires
41 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
92 lines
19 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
71 lines
; Assembly listing for method System.ComponentModel.BindingList`1[int]:AddNewCore():System.Object:this
; Assembly listing for method System.ComponentModel.BindingList`1[int]:AddNewCore():System.Object:this
; Emitting BLENDED_CODE for X64 with AVX512 - Windows
; Emitting BLENDED_CODE for X64 with AVX512 - Windows
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; partially interruptible
; partially interruptible
; No PGO data
; No PGO data
; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data
; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 this [V00,T00] ( 4, 4 ) ref -> rsi this class-hnd single-def
; V00 this [V00,T00] ( 4, 4 ) ref -> rsi this class-hnd single-def
;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def
;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+00H] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+00H] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V03 tmp1 [V03,T02] ( 2, 4 ) ref -> rdi class-hnd single-def "dup spill"
; V03 tmp1 [V03,T02] ( 2, 4 ) ref -> rdi class-hnd single-def "dup spill"
; V04 tmp2 [V04,T01] ( 7, 5.75) ref -> rdi
; V04 tmp2 [V04,T01] ( 7, 5.75) ref -> rdi
;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp"
;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp"
;* V06 tmp4 [V06 ] ( 0, 0 ) ref -> zero-ref single-def "CASTCLASS eval op1"
;* V06 tmp4 [V06 ] ( 0, 0 ) ref -> zero-ref single-def "CASTCLASS eval op1"
;* V07 tmp5 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2"
;* V07 tmp5 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2"
; V08 tmp6 [V08,T04] ( 2, 1 ) ref -> rcx class-hnd "Inline stloc first use temp"
; V08 tmp6 [V08,T03] ( 2, 1 ) ref -> rcx class-hnd "Inline stloc first use temp"
; V09 tmp7 [V09,T05] ( 3, 0 ) ref -> rsi class-hnd exact single-def "NewObj constructor temp"
;* V09 tmp7 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "NewObj constructor temp"
; V10 tmp8 [V10,T06] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
;* V10 tmp8 [V10 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
; V11 tmp9 [V11,T07] ( 2, 0 ) ref -> r8 single-def "argument with side effect"
;* V11 tmp9 [V11 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
; V12 cse0 [V12,T03] ( 3, 1.50) ref -> rcx "CSE - moderate"
;
;
; Lcl frame size = 40
; Lcl frame size = 40


G_M18525_IG01:
G_M18525_IG01:
push rdi
push rdi
push rsi
push rsi
sub rsp, 40
sub rsp, 40
mov rsi, rcx
mov rsi, rcx
;; size=9 bbWeight=1 PerfScore 2.50
;; size=9 bbWeight=1 PerfScore 2.50
G_M18525_IG02:
G_M18525_IG02:
mov rcx, rsi
mov rcx, rsi
call [System.ComponentModel.BindingList`1[int]:FireAddingNew():System.Object:this]
call [System.ComponentModel.BindingList`1[int]:FireAddingNew():System.Object:this]
mov rdi, rax
mov rdi, rax
test rdi, rdi
test rdi, rdi
jne SHORT G_M18525_IG04
jne SHORT G_M18525_IG04
;; size=17 bbWeight=1 PerfScore 4.75
;; size=17 bbWeight=1 PerfScore 4.75
G_M18525_IG03:
G_M18525_IG03:
mov rcx, 0xD1FFAB1E ; 'System.Int32'
mov rcx, 0xD1FFAB1E ; 'System.Int32'


mov rdx, 0xD1FFAB1E ; System.RuntimeType
cmp qword ptr [rcx], rdx
jne SHORT G_M18525_IG08
mov edx, 1
mov edx, 1
mov r8d, 1
mov r8d, 1
cmp dword ptr [rcx], ecx
cmp dword ptr [rcx], ecx
call [System.RuntimeType:CreateInstanceDefaultCtor(bool,bool):System.Object:this]
call [System.RuntimeType:CreateInstanceDefaultCtor(bool,bool):System.Object:this]
mov rdi, rax
mov rdi, rax
;; size=47 bbWeight=0.50 PerfScore 5.62
;; size=32 bbWeight=0.50 PerfScore 3.50
G_M18525_IG04:
G_M18525_IG04:
mov rdx, 0xD1FFAB1E ; System.Int32
mov rdx, 0xD1FFAB1E ; System.Int32
cmp qword ptr [rdi], rdx
cmp qword ptr [rdi], rdx
je SHORT G_M18525_IG06
je SHORT G_M18525_IG06
;; size=15 bbWeight=1 PerfScore 4.25
;; size=15 bbWeight=1 PerfScore 4.25
G_M18525_IG05:
G_M18525_IG05:
mov rdx, rdi
mov rdx, rdi
mov rcx, 0xD1FFAB1E ; System.Int32
mov rcx, 0xD1FFAB1E ; System.Int32
call [CORINFO_HELP_UNBOX]
call [CORINFO_HELP_UNBOX]
;; size=19 bbWeight=0.25 PerfScore 0.88
;; size=19 bbWeight=0.25 PerfScore 0.88
G_M18525_IG06:
G_M18525_IG06:
mov edx, dword ptr [rdi+08H]
mov edx, dword ptr [rdi+08H]
mov rcx, rsi
mov rcx, rsi
call [System.Collections.ObjectModel.Collection`1[int]:Add(int):this]
call [System.Collections.ObjectModel.Collection`1[int]:Add(int):this]
mov rax, rdi
mov rax, rdi
;; size=15 bbWeight=1 PerfScore 5.50
;; size=15 bbWeight=1 PerfScore 5.50
G_M18525_IG07:
G_M18525_IG07:
add rsp, 40
add rsp, 40
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
;; size=7 bbWeight=1 PerfScore 2.25
;; size=7 bbWeight=1 PerfScore 2.25
G_M18525_IG08:
mov rcx, 0xD1FFAB1E ; System.ArgumentException
call CORINFO_HELP_NEWSFAST
mov rsi, rax
call [System.SR:get_Arg_MustBeType():System.String]
mov rdi, rax
mov ecx, 691
mov rdx, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov r8, rax
mov rdx, rdi
mov rcx, rsi
call [System.ArgumentException:.ctor(System.String,System.String):this]
mov rcx, rsi
call CORINFO_HELP_THROW
int3
;; size=71 bbWeight=0 PerfScore 0.00


; Total bytes of code 200, prolog size 6, PerfScore 45.75, instruction count 47, allocated bytes for code 200 (MethodHash=3a8db7a2) for method System.ComponentModel.BindingList`1[int]:AddNewCore():System.Object:this
; Total bytes of code 114, prolog size 6, PerfScore 35.03, instruction count 29, allocated bytes for code 114 (MethodHash=3a8db7a2) for method System.ComponentModel.BindingList`1[int]:AddNewCore():System.Object:this
; ============================================================
; ============================================================