Untitled Diff

Created Diff never expires
32 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
234 lines
51 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
253 lines
; Assembly listing for method System.Xml.Schema.XmlBaseConverter:StringToDate(System.String):System.DateTime
; Assembly listing for method System.Xml.Schema.XmlBaseConverter:StringToDate(System.String):System.DateTime


G_M20794_IG01:
G_M20794_IG01:
push r14
push r14
push rdi
push rdi
push rsi
push rsi
push rbp
push rbp
push rbx
push rbx
sub rsp, 224
sub rsp, 224
vzeroupper
vzeroupper
vxorps xmm4, xmm4
vxorps xmm4, xmm4
vmovdqa xmmword ptr [rsp+60H], xmm4
vmovdqa xmmword ptr [rsp+60H], xmm4
mov rax, -96
mov rax, -96
vmovdqa xmmword ptr [rsp+rax+D0H], xmm4
vmovdqa xmmword ptr [rsp+rax+D0H], xmm4
vmovdqa xmmword ptr [rsp+rax+E0H], xmm4
vmovdqa xmmword ptr [rsp+rax+E0H], xmm4
vmovdqa xmmword ptr [rsp+rax+F0H], xmm4
vmovdqa xmmword ptr [rsp+rax+F0H], xmm4
add rax, 48
add rax, 48
jne SHORT -5 instr
jne SHORT -5 instr
mov rsi, rcx
mov rsi, rcx
;; size=72 bbWeight=1 PerfScore 16.33
;; size=72 bbWeight=1 PerfScore 16.33
G_M20794_IG02:
G_M20794_IG02:
vxorps xmm0, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vmovupd xmmword ptr [rsp+D0H], xmm0
vmovupd xmmword ptr [rsp+D0H], xmm0
lea rcx, [rsp+98H]
lea rcx, [rsp+98H]
mov rdx, rsi
mov rdx, rsi
mov r8d, 4
mov r8d, 4
call [System.Xml.Schema.XsdDateTime+Parser:Parse(System.String,int):bool:this]
call [System.Xml.Schema.XsdDateTime+Parser:Parse(System.String,int):bool:this]
test eax, eax
test eax, eax
je G_M20794_IG14
je G_M20794_IG18
;; size=44 bbWeight=1 PerfScore 6.58
;; size=44 bbWeight=1 PerfScore 6.58
G_M20794_IG03:
G_M20794_IG03:
vmovdqu ymm0, ymmword ptr[rsp+98H]
vmovdqu ymm0, ymmword ptr[rsp+98H]
vmovdqu ymmword ptr[rsp+60H], ymm0
vmovdqu ymmword ptr[rsp+60H], ymm0
vmovdqu xmm0, xmmword ptr [rsp+B8H]
vmovdqu xmm0, xmmword ptr [rsp+B8H]
vmovdqu xmmword ptr [rsp+80H], xmm0
vmovdqu xmmword ptr [rsp+80H], xmm0
mov rcx, qword ptr [rsp+C8H]
mov rcx, qword ptr [rsp+C8H]
mov qword ptr [rsp+90H], rcx
mov qword ptr [rsp+90H], rcx
;; size=49 bbWeight=1 PerfScore 11.00
;; size=49 bbWeight=1 PerfScore 11.00
G_M20794_IG04:
G_M20794_IG04:
xor ecx, ecx
xor ecx, ecx
mov qword ptr [rsp+58H], rcx
mov qword ptr [rsp+58H], rcx
mov edx, dword ptr [rsp+6CH]
mov edx, dword ptr [rsp+6CH]
mov r8d, dword ptr [rsp+70H]
mov r8d, dword ptr [rsp+70H]
mov r9d, dword ptr [rsp+74H]
mov r9d, dword ptr [rsp+74H]
mov ecx, dword ptr [rsp+78H]
mov ecx, dword ptr [rsp+78H]
mov eax, dword ptr [rsp+7CH]
mov eax, dword ptr [rsp+7CH]
mov r10d, dword ptr [rsp+80H]
mov r10d, dword ptr [rsp+80H]
cmp r10d, 60
cmp r10d, 60
je G_M20794_IG09
je G_M20794_IG09
;; size=47 bbWeight=1 PerfScore 8.50
;; size=47 bbWeight=1 PerfScore 8.50
G_M20794_IG05:
G_M20794_IG05:
test edx, edx
test edx, edx
jle G_M20794_IG15
jle G_M20794_IG19
cmp edx, 0x270F
cmp edx, 0x270F
jg G_M20794_IG15
jg G_M20794_IG19
test r8d, r8d
test r8d, r8d
jle G_M20794_IG15
jle G_M20794_IG19
cmp r8d, 12
cmp r8d, 12
jg G_M20794_IG15
jg G_M20794_IG19
test r9d, r9d
test r9d, r9d
jle G_M20794_IG15
jle G_M20794_IG19
test dl, 3
test dl, 3
jne SHORT G_M20794_IG06
jne SHORT G_M20794_IG06
test dl, 15
test dl, 15
je SHORT G_M20794_IG07
je SHORT G_M20794_IG07
mov r11d, edx
mov r11d, edx
imul r11, r11, 0xD1FFAB1E
imul r11, r11, 0xD1FFAB1E
shr r11, 35
shr r11, 35
imul r11d, r11d, 25
imul r11d, r11d, 25
mov esi, edx
mov esi, edx
sub esi, r11d
sub esi, r11d
jne SHORT G_M20794_IG07
jne SHORT G_M20794_IG07
;; size=83 bbWeight=0.50 PerfScore 7.50
;; size=83 bbWeight=0.50 PerfScore 7.50
G_M20794_IG06:
G_M20794_IG06:
mov r11, 0xD1FFAB1E ; const ptr
mov r11, 0xD1FFAB1E ; const ptr
mov r11, gword ptr [r11]
mov r11, gword ptr [r11]
jmp SHORT G_M20794_IG08
jmp SHORT G_M20794_IG08
;; size=15 bbWeight=0.50 PerfScore 2.12
;; size=15 bbWeight=0.50 PerfScore 2.12
G_M20794_IG07:
G_M20794_IG07:
mov r11, 0xD1FFAB1E ; const ptr
mov r11, 0xD1FFAB1E ; const ptr
mov r11, gword ptr [r11]
mov r11, gword ptr [r11]
;; size=13 bbWeight=0.50 PerfScore 1.12
;; size=13 bbWeight=0.50 PerfScore 1.12
G_M20794_IG08:
G_M20794_IG08:
mov esi, dword ptr [r11+08H]
mov esi, dword ptr [r11+08H]
cmp r8d, esi
cmp r8d, esi
jae G_M20794_IG17
jae G_M20794_IG21
mov edi, r8d
mov edi, r8d
mov edi, dword ptr [r11+4*rdi+10H]
mov edi, dword ptr [r11+4*rdi+10H]
dec r8d
dec r8d
cmp r8d, esi
cmp r8d, esi
jae G_M20794_IG17
jae G_M20794_IG21
mov r8d, r8d
mov r8d, r8d
mov r8d, dword ptr [r11+4*r8+10H]
mov r8d, dword ptr [r11+4*r8+10H]
sub edi, r8d
sub edi, r8d
cmp edi, r9d
cmp edi, r9d
jb G_M20794_IG15
jb G_M20794_IG19
dec edx
dec edx
mov r11d, edx
mov r11d, edx
imul r11, r11, 0xD1FFAB1E
imul r11, r11, 0xD1FFAB1E
shr r11, 37
shr r11, 37
imul edx, edx, 0x5B5
imul edx, edx, 0x5B5
shr edx, 2
shr edx, 2
sub edx, r11d
sub edx, r11d
shr r11d, 2
shr r11d, 2
add edx, r11d
add edx, r11d
add edx, r8d
add edx, r8d
lea edx, [rdx+r9-01H]
lea edx, [rdx+r9-01H]
mov r8, 0xD1FFAB1E
mov r8, 0xD1FFAB1E
imul rdx, r8
imul rdx, r8
cmp ecx, 24
cmp ecx, 24
jae G_M20794_IG16
jae G_M20794_IG20
cmp eax, 60
cmp eax, 60
jae G_M20794_IG16
jae G_M20794_IG20
cmp r10d, 60
cmp r10d, 60
jae G_M20794_IG16
jae G_M20794_IG20
imul ecx, ecx, 0xE10
imul ecx, ecx, 0xE10
imul eax, eax, 60
imul eax, eax, 60
add ecx, eax
add ecx, eax
add ecx, r10d
add ecx, r10d
imul rcx, rcx, 0xD1FFAB1E
imul rcx, rcx, 0xD1FFAB1E
add rcx, rdx
add rcx, rdx
mov qword ptr [rsp+58H], rcx
mov qword ptr [rsp+58H], rcx
jmp G_M20794_IG10
jmp G_M20794_IG14
;; size=172 bbWeight=0.50 PerfScore 17.12
;; size=172 bbWeight=0.50 PerfScore 17.12
G_M20794_IG09:
G_M20794_IG09:
xor r10d, r10d
xor r10d, r10d
mov qword ptr [rsp+50H], r10
mov qword ptr [rsp+50H], r10
mov dword ptr [rsp+20H], ecx
mov dword ptr [rsp+20H], ecx
mov dword ptr [rsp+28H], eax
mov dword ptr [rsp+28H], eax
mov dword ptr [rsp+30H], 59
mov dword ptr [rsp+30H], 59
lea rcx, bword ptr [rsp+50H]
lea rcx, bword ptr [rsp+50H]
call [System.DateTime:.ctor(int,int,int,int,int,int):this]
call [System.DateTime:.ctor(int,int,int,int,int,int):this]
mov rcx, qword ptr [rsp+50H]
mov rcx, qword ptr [rsp+50H]
mov qword ptr [rsp+58H], rcx
mov qword ptr [rsp+58H], rcx
lea rcx, bword ptr [rsp+58H]
lea rcx, bword ptr [rsp+58H]
call [System.DateTime:get_Year():int:this]
call [System.DateTime:get_Year():int:this]
mov esi, eax
mov esi, eax
lea rcx, bword ptr [rsp+58H]
lea rcx, bword ptr [rsp+58H]
call [System.DateTime:get_Month():int:this]
call [System.DateTime:get_Month():int:this]
mov edi, eax
mov edi, eax
lea rcx, bword ptr [rsp+58H]
lea rcx, bword ptr [rsp+58H]
call [System.DateTime:get_Day():int:this]
call [System.DateTime:get_Day():int:this]
mov ebx, eax
mov ebx, eax
lea rcx, bword ptr [rsp+58H]
lea rcx, bword ptr [rsp+58H]
call [System.DateTime:get_Hour():int:this]
call [System.DateTime:get_Hour():int:this]
mov ebp, eax
mov ebp, eax
lea rcx, bword ptr [rsp+58H]
lea rcx, bword ptr [rsp+58H]
call [System.DateTime:get_Minute():int:this]
call [System.DateTime:get_Minute():int:this]
mov r14d, eax
mov r14d, eax
lea rcx, bword ptr [rsp+58H]
lea rcx, bword ptr [rsp+58H]
call [System.DateTime:get_Kind():int:this]
call [System.DateTime:get_InternalKind():ulong:this]
test rax, rax
je SHORT G_M20794_IG10
mov rcx, 0xD1FFAB1E
cmp rax, rcx
je SHORT G_M20794_IG11
jmp SHORT G_M20794_IG12
;; size=144 bbWeight=0.50 PerfScore 18.38
G_M20794_IG10:
xor ecx, ecx
jmp SHORT G_M20794_IG13
;; size=4 bbWeight=0.50 PerfScore 1.12
G_M20794_IG11:
mov ecx, 1
jmp SHORT G_M20794_IG13
;; size=7 bbWeight=0.50 PerfScore 1.12
G_M20794_IG12:
mov ecx, 2
;; size=5 bbWeight=0.50 PerfScore 0.12
G_M20794_IG13:
mov dword ptr [rsp+20H], r14d
mov dword ptr [rsp+28H], ecx
mov ecx, esi
mov ecx, esi
mov edx, edi
mov edx, edi
mov r8d, ebx
mov r8d, ebx
mov r9d, ebp
mov r9d, ebp
mov dword ptr [rsp+20H], r14d
mov dword ptr [rsp+28H], eax
call [System.DateTime:IsValidTimeWithLeapSeconds(int,int,int,int,int,int):bool]
call [System.DateTime:IsValidTimeWithLeapSeconds(int,int,int,int,int,int):bool]
test eax, eax
test eax, eax
je G_M20794_IG16
je G_M20794_IG20
;; size=155 bbWeight=0.50 PerfScore 19.62
;; size=33 bbWeight=0.50 PerfScore 3.62
G_M20794_IG10:
G_M20794_IG14:
mov rdx, qword ptr [rsp+58H]
mov rdx, qword ptr [rsp+58H]
mov qword ptr [rsp+D0H], rdx
mov qword ptr [rsp+D0H], rdx
cmp dword ptr [rsp+84H], 0
cmp dword ptr [rsp+84H], 0
je SHORT G_M20794_IG12
je SHORT G_M20794_IG16
;; size=23 bbWeight=1 PerfScore 5.00
;; size=23 bbWeight=1 PerfScore 5.00
G_M20794_IG11:
G_M20794_IG15:
movsxd rdx, dword ptr [rsp+84H]
movsxd rdx, dword ptr [rsp+84H]
lea rcx, bword ptr [rsp+D0H]
lea rcx, bword ptr [rsp+D0H]
call [System.DateTime:AddTicks(long):System.DateTime:this]
call [System.DateTime:AddTicks(long):System.DateTime:this]
mov qword ptr [rsp+D0H], rax
mov qword ptr [rsp+D0H], rax
;; size=30 bbWeight=0.50 PerfScore 3.75
;; size=30 bbWeight=0.50 PerfScore 3.75
G_M20794_IG12:
G_M20794_IG16:
mov ecx, dword ptr [rsp+68H]
mov ecx, dword ptr [rsp+68H]
shl ecx, 24
shl ecx, 24
mov eax, dword ptr [rsp+88H]
mov eax, dword ptr [rsp+88H]
shl eax, 16
shl eax, 16
or ecx, eax
or ecx, eax
mov eax, dword ptr [rsp+8CH]
mov eax, dword ptr [rsp+8CH]
shl eax, 8
shl eax, 8
or ecx, eax
or ecx, eax
or ecx, dword ptr [rsp+90H]
or ecx, dword ptr [rsp+90H]
mov dword ptr [rsp+D8H], ecx
mov dword ptr [rsp+D8H], ecx
vmovupd xmm0, xmmword ptr [rsp+D0H]
vmovupd xmm0, xmmword ptr [rsp+D0H]
vmovupd xmmword ptr [rsp+40H], xmm0
vmovupd xmmword ptr [rsp+40H], xmm0
lea rcx, [rsp+40H]
lea rcx, [rsp+40H]
call [System.Xml.Schema.XsdDateTime:op_Implicit(System.Xml.Schema.XsdDateTime):System.DateTime]
call [System.Xml.Schema.XsdDateTime:op_Implicit(System.Xml.Schema.XsdDateTime):System.DateTime]
nop
nop
;; size=72 bbWeight=1 PerfScore 15.75
;; size=72 bbWeight=1 PerfScore 15.75
G_M20794_IG13:
G_M20794_IG17:
add rsp, 224
add rsp, 224
pop rbx
pop rbx
pop rbp
pop rbp
pop rsi
pop rsi
pop rdi
pop rdi
pop r14
pop r14
ret
ret
;; size=14 bbWeight=1 PerfScore 3.75
;; size=14 bbWeight=1 PerfScore 3.75
G_M20794_IG14:
G_M20794_IG18:
mov rcx, 0xD1FFAB1E ; System.Xml.Schema.XsdDateTimeFlags
mov rcx, 0xD1FFAB1E ; System.Xml.Schema.XsdDateTimeFlags
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
mov rdi, rax
mov rdi, rax
call [System.SR:get_XmlConvert_BadFormat():System.String]
call [System.SR:get_XmlConvert_BadFormat():System.String]
mov rbx, rax
mov rbx, rax
mov dword ptr [rdi+08H], 4
mov dword ptr [rdi+08H], 4
mov rcx, 0xD1FFAB1E ; System.FormatException
mov rcx, 0xD1FFAB1E ; System.FormatException
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
mov rbp, rax
mov rbp, rax
mov r8, rdi
mov r8, rdi
mov rcx, rbx
mov rcx, rbx
mov rdx, rsi
mov rdx, rsi
call [System.SR:Format(System.String,System.Object,System.Object):System.String]
call [System.SR:Format(System.String,System.Object,System.Object):System.String]
mov rdx, rax
mov rdx, rax
mov rcx, rbp
mov rcx, rbp
call [System.FormatException:.ctor(System.String):this]
call [System.FormatException:.ctor(System.String):this]
mov rcx, rbp
mov rcx, rbp
call CORINFO_HELP_THROW
call CORINFO_HELP_THROW
;; size=87 bbWeight=0 PerfScore 0.00
;; size=87 bbWeight=0 PerfScore 0.00
G_M20794_IG15:
G_M20794_IG19:
call [System.ThrowHelper:ThrowArgumentOutOfRange_BadYearMonthDay()]
call [System.ThrowHelper:ThrowArgumentOutOfRange_BadYearMonthDay()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00
G_M20794_IG16:
G_M20794_IG20:
call [System.ThrowHelper:ThrowArgumentOutOfRange_BadHourMinuteSecond()]
call [System.ThrowHelper:ThrowArgumentOutOfRange_BadHourMinuteSecond()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00
G_M20794_IG17:
G_M20794_IG21:
call CORINFO_HELP_RNGCHKFAIL
call CORINFO_HELP_RNGCHKFAIL
int3
int3
;; size=6 bbWeight=0 PerfScore 0.00
;; size=6 bbWeight=0 PerfScore 0.00


; Total bytes of code 896, prolog size 69, PerfScore 209.07, instruction count 195, allocated bytes for code 909 (MethodHash=010aaec5) for method System.Xml.Schema.XmlBaseConverter:StringToDate(System.String):System.DateTime
; Total bytes of code 934, prolog size 69, PerfScore 217.62, instruction count 206, allocated bytes for code 947 (MethodHash=010aaec5) for method System.Xml.Schema.XmlBaseConverter:StringToDate(System.String):System.DateTime
; ============================================================
; ============================================================