Untitled diff

Creato Il diff non scade mai
41 rimozioni
50 linee
56 aggiunte
65 linee
; Assembly listing for method My:Format[System.Nullable`1[int]](System.Nullable`1[int]):System.String
; Assembly listing for method My:Format[System.Nullable`1[int]](System.Nullable`1[int]):System.String
G_M46004_IG01: ;; offset=0x0000
G_M46004_IG01: ;; offset=0x0000
push rbx
push rbx
sub rsp, 32
sub rsp, 48
mov qword ptr [rsp+0x30], rcx
xor eax, eax
;; size=10 bbWeight=1 PerfScore 2.25
mov qword ptr [rsp+0x20], rax
G_M46004_IG02: ;; offset=0x000A
mov qword ptr [rsp+0x28], rax
lea rdx, [rsp+0x30]
;; size=17 bbWeight=1 PerfScore 3.50
mov rcx, 0x7FFBCDA0C618 ; System.Nullable`1[int]
G_M46004_IG02: ;; offset=0x0011
call [CORINFO_HELP_BOX_NULLABLE]
movzx rax, cl
test rax, rax
shr rcx, 32
jne SHORT G_M46004_IG05
test eax, eax
;; size=26 bbWeight=1 PerfScore 5.00
jne SHORT G_M46004_IG04
G_M46004_IG03: ;; offset=0x0024
;; size=11 bbWeight=1 PerfScore 2.00
G_M46004_IG03: ;; offset=0x001C
xor rdx, rdx
jmp SHORT G_M46004_IG05
;; size=4 bbWeight=0.25 PerfScore 0.56
G_M46004_IG04: ;; offset=0x0020
mov rdx, 0x7FFBCF79A820 ; System.Int32
mov qword ptr [rsp+0x20], rdx
mov dword ptr [rsp+0x28], ecx
lea rdx, [rsp+0x20]
;; size=24 bbWeight=0.25 PerfScore 0.69
G_M46004_IG05: ;; offset=0x0038
test rdx, rdx
jne SHORT G_M46004_IG08
;; size=5 bbWeight=1 PerfScore 1.25
G_M46004_IG06: ;; offset=0x003D
xor rax, rax
xor rax, rax
;; size=2 bbWeight=0.50 PerfScore 0.12
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M46004_IG04: ;; offset=0x0026
G_M46004_IG07: ;; offset=0x003F
add rsp, 32
add rsp, 48
pop rbx
pop rbx
ret
ret
;; size=6 bbWeight=0.50 PerfScore 0.88
;; size=6 bbWeight=0.50 PerfScore 0.88
G_M46004_IG05: ;; offset=0x002C
G_M46004_IG08: ;; offset=0x0045
add rax, 8
add rdx, 8
mov ebx, dword ptr [rax]
mov ebx, dword ptr [rdx]
test ebx, ebx
test ebx, ebx
jl SHORT G_M46004_IG09
jl SHORT G_M46004_IG12
;; size=10 bbWeight=0.50 PerfScore 1.75
;; size=10 bbWeight=0.50 PerfScore 1.75
G_M46004_IG06: ;; offset=0x0036
G_M46004_IG09: ;; offset=0x004F
mov ecx, ebx
mov ecx, ebx
call [System.Number:UInt32ToDecStr(uint):System.String]
call [System.Number:UInt32ToDecStr(uint):System.String]
;; size=8 bbWeight=0.50 PerfScore 1.62
;; size=8 bbWeight=0.50 PerfScore 1.62
G_M46004_IG07: ;; offset=0x003E
G_M46004_IG10: ;; offset=0x0057
nop
nop
;; size=1 bbWeight=0.50 PerfScore 0.12
;; size=1 bbWeight=0.50 PerfScore 0.12
G_M46004_IG08: ;; offset=0x003F
G_M46004_IG11: ;; offset=0x0058
add rsp, 32
add rsp, 48
pop rbx
pop rbx
ret
ret
;; size=6 bbWeight=0.50 PerfScore 0.88
;; size=6 bbWeight=0.50 PerfScore 0.88
G_M46004_IG09: ;; offset=0x0045
G_M46004_IG12: ;; offset=0x005E
call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo]
call [System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo]
mov r8, gword ptr [rax+0x28]
mov r8, gword ptr [rax+0x28]
mov ecx, ebx
mov ecx, ebx
mov edx, -1
mov edx, -1
call [System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String]
call [System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String]
jmp SHORT G_M46004_IG07
jmp SHORT G_M46004_IG10
;; size=25 bbWeight=0.00 PerfScore 0.01
;; size=25 bbWeight=0.00 PerfScore 0.01


; Total bytes of code 94, prolog size 5, PerfScore 12.63, instruction count 28, allocated bytes for code 94 (MethodHash=30814c4b) for method My:Format[System.Nullable`1[int]](System.Nullable`1[int]):System.String (FullOpts)
; Total bytes of code 119, prolog size 17, PerfScore 13.38, instruction count 37, allocated bytes for code 119 (MethodHash=30814c4b) for method My:Format[System.Nullable`1[int]](System.Nullable`1[int]):System.String (FullOpts)
; ============================================================
; ============================================================