Untitled Diff

Created Diff never expires
67 removals
79 lines
20 additions
34 lines
; Assembly listing for method System.Linq.Enumerable:OrderDescending[int](System.Collections.Generic.IEnumerable`1[int]):System.Linq.IOrderedEnumerable`1[int]
; Assembly listing for method System.Linq.Enumerable:OrderDescending[int](System.Collections.Generic.IEnumerable`1[int]):System.Linq.IOrderedEnumerable`1[int]


G_M46272_IG01:
G_M46272_IG01:
push rdi
push rdi
push rsi
push rsi
push rbx
sub rsp, 40
sub rsp, 32
mov rsi, rcx
mov rsi, rcx
;; size=10 bbWeight=1 PerfScore 3.50
;; size=9 bbWeight=1 PerfScore 2.50
G_M46272_IG02:
G_M46272_IG02:
call [System.Linq.Enumerable:TypeIsImplicitlyStable[int]():bool]
test eax, eax
jne G_M46272_IG04
;; size=14 bbWeight=1 PerfScore 4.25
G_M46272_IG03:
mov rcx, 0xD1FFAB1E
mov edx, 9
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov rcx, 0xD1FFAB1E ; data for System.Linq.EnumerableSorter`1[int]:IdentityFunc
mov rdi, gword ptr [rcx]
mov rcx, 0xD1FFAB1E ; System.Linq.OrderedEnumerable`2[int,int]
call CORINFO_HELP_NEWSFAST
mov rbx, rax
lea rcx, bword ptr [rbx+08H]
mov rdx, rsi
call CORINFO_HELP_ASSIGN_REF
test rsi, rsi
je G_M46272_IG08
test rdi, rdi
je SHORT G_M46272_IG07
xor rdx, rdx
mov gword ptr [rbx+10H], rdx
lea rcx, bword ptr [rbx+18H]
mov rdx, rdi
call CORINFO_HELP_ASSIGN_REF
mov rcx, 0xD1FFAB1E
mov edx, 38
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov rdx, 0xD1FFAB1E ; data for System.Collections.Generic.Comparer`1[int]:<Default>k__BackingField
mov rdx, gword ptr [rdx]
lea rcx, bword ptr [rbx+20H]
call CORINFO_HELP_ASSIGN_REF
mov byte ptr [rbx+28H], 1
jmp SHORT G_M46272_IG05
;; size=143 bbWeight=0.50 PerfScore 10.38
G_M46272_IG04:
mov rcx, 0xD1FFAB1E ; System.Linq.OrderedImplicitlyStableEnumerable`1[int]
mov rcx, 0xD1FFAB1E ; System.Linq.OrderedImplicitlyStableEnumerable`1[int]
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rdi, rax
lea rcx, bword ptr [rbx+08H]
lea rcx, bword ptr [rdi+08H]
mov rdx, rsi
mov rdx, rsi
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
test rsi, rsi
test rsi, rsi
je SHORT G_M46272_IG08
je SHORT G_M46272_IG04
mov byte ptr [rbx+10H], 1
mov byte ptr [rdi+10H], 1
;; size=39 bbWeight=0.50 PerfScore 2.75
mov rax, rdi
G_M46272_IG05:
;; size=42 bbWeight=1 PerfScore 5.75
mov rax, rbx
G_M46272_IG03:
;; size=3 bbWeight=1 PerfScore 0.25
add rsp, 40
G_M46272_IG06:
add rsp, 32
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
;; size=8 bbWeight=1 PerfScore 2.75
;; size=7 bbWeight=1 PerfScore 2.25
G_M46272_IG07:
G_M46272_IG04:
mov ecx, 9
call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)]
int3
;; size=12 bbWeight=0 PerfScore 0.00
G_M46272_IG08:
mov ecx, 16
mov ecx, 16
call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)]
call [System.Linq.ThrowHelper:ThrowArgumentNullException(int)]
int3
int3
;; size=12 bbWeight=0 PerfScore 0.00
;; size=12 bbWeight=0 PerfScore 0.00


; Total bytes of code 241, prolog size 7, PerfScore 47.98, instruction count 58, allocated bytes for code 241 (MethodHash=1faf4b3f) for method System.Linq.Enumerable:OrderDescending[int](System.Collections.Generic.IEnumerable`1[int]):System.Linq.IOrderedEnumerable`1[int]
; Total bytes of code 70, prolog size 6, PerfScore 17.50, instruction count 21, allocated bytes for code 70 (MethodHash=1faf4b3f) for method System.Linq.Enumerable:OrderDescending[int](System.Collections.Generic.IEnumerable`1[int]):System.Linq.IOrderedEnumerable`1[int]
; ============================================================
; ============================================================