Untitled Diff
92 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
; ============================================================
; ============================================================