180 (32.20 % of base) - Microsoft.Extensions.Logging.EventSource.LoggingEventSource:MessageJson(int,int,System.String,int,System.String,System.String,System.String,System.String):this
; Assembly listing for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:MessageJson(int,int,System.String,int,System.String,System.String,System.String,System.String):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 23 single block inlinees; 8 inlinees without PGO data
+; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T03] ( 4, 3.50) ref -> rdi this class-hnd single-def <Microsoft.Extensions.Logging.EventSource.LoggingEventSource>
+; V00 this [V00,T00] ( 4, 3.50) ref -> rbx this class-hnd single-def <Microsoft.Extensions.Logging.EventSource.LoggingEventSource>
; V01 arg1 [V01 ] ( 3, 2.50) int -> [rbp-0x2C] do-not-enreg[X] addr-exposed ld-addr-op single-def
; V02 arg2 [V02 ] ( 3, 2.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op single-def
-; V03 arg3 [V03,T00] ( 8, 5 ) ref -> rcx ld-addr-op class-hnd <System.String>
-; V04 arg4 [V04 ] ( 3, 2.50) int -> [rbp-0x34] do-not-enreg[X] addr-exposed ld-addr-op single-def
-; V05 arg5 [V05,T01] ( 8, 5 ) ref -> r9 ld-addr-op class-hnd <System.String>
-; V06 arg6 [V06,T04] ( 6, 3 ) ref -> r8 ld-addr-op class-hnd <System.String>
-; V07 arg7 [V07,T05] ( 6, 3 ) ref -> rsi ld-addr-op class-hnd <System.String>
-; V08 arg8 [V08,T06] ( 6, 3 ) ref -> rdx ld-addr-op class-hnd <System.String>
+; V03 arg3 [V03 ] ( 8, 5 ) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
+; V04 arg4 [V04 ] ( 3, 2.50) int -> [rbp-0x3C] do-not-enreg[X] addr-exposed ld-addr-op single-def
+; V05 arg5 [V05 ] ( 8, 5 ) ref -> [rbp-0x48] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
+; V06 arg6 [V06 ] ( 6, 3 ) ref -> [rbp+0x10] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
+; V07 arg7 [V07 ] ( 6, 3 ) ref -> [rbp+0x18] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
+; V08 arg8 [V08 ] ( 6, 3 ) ref -> [rbp+0x20] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
;* V09 loc0 [V09 ] ( 0, 0 ) long -> zero-ref single-def
-; V10 loc1 [V10 ] ( 3, 1.50) byref -> [rbp-0x40] must-init pinned
+; V10 loc1 [V10 ] ( 3, 1.50) byref -> [rbp-0x50] must-init pinned
;* V11 loc2 [V11 ] ( 0, 0 ) long -> zero-ref single-def
-; V12 loc3 [V12 ] ( 3, 1.50) byref -> [rbp-0x48] must-init pinned
+; V12 loc3 [V12 ] ( 3, 1.50) byref -> [rbp-0x58] must-init pinned
;* V13 loc4 [V13 ] ( 0, 0 ) long -> zero-ref single-def
-; V14 loc5 [V14 ] ( 3, 1.50) byref -> [rbp-0x50] must-init pinned
+; V14 loc5 [V14 ] ( 3, 1.50) byref -> [rbp-0x60] must-init pinned
;* V15 loc6 [V15 ] ( 0, 0 ) long -> zero-ref single-def
-; V16 loc7 [V16 ] ( 3, 1.50) byref -> [rbp-0x58] must-init pinned
+; V16 loc7 [V16 ] ( 3, 1.50) byref -> [rbp-0x68] must-init pinned
;* V17 loc8 [V17 ] ( 0, 0 ) long -> zero-ref single-def
-; V18 loc9 [V18 ] ( 3, 1.50) byref -> [rbp-0x60] must-init pinned
-; V19 loc10 [V19,T02] ( 11, 5.50) long -> r14 single-def
+; V18 loc9 [V18 ] ( 3, 1.50) byref -> [rbp-0x70] must-init pinned
+; V19 loc10 [V19,T01] ( 10, 5 ) long -> [rbp-0x78] spill-single-def
;# V20 OutArgs [V20 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V21 tmp1 [V21,T25] ( 3, 1.50) long -> rax
-; V22 tmp2 [V22,T26] ( 3, 1.50) long -> r10
-; V23 tmp3 [V23,T27] ( 3, 1.50) long -> r11
-; V24 tmp4 [V24,T28] ( 3, 1.50) long -> rbx
-; V25 tmp5 [V25,T29] ( 3, 1.50) long -> r15
-;* V26 tmp6 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V27 tmp7 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V28 tmp8 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V29 tmp9 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V30 tmp10 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V31 tmp11 [V31 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V32 tmp12 [V32,T07] ( 3, 3 ) byref -> r13 single-def "Inlining Arg"
-;* V33 tmp13 [V33 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V34 tmp14 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V35 tmp15 [V35,T08] ( 3, 3 ) byref -> r13 single-def "Inlining Arg"
-; V36 tmp16 [V36,T15] ( 2, 2 ) int -> rcx "Inlining Arg"
-; V37 tmp17 [V37,T09] ( 3, 3 ) byref -> rcx single-def "Inlining Arg"
-;* V38 tmp18 [V38 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V39 tmp19 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V40 tmp20 [V40,T10] ( 3, 3 ) byref -> rcx single-def "Inlining Arg"
-; V41 tmp21 [V41,T16] ( 2, 2 ) int -> rax "Inlining Arg"
-;* V42 tmp22 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V43 tmp23 [V43,T11] ( 3, 3 ) byref -> rcx single-def "Inlining Arg"
-; V44 tmp24 [V44,T17] ( 2, 2 ) int -> r8 "Inlining Arg"
-;* V45 tmp25 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V46 tmp26 [V46,T12] ( 3, 3 ) byref -> r8 single-def "Inlining Arg"
-; V47 tmp27 [V47,T18] ( 2, 2 ) int -> rsi "Inlining Arg"
-;* V48 tmp28 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V49 tmp29 [V49,T13] ( 3, 3 ) byref -> r8 single-def "Inlining Arg"
-; V50 tmp30 [V50,T19] ( 2, 2 ) int -> rsi "Inlining Arg"
-; V51 tmp31 [V51,T20] ( 2, 2 ) long -> rax "Cast away GC"
-; V52 tmp32 [V52,T21] ( 2, 2 ) long -> r10 "Cast away GC"
-; V53 tmp33 [V53,T22] ( 2, 2 ) long -> r11 "Cast away GC"
-; V54 tmp34 [V54,T23] ( 2, 2 ) long -> rbx "Cast away GC"
-; V55 tmp35 [V55,T24] ( 2, 2 ) long -> r15 "Cast away GC"
-; V56 GsCookie [V56 ] ( 1, 1 ) long -> [rbp-0x68] do-not-enreg[X] addr-exposed "GSSecurityCookie"
-; V57 rat0 [V57,T14] ( 3, 3 ) long -> r14 "ReplaceWithLclVar is creating a new local variable"
+; V21 tmp1 [V21,T13] ( 3, 1.50) long -> r15
+; V22 tmp2 [V22,T14] ( 3, 1.50) long -> r14
+; V23 tmp3 [V23,T15] ( 3, 1.50) long -> r13
+; V24 tmp4 [V24,T16] ( 3, 1.50) long -> r12
+; V25 tmp5 [V25,T17] ( 3, 1.50) long -> [rbp-0x80]
+; V26 tmp6 [V26,T02] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V27 tmp7 [V27,T03] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V28 tmp8 [V28,T04] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V29 tmp9 [V29,T05] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V30 tmp10 [V30,T06] ( 3, 3 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
+; V31 tmp11 [V31,T08] ( 2, 2 ) long -> r15 "Cast away GC"
+; V32 tmp12 [V32,T09] ( 2, 2 ) long -> r14 "Cast away GC"
+; V33 tmp13 [V33,T10] ( 2, 2 ) long -> r13 "Cast away GC"
+; V34 tmp14 [V34,T11] ( 2, 2 ) long -> r12 "Cast away GC"
+; V35 tmp15 [V35,T12] ( 2, 2 ) long -> rax "Cast away GC"
+; V36 GsCookie [V36 ] ( 1, 1 ) long -> [rbp-0x88] do-not-enreg[X] addr-exposed "GSSecurityCookie"
+; V37 rat0 [V37,T07] ( 3, 3 ) long -> rsi "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 72
+; Lcl frame size = 104
G_M44913_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 72
- lea rbp, [rsp+0x70]
+ sub rsp, 104
+ lea rbp, [rsp+0x90]
vxorps xmm8, xmm8, xmm8
- vmovdqu ymmword ptr [rbp-0x60], ymm8
+ vmovdqu ymmword ptr [rbp-0x70], ymm8
xor eax, eax
- mov qword ptr [rbp-0x40], rax
- mov qword ptr [rbp-0x68], 0xD1FFAB1E
+ mov qword ptr [rbp-0x50], rax
+ mov qword ptr [rbp-0x88], 0xD1FFAB1E
mov dword ptr [rbp-0x2C], esi
mov dword ptr [rbp-0x30], edx
- mov dword ptr [rbp-0x34], r8d
- mov r8, gword ptr [rbp+0x10]
- mov rsi, gword ptr [rbp+0x18]
- mov rdx, gword ptr [rbp+0x20]
- ;; size=65 bbWeight=1 PerfScore 17.33
+ mov gword ptr [rbp-0x38], rcx
+ mov dword ptr [rbp-0x3C], r8d
+ mov gword ptr [rbp-0x48], r9
+ mov rbx, rdi
+ ;; size=70 bbWeight=1 PerfScore 16.58
G_M44913_IG02:
- cmp byte ptr [rdi+0x9D], 0
+ cmp byte ptr [rbx+0x9D], 0
je G_M44913_IG19
;; size=13 bbWeight=1 PerfScore 4.00
G_M44913_IG03:
- mov rax, 0xD1FFAB1E ; ''
- test rcx, rcx
- cmove rcx, rax
- test r9, r9
- cmove r9, rax
- test r8, r8
- cmove r8, rax
- test rsi, rsi
- cmove rsi, rax
- test rdx, rdx
- cmove rdx, rax
- test rcx, rcx
+ mov rsi, 0xD1FFAB1E ; ''
+ cmp gword ptr [rbp-0x38], 0
+ cmovne rsi, gword ptr [rbp-0x38]
+ mov gword ptr [rbp-0x38], rsi
+ mov rsi, 0xD1FFAB1E ; ''
+ cmp gword ptr [rbp-0x48], 0
+ cmovne rsi, gword ptr [rbp-0x48]
+ mov gword ptr [rbp-0x48], rsi
+ mov rsi, 0xD1FFAB1E ; ''
+ cmp gword ptr [rbp+0x10], 0
+ cmovne rsi, gword ptr [rbp+0x10]
+ mov gword ptr [rbp+0x10], rsi
+ mov rsi, 0xD1FFAB1E ; ''
+ cmp gword ptr [rbp+0x18], 0
+ cmovne rsi, gword ptr [rbp+0x18]
+ mov gword ptr [rbp+0x18], rsi
+ mov rsi, 0xD1FFAB1E ; ''
+ cmp gword ptr [rbp+0x20], 0
+ cmovne rsi, gword ptr [rbp+0x20]
+ mov gword ptr [rbp+0x20], rsi
+ cmp gword ptr [rbp-0x38], 0
jne SHORT G_M44913_IG04
- xor eax, eax
+ xor r15d, r15d
jmp SHORT G_M44913_IG05
- ;; size=54 bbWeight=0.50 PerfScore 3.12
+ ;; size=132 bbWeight=0.50 PerfScore 15.75
G_M44913_IG04:
- lea rax, bword ptr [rcx+0x0C]
- mov bword ptr [rbp-0x40], rax
- mov rax, bword ptr [rbp-0x40]
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ mov rsi, gword ptr [rbp-0x38]
+ cmp byte ptr [rsi], sil
+ add rsi, 12
+ mov bword ptr [rbp-0x50], rsi
+ mov r15, bword ptr [rbp-0x50]
+ ;; size=19 bbWeight=0.50 PerfScore 3.12
G_M44913_IG05:
- test r9, r9
+ cmp gword ptr [rbp-0x48], 0
jne SHORT G_M44913_IG06
- xor r10d, r10d
+ xor r14d, r14d
jmp SHORT G_M44913_IG07
- ;; size=10 bbWeight=0.50 PerfScore 1.75
+ ;; size=12 bbWeight=0.50 PerfScore 2.62
G_M44913_IG06:
- lea r10, bword ptr [r9+0x0C]
- mov bword ptr [rbp-0x48], r10
- mov r10, bword ptr [rbp-0x48]
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ mov rsi, gword ptr [rbp-0x48]
+ cmp byte ptr [rsi], sil
+ add rsi, 12
+ mov bword ptr [rbp-0x58], rsi
+ mov r14, bword ptr [rbp-0x58]
+ ;; size=19 bbWeight=0.50 PerfScore 3.12
G_M44913_IG07:
- test r8, r8
+ cmp gword ptr [rbp+0x10], 0
jne SHORT G_M44913_IG08
- xor r11d, r11d
+ xor r13d, r13d
jmp SHORT G_M44913_IG09
- ;; size=10 bbWeight=0.50 PerfScore 1.75
+ ;; size=12 bbWeight=0.50 PerfScore 2.62
G_M44913_IG08:
- lea r11, bword ptr [r8+0x0C]
- mov bword ptr [rbp-0x50], r11
- mov r11, bword ptr [rbp-0x50]
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ mov rsi, gword ptr [rbp+0x10]
+ cmp byte ptr [rsi], sil
+ add rsi, 12
+ mov bword ptr [rbp-0x60], rsi
+ mov r13, bword ptr [rbp-0x60]
+ ;; size=19 bbWeight=0.50 PerfScore 3.12
G_M44913_IG09:
- test rsi, rsi
+ cmp gword ptr [rbp+0x18], 0
jne SHORT G_M44913_IG10
- xor ebx, ebx
+ xor r12d, r12d
jmp SHORT G_M44913_IG11
- ;; size=9 bbWeight=0.50 PerfScore 1.75
+ ;; size=12 bbWeight=0.50 PerfScore 2.62
G_M44913_IG10:
- lea rbx, bword ptr [rsi+0x0C]
- mov bword ptr [rbp-0x58], rbx
- mov rbx, bword ptr [rbp-0x58]
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ mov rsi, gword ptr [rbp+0x18]
+ cmp byte ptr [rsi], sil
+ add rsi, 12
+ mov bword ptr [rbp-0x68], rsi
+ mov r12, bword ptr [rbp-0x68]
+ ;; size=19 bbWeight=0.50 PerfScore 3.12
G_M44913_IG11:
- test rdx, rdx
+ cmp gword ptr [rbp+0x20], 0
jne SHORT G_M44913_IG12
- xor r15d, r15d
+ xor eax, eax
+ mov qword ptr [rbp-0x80], rax
jmp SHORT G_M44913_IG13
- ;; size=10 bbWeight=0.50 PerfScore 1.75
+ ;; size=15 bbWeight=0.50 PerfScore 3.12
G_M44913_IG12:
- lea r15, bword ptr [rdx+0x0C]
- mov bword ptr [rbp-0x60], r15
- mov r15, bword ptr [rbp-0x60]
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ mov rax, gword ptr [rbp+0x20]
+ cmp byte ptr [rax], al
+ add rax, 12
+ mov bword ptr [rbp-0x70], rax
+ mov rax, bword ptr [rbp-0x70]
+ mov qword ptr [rbp-0x80], rax
+ ;; size=22 bbWeight=0.50 PerfScore 3.62
G_M44913_IG13:
test dword ptr [rsp], esp
sub rsp, 128
- lea r14, [rsp]
+ lea rsi, [rsp]
vxorps ymm0, ymm0, ymm0
- vmovdqu ymmword ptr [r14], ymm0
- vmovdqu ymmword ptr [r14+0x20], ymm0
- vmovdqu ymmword ptr [r14+0x40], ymm0
- vmovdqu ymmword ptr [r14+0x60], ymm0
- lea r13, [rbp-0x2C]
- mov qword ptr [r14], r13
- mov dword ptr [r14+0x08], 4
- lea r13, [r14+0x10]
- lea r12, [rbp-0x30]
- mov qword ptr [r13], r12
- mov dword ptr [r13+0x08], 4
- lea r13, [r14+0x20]
- mov qword ptr [r13], rax
- mov ecx, dword ptr [rcx+0x08]
- add ecx, 1
- jo G_M44913_IG22
- imul ecx, ecx, 2
- jo G_M44913_IG22
- mov dword ptr [r13+0x08], ecx
- lea rcx, [r14+0x30]
- lea rax, [rbp-0x34]
- mov qword ptr [rcx], rax
- mov dword ptr [rcx+0x08], 4
- lea rcx, [r14+0x40]
- mov qword ptr [rcx], r10
- mov eax, dword ptr [r9+0x08]
- add eax, 1
- jo G_M44913_IG22
- imul eax, eax, 2
- jo G_M44913_IG22
- mov dword ptr [rcx+0x08], eax
- lea rcx, [r14+0x50]
- mov qword ptr [rcx], r11
- mov r8d, dword ptr [r8+0x08]
- add r8d, 1
- jo G_M44913_IG22
- imul r8d, r8d, 2
- jo G_M44913_IG22
- mov dword ptr [rcx+0x08], r8d
- lea r8, [r14+0x60]
- mov qword ptr [r8], rbx
- mov esi, dword ptr [rsi+0x08]
- add esi, 1
- jo SHORT G_M44913_IG22
- imul esi, esi, 2
- jo SHORT G_M44913_IG22
- mov dword ptr [r8+0x08], esi
- ;; size=218 bbWeight=0.50 PerfScore 27.79
+ vmovdqu ymmword ptr [rsi], ymm0
+ vmovdqu ymmword ptr [rsi+0x20], ymm0
+ vmovdqu ymmword ptr [rsi+0x40], ymm0
+ vmovdqu ymmword ptr [rsi+0x60], ymm0
+ mov rcx, rsi
+ mov qword ptr [rbp-0x78], rcx
+ lea rsi, [rbp-0x2C]
+ mov rdi, rcx
+ xor edx, edx
+ mov r8, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [r8]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ mov rax, qword ptr [rbp-0x78]
+ lea rdi, [rax+0x10]
+ lea rsi, [rbp-0x30]
+ xor edx, edx
+ mov rcx, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [rcx]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ mov rax, qword ptr [rbp-0x78]
+ lea rsi, [rax+0x20]
+ lea rdx, [rbp-0x38]
+ mov rcx, r15
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov r8, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [r8]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ mov r15, qword ptr [rbp-0x78]
+ lea rdi, [r15+0x30]
+ lea rsi, [rbp-0x3C]
+ xor edx, edx
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ lea rsi, [r15+0x40]
+ lea rdx, [rbp-0x48]
+ mov rcx, r14
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ lea rsi, [r15+0x50]
+ lea rdx, [rbp+0x10]
+ mov rcx, r13
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ lea rsi, [r15+0x60]
+ lea rdx, [rbp+0x18]
+ mov rcx, r12
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ lea rsi, [r15+0x70]
+ lea rdx, [rbp+0x20]
+ mov rcx, qword ptr [rbp-0x80]
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ ;; size=289 bbWeight=0.50 PerfScore 27.04
G_M44913_IG14:
- lea r8, [r14+0x70]
- mov qword ptr [r8], r15
- mov esi, dword ptr [rdx+0x08]
- add esi, 1
- jo SHORT G_M44913_IG22
- imul esi, esi, 2
- jo SHORT G_M44913_IG22
- mov dword ptr [r8+0x08], esi
- mov r8, r14
+ mov rdi, rbx
+ mov r8, r15
mov esi, 5
xor edx, edx
mov ecx, 8
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,ulong,int,ulong):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,ulong,int,ulong):this
xor eax, eax
- mov bword ptr [rbp-0x60], rax
- ;; size=57 bbWeight=0.50 PerfScore 7.12
+ mov bword ptr [rbp-0x70], rax
+ ;; size=36 bbWeight=0.50 PerfScore 2.88
G_M44913_IG15:
- mov bword ptr [rbp-0x58], rax
+ mov bword ptr [rbp-0x68], rax
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M44913_IG16:
- mov bword ptr [rbp-0x50], rax
+ mov bword ptr [rbp-0x60], rax
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M44913_IG17:
- mov bword ptr [rbp-0x48], rax
+ mov bword ptr [rbp-0x58], rax
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M44913_IG18:
- mov bword ptr [rbp-0x40], rax
+ mov bword ptr [rbp-0x50], rax
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M44913_IG19:
- cmp qword ptr [rbp-0x68], 0xD1FFAB1E
+ cmp qword ptr [rbp-0x88], 0xD1FFAB1E
je SHORT G_M44913_IG20
call CORINFO_HELP_FAIL_FAST
- ;; size=15 bbWeight=1 PerfScore 4.00
+ ;; size=18 bbWeight=1 PerfScore 4.00
G_M44913_IG20:
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M44913_IG21:
lea rsp, [rbp-0x28]
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.50
-G_M44913_IG22:
- call CORINFO_HELP_OVERFLOW
- int3
- ;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 559, prolog size 43, PerfScore 83.38, instruction count 152, allocated bytes for code 559 (MethodHash=9824508e) for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:MessageJson(int,int,System.String,int,System.String,System.String,System.String,System.String):this (FullOpts)
+; Total bytes of code 739, prolog size 49, PerfScore 104.13, instruction count 171, allocated bytes for code 739 (MethodHash=9824508e) for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:MessageJson(int,int,System.String,int,System.String,System.String,System.String,System.String):this (FullOpts)
125 (31.81 % of base) - Microsoft.Extensions.Logging.EventSource.LoggingEventSource:FormattedMessage(int,int,System.String,int,System.String,System.String):this
; Assembly listing for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:FormattedMessage(int,int,System.String,int,System.String,System.String):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 17 single block inlinees; 6 inlinees without PGO data
+; 0 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T02] ( 4, 3.50) ref -> rdi this class-hnd single-def <Microsoft.Extensions.Logging.EventSource.LoggingEventSource>
-; V01 arg1 [V01 ] ( 3, 2.50) int -> [rbp-0x0C] do-not-enreg[X] addr-exposed ld-addr-op single-def
-; V02 arg2 [V02 ] ( 3, 2.50) int -> [rbp-0x10] do-not-enreg[X] addr-exposed ld-addr-op single-def
-; V03 arg3 [V03,T00] ( 8, 5 ) ref -> rcx ld-addr-op class-hnd <System.String>
-; V04 arg4 [V04 ] ( 3, 2.50) int -> [rbp-0x14] do-not-enreg[X] addr-exposed ld-addr-op single-def
-; V05 arg5 [V05,T01] ( 8, 5 ) ref -> r9 ld-addr-op class-hnd <System.String>
-; V06 arg6 [V06,T04] ( 6, 3 ) ref -> r8 ld-addr-op class-hnd <System.String>
+; V00 this [V00,T00] ( 4, 3.50) ref -> rbx this class-hnd single-def <Microsoft.Extensions.Logging.EventSource.LoggingEventSource>
+; V01 arg1 [V01 ] ( 3, 2.50) int -> [rbp-0x2C] do-not-enreg[X] addr-exposed ld-addr-op single-def
+; V02 arg2 [V02 ] ( 3, 2.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op single-def
+; V03 arg3 [V03 ] ( 8, 5 ) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
+; V04 arg4 [V04 ] ( 3, 2.50) int -> [rbp-0x3C] do-not-enreg[X] addr-exposed ld-addr-op single-def
+; V05 arg5 [V05 ] ( 8, 5 ) ref -> [rbp-0x48] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
+; V06 arg6 [V06 ] ( 6, 3 ) ref -> [rbp+0x10] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
;* V07 loc0 [V07 ] ( 0, 0 ) long -> zero-ref single-def
-; V08 loc1 [V08 ] ( 3, 1.50) byref -> [rbp-0x20] must-init pinned
+; V08 loc1 [V08 ] ( 3, 1.50) byref -> [rbp-0x50] must-init pinned
;* V09 loc2 [V09 ] ( 0, 0 ) long -> zero-ref single-def
-; V10 loc3 [V10 ] ( 3, 1.50) byref -> [rbp-0x28] must-init pinned
+; V10 loc3 [V10 ] ( 3, 1.50) byref -> [rbp-0x58] must-init pinned
;* V11 loc4 [V11 ] ( 0, 0 ) long -> zero-ref single-def
-; V12 loc5 [V12 ] ( 3, 1.50) byref -> [rbp-0x30] must-init pinned
-; V13 loc6 [V13,T03] ( 9, 4.50) long -> r10 single-def
+; V12 loc5 [V12 ] ( 3, 1.50) byref -> [rbp-0x60] must-init pinned
+; V13 loc6 [V13,T01] ( 8, 4 ) long -> r12 single-def
;# V14 OutArgs [V14 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V15 tmp1 [V15,T17] ( 3, 1.50) long -> rsi
-; V16 tmp2 [V16,T18] ( 3, 1.50) long -> rdx
-; V17 tmp3 [V17,T19] ( 3, 1.50) long -> rax
-;* V18 tmp4 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V19 tmp5 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V20 tmp6 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V21 tmp7 [V21 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V22 tmp8 [V22,T05] ( 3, 3 ) byref -> r11 single-def "Inlining Arg"
-;* V23 tmp9 [V23 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V24 tmp10 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V25 tmp11 [V25,T06] ( 3, 3 ) byref -> r11 single-def "Inlining Arg"
-; V26 tmp12 [V26,T11] ( 2, 2 ) int -> rsi "Inlining Arg"
-; V27 tmp13 [V27,T07] ( 3, 3 ) byref -> rsi single-def "Inlining Arg"
-;* V28 tmp14 [V28 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V29 tmp15 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V30 tmp16 [V30,T08] ( 3, 3 ) byref -> rsi single-def "Inlining Arg"
-; V31 tmp17 [V31,T12] ( 2, 2 ) int -> rdx "Inlining Arg"
-;* V32 tmp18 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V33 tmp19 [V33,T09] ( 3, 3 ) byref -> rsi single-def "Inlining Arg"
-; V34 tmp20 [V34,T13] ( 2, 2 ) int -> r8 "Inlining Arg"
-; V35 tmp21 [V35,T14] ( 2, 2 ) long -> rsi "Cast away GC"
-; V36 tmp22 [V36,T15] ( 2, 2 ) long -> rdx "Cast away GC"
-; V37 tmp23 [V37,T16] ( 2, 2 ) long -> rax "Cast away GC"
-; V38 GsCookie [V38 ] ( 1, 1 ) long -> [rbp-0x38] do-not-enreg[X] addr-exposed "GSSecurityCookie"
-; V39 rat0 [V39,T10] ( 3, 3 ) long -> r10 "ReplaceWithLclVar is creating a new local variable"
+; V15 tmp1 [V15,T09] ( 3, 1.50) long -> r15
+; V16 tmp2 [V16,T10] ( 3, 1.50) long -> r14
+; V17 tmp3 [V17,T11] ( 3, 1.50) long -> r13
+; V18 tmp4 [V18,T02] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V19 tmp5 [V19,T03] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V20 tmp6 [V20,T04] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V21 tmp7 [V21,T06] ( 2, 2 ) long -> r15 "Cast away GC"
+; V22 tmp8 [V22,T07] ( 2, 2 ) long -> r14 "Cast away GC"
+; V23 tmp9 [V23,T08] ( 2, 2 ) long -> r13 "Cast away GC"
+; V24 GsCookie [V24 ] ( 1, 1 ) long -> [rbp-0x68] do-not-enreg[X] addr-exposed "GSSecurityCookie"
+; V25 rat0 [V25,T05] ( 3, 3 ) long -> rsi "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 56
+; Lcl frame size = 72
G_M49279_IG01:
push rbp
+ push r15
+ push r14
+ push r13
+ push r12
push rbx
- sub rsp, 56
- lea rbp, [rsp+0x40]
+ sub rsp, 72
+ lea rbp, [rsp+0x70]
vxorps xmm8, xmm8, xmm8
- vmovdqa xmmword ptr [rbp-0x30], xmm8
+ vmovdqa xmmword ptr [rbp-0x60], xmm8
xor eax, eax
- mov qword ptr [rbp-0x20], rax
- mov qword ptr [rbp-0x38], 0xD1FFAB1E
- mov dword ptr [rbp-0x0C], esi
- mov dword ptr [rbp-0x10], edx
- mov dword ptr [rbp-0x14], r8d
- mov r8, gword ptr [rbp+0x10]
- ;; size=49 bbWeight=1 PerfScore 11.33
+ mov qword ptr [rbp-0x50], rax
+ mov qword ptr [rbp-0x68], 0xD1FFAB1E
+ mov dword ptr [rbp-0x2C], esi
+ mov dword ptr [rbp-0x30], edx
+ mov gword ptr [rbp-0x38], rcx
+ mov dword ptr [rbp-0x3C], r8d
+ mov gword ptr [rbp-0x48], r9
+ mov rbx, rdi
+ ;; size=64 bbWeight=1 PerfScore 16.58
G_M49279_IG02:
- cmp byte ptr [rdi+0x9D], 0
+ cmp byte ptr [rbx+0x9D], 0
je G_M49279_IG12
;; size=13 bbWeight=1 PerfScore 4.00
G_M49279_IG03:
mov rsi, 0xD1FFAB1E ; ''
- test rcx, rcx
- cmove rcx, rsi
- test r9, r9
- cmove r9, rsi
- test r8, r8
- cmove r8, rsi
- test rcx, rcx
+ cmp gword ptr [rbp-0x38], 0
+ cmovne rsi, gword ptr [rbp-0x38]
+ mov gword ptr [rbp-0x38], rsi
+ mov rsi, 0xD1FFAB1E ; ''
+ cmp gword ptr [rbp-0x48], 0
+ cmovne rsi, gword ptr [rbp-0x48]
+ mov gword ptr [rbp-0x48], rsi
+ mov rsi, 0xD1FFAB1E ; ''
+ cmp gword ptr [rbp+0x10], 0
+ cmovne rsi, gword ptr [rbp+0x10]
+ mov gword ptr [rbp+0x10], rsi
+ cmp gword ptr [rbp-0x38], 0
jne SHORT G_M49279_IG04
- xor esi, esi
+ xor r15d, r15d
jmp SHORT G_M49279_IG05
- ;; size=40 bbWeight=0.50 PerfScore 2.62
+ ;; size=84 bbWeight=0.50 PerfScore 10.50
G_M49279_IG04:
- lea rsi, bword ptr [rcx+0x0C]
- mov bword ptr [rbp-0x20], rsi
- mov rsi, bword ptr [rbp-0x20]
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ mov rsi, gword ptr [rbp-0x38]
+ cmp byte ptr [rsi], sil
+ add rsi, 12
+ mov bword ptr [rbp-0x50], rsi
+ mov r15, bword ptr [rbp-0x50]
+ ;; size=19 bbWeight=0.50 PerfScore 3.12
G_M49279_IG05:
- test r9, r9
+ cmp gword ptr [rbp-0x48], 0
jne SHORT G_M49279_IG06
- xor edx, edx
+ xor r14d, r14d
jmp SHORT G_M49279_IG07
- ;; size=9 bbWeight=0.50 PerfScore 1.75
+ ;; size=12 bbWeight=0.50 PerfScore 2.62
G_M49279_IG06:
- lea rdx, bword ptr [r9+0x0C]
- mov bword ptr [rbp-0x28], rdx
- mov rdx, bword ptr [rbp-0x28]
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ mov rsi, gword ptr [rbp-0x48]
+ cmp byte ptr [rsi], sil
+ add rsi, 12
+ mov bword ptr [rbp-0x58], rsi
+ mov r14, bword ptr [rbp-0x58]
+ ;; size=19 bbWeight=0.50 PerfScore 3.12
G_M49279_IG07:
- test r8, r8
+ cmp gword ptr [rbp+0x10], 0
jne SHORT G_M49279_IG08
- xor eax, eax
+ xor r13d, r13d
jmp SHORT G_M49279_IG09
- ;; size=9 bbWeight=0.50 PerfScore 1.75
+ ;; size=12 bbWeight=0.50 PerfScore 2.62
G_M49279_IG08:
- lea rax, bword ptr [r8+0x0C]
- mov bword ptr [rbp-0x30], rax
- mov rax, bword ptr [rbp-0x30]
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ mov rsi, gword ptr [rbp+0x10]
+ cmp byte ptr [rsi], sil
+ add rsi, 12
+ mov bword ptr [rbp-0x60], rsi
+ mov r13, bword ptr [rbp-0x60]
+ ;; size=19 bbWeight=0.50 PerfScore 3.12
G_M49279_IG09:
test dword ptr [rsp], esp
sub rsp, 96
- lea r10, [rsp]
+ lea rsi, [rsp]
vxorps ymm0, ymm0, ymm0
- vmovdqu ymmword ptr [r10], ymm0
- vmovdqu ymmword ptr [r10+0x20], ymm0
- vmovdqu ymmword ptr [r10+0x40], ymm0
- lea r11, [rbp-0x0C]
- mov qword ptr [r10], r11
- mov dword ptr [r10+0x08], 4
- lea r11, [r10+0x10]
- lea rbx, [rbp-0x10]
- mov qword ptr [r11], rbx
- mov dword ptr [r11+0x08], 4
- lea r11, [r10+0x20]
- mov qword ptr [r11], rsi
- mov esi, dword ptr [rcx+0x08]
- add esi, 1
- jo G_M49279_IG15
- imul esi, esi, 2
- jo G_M49279_IG15
- mov dword ptr [r11+0x08], esi
- lea rsi, [r10+0x30]
- lea rcx, [rbp-0x14]
- mov qword ptr [rsi], rcx
- mov dword ptr [rsi+0x08], 4
- lea rsi, [r10+0x40]
- mov qword ptr [rsi], rdx
- mov edx, dword ptr [r9+0x08]
- add edx, 1
- jo SHORT G_M49279_IG15
- imul edx, edx, 2
- jo SHORT G_M49279_IG15
- mov dword ptr [rsi+0x08], edx
- lea rsi, [r10+0x50]
- mov qword ptr [rsi], rax
- mov r8d, dword ptr [r8+0x08]
- add r8d, 1
- jo SHORT G_M49279_IG15
- imul r8d, r8d, 2
- jo SHORT G_M49279_IG15
- mov dword ptr [rsi+0x08], r8d
- mov r8, r10
+ vmovdqu ymmword ptr [rsi], ymm0
+ vmovdqu ymmword ptr [rsi+0x20], ymm0
+ vmovdqu ymmword ptr [rsi+0x40], ymm0
+ mov r12, rsi
+ lea rsi, [rbp-0x2C]
+ mov rdi, r12
+ xor edx, edx
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ lea rdi, [r12+0x10]
+ lea rsi, [rbp-0x30]
+ xor edx, edx
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ lea rsi, [r12+0x20]
+ lea rdx, [rbp-0x38]
+ mov rcx, r15
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ lea rdi, [r12+0x30]
+ lea rsi, [rbp-0x3C]
+ xor edx, edx
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ lea rsi, [r12+0x40]
+ lea rdx, [rbp-0x48]
+ mov rcx, r14
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ lea rsi, [r12+0x50]
+ lea rdx, [rbp+0x10]
+ mov rcx, r13
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ mov rdi, rbx
+ mov r8, r12
mov esi, 1
xor edx, edx
mov ecx, 6
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,ulong,int,ulong):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,ulong,int,ulong):this
xor eax, eax
- mov bword ptr [rbp-0x30], rax
- ;; size=200 bbWeight=0.50 PerfScore 25.17
+ mov bword ptr [rbp-0x60], rax
+ ;; size=237 bbWeight=0.50 PerfScore 21.79
G_M49279_IG10:
- mov bword ptr [rbp-0x28], rax
+ mov bword ptr [rbp-0x58], rax
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M49279_IG11:
- mov bword ptr [rbp-0x20], rax
+ mov bword ptr [rbp-0x50], rax
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M49279_IG12:
- cmp qword ptr [rbp-0x38], 0xD1FFAB1E
+ cmp qword ptr [rbp-0x68], 0xD1FFAB1E
je SHORT G_M49279_IG13
call CORINFO_HELP_FAIL_FAST
;; size=15 bbWeight=1 PerfScore 4.00
G_M49279_IG13:
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M49279_IG14:
- lea rsp, [rbp-0x08]
+ lea rsp, [rbp-0x28]
pop rbx
+ pop r12
+ pop r13
+ pop r14
+ pop r15
pop rbp
ret
- ;; size=7 bbWeight=1 PerfScore 2.50
-G_M49279_IG15:
- call CORINFO_HELP_OVERFLOW
- int3
- ;; size=6 bbWeight=0 PerfScore 0.00
+ ;; size=15 bbWeight=1 PerfScore 4.50
-; Total bytes of code 393, prolog size 35, PerfScore 58.13, instruction count 105, allocated bytes for code 393 (MethodHash=a6ab3f80) for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:FormattedMessage(int,int,System.String,int,System.String,System.String):this (FullOpts)
+; Total bytes of code 518, prolog size 43, PerfScore 77.25, instruction count 124, allocated bytes for code 518 (MethodHash=a6ab3f80) for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:FormattedMessage(int,int,System.String,int,System.String,System.String):this (FullOpts)
94 (32.87 % of base) - Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityJsonStart(int,int,System.String,System.String):this
; Assembly listing for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityJsonStart(int,int,System.String,System.String):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T02] ( 4, 3.50) ref -> rdi this class-hnd single-def <Microsoft.Extensions.Logging.EventSource.LoggingEventSource>
-; V01 arg1 [V01 ] ( 3, 2.50) int -> [rbp-0x04] do-not-enreg[X] addr-exposed ld-addr-op single-def
-; V02 arg2 [V02 ] ( 3, 2.50) int -> [rbp-0x08] do-not-enreg[X] addr-exposed ld-addr-op single-def
-; V03 arg3 [V03,T00] ( 8, 5 ) ref -> rcx ld-addr-op class-hnd <System.String>
-; V04 arg4 [V04,T01] ( 8, 5 ) ref -> r8 ld-addr-op class-hnd <System.String>
+; V00 this [V00,T00] ( 4, 3.50) ref -> rbx this class-hnd single-def <Microsoft.Extensions.Logging.EventSource.LoggingEventSource>
+; V01 arg1 [V01 ] ( 3, 2.50) int -> [rbp-0x24] do-not-enreg[X] addr-exposed ld-addr-op single-def
+; V02 arg2 [V02 ] ( 3, 2.50) int -> [rbp-0x28] do-not-enreg[X] addr-exposed ld-addr-op single-def
+; V03 arg3 [V03 ] ( 8, 5 ) ref -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
+; V04 arg4 [V04 ] ( 8, 5 ) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
;* V05 loc0 [V05 ] ( 0, 0 ) long -> zero-ref single-def
-; V06 loc1 [V06 ] ( 3, 1.50) byref -> [rbp-0x10] must-init pinned
+; V06 loc1 [V06 ] ( 3, 1.50) byref -> [rbp-0x40] must-init pinned
;* V07 loc2 [V07 ] ( 0, 0 ) long -> zero-ref single-def
-; V08 loc3 [V08 ] ( 3, 1.50) byref -> [rbp-0x18] must-init pinned
-; V09 loc4 [V09,T03] ( 7, 3.50) long -> rax single-def
+; V08 loc3 [V08 ] ( 3, 1.50) byref -> [rbp-0x48] must-init pinned
+; V09 loc4 [V09,T01] ( 6, 3 ) long -> r13 single-def
;# V10 OutArgs [V10 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V11 tmp1 [V11,T12] ( 3, 1.50) long -> rsi
-; V12 tmp2 [V12,T13] ( 3, 1.50) long -> rdx
-;* V13 tmp3 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V14 tmp4 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V15 tmp5 [V15 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V16 tmp6 [V16,T04] ( 3, 3 ) byref -> r9 single-def "Inlining Arg"
-;* V17 tmp7 [V17 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V18 tmp8 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V19 tmp9 [V19,T05] ( 3, 3 ) byref -> r9 single-def "Inlining Arg"
-; V20 tmp10 [V20,T08] ( 2, 2 ) int -> rsi "Inlining Arg"
-;* V21 tmp11 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V22 tmp12 [V22,T06] ( 3, 3 ) byref -> rsi single-def "Inlining Arg"
-; V23 tmp13 [V23,T09] ( 2, 2 ) int -> r8 "Inlining Arg"
-; V24 tmp14 [V24,T10] ( 2, 2 ) long -> rsi "Cast away GC"
-; V25 tmp15 [V25,T11] ( 2, 2 ) long -> rdx "Cast away GC"
-; V26 GsCookie [V26 ] ( 1, 1 ) long -> [rbp-0x20] do-not-enreg[X] addr-exposed "GSSecurityCookie"
-; V27 rat0 [V27,T07] ( 3, 3 ) long -> rax "ReplaceWithLclVar is creating a new local variable"
+; V11 tmp1 [V11,T07] ( 3, 1.50) long -> r15
+; V12 tmp2 [V12,T08] ( 3, 1.50) long -> r14
+; V13 tmp3 [V13,T02] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V14 tmp4 [V14,T03] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V15 tmp5 [V15,T05] ( 2, 2 ) long -> r15 "Cast away GC"
+; V16 tmp6 [V16,T06] ( 2, 2 ) long -> r14 "Cast away GC"
+; V17 GsCookie [V17 ] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[X] addr-exposed "GSSecurityCookie"
+; V18 rat0 [V18,T04] ( 3, 3 ) long -> rsi "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 32
+; Lcl frame size = 48
G_M19674_IG01:
push rbp
- sub rsp, 32
- lea rbp, [rsp+0x20]
+ push r15
+ push r14
+ push r13
+ push rbx
+ sub rsp, 48
+ lea rbp, [rsp+0x50]
xor eax, eax
- mov qword ptr [rbp-0x10], rax
- mov qword ptr [rbp-0x18], rax
- mov qword ptr [rbp-0x20], 0xD1FFAB1E
- mov dword ptr [rbp-0x04], esi
- mov dword ptr [rbp-0x08], edx
- ;; size=34 bbWeight=1 PerfScore 7.00
+ mov qword ptr [rbp-0x40], rax
+ mov qword ptr [rbp-0x48], rax
+ mov qword ptr [rbp-0x50], 0xD1FFAB1E
+ mov dword ptr [rbp-0x24], esi
+ mov dword ptr [rbp-0x28], edx
+ mov gword ptr [rbp-0x30], rcx
+ mov gword ptr [rbp-0x38], r8
+ mov rbx, rdi
+ ;; size=52 bbWeight=1 PerfScore 13.25
G_M19674_IG02:
- cmp byte ptr [rdi+0x9D], 0
+ cmp byte ptr [rbx+0x9D], 0
je G_M19674_IG09
;; size=13 bbWeight=1 PerfScore 4.00
G_M19674_IG03:
mov rsi, 0xD1FFAB1E ; ''
- test rcx, rcx
- cmove rcx, rsi
- test r8, r8
- cmove r8, rsi
- test rcx, rcx
+ cmp gword ptr [rbp-0x30], 0
+ cmovne rsi, gword ptr [rbp-0x30]
+ mov gword ptr [rbp-0x30], rsi
+ mov rsi, 0xD1FFAB1E ; ''
+ cmp gword ptr [rbp-0x38], 0
+ cmovne rsi, gword ptr [rbp-0x38]
+ mov gword ptr [rbp-0x38], rsi
+ cmp gword ptr [rbp-0x30], 0
jne SHORT G_M19674_IG04
- xor esi, esi
+ xor r15d, r15d
jmp SHORT G_M19674_IG05
- ;; size=33 bbWeight=0.50 PerfScore 2.38
+ ;; size=60 bbWeight=0.50 PerfScore 7.88
G_M19674_IG04:
- lea rsi, bword ptr [rcx+0x0C]
- mov bword ptr [rbp-0x10], rsi
- mov rsi, bword ptr [rbp-0x10]
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ mov rsi, gword ptr [rbp-0x30]
+ cmp byte ptr [rsi], sil
+ add rsi, 12
+ mov bword ptr [rbp-0x40], rsi
+ mov r15, bword ptr [rbp-0x40]
+ ;; size=19 bbWeight=0.50 PerfScore 3.12
G_M19674_IG05:
- test r8, r8
+ cmp gword ptr [rbp-0x38], 0
jne SHORT G_M19674_IG06
- xor edx, edx
+ xor r14d, r14d
jmp SHORT G_M19674_IG07
- ;; size=9 bbWeight=0.50 PerfScore 1.75
+ ;; size=12 bbWeight=0.50 PerfScore 2.62
G_M19674_IG06:
- lea rdx, bword ptr [r8+0x0C]
- mov bword ptr [rbp-0x18], rdx
- mov rdx, bword ptr [rbp-0x18]
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ mov rsi, gword ptr [rbp-0x38]
+ cmp byte ptr [rsi], sil
+ add rsi, 12
+ mov bword ptr [rbp-0x48], rsi
+ mov r14, bword ptr [rbp-0x48]
+ ;; size=19 bbWeight=0.50 PerfScore 3.12
G_M19674_IG07:
test dword ptr [rsp], esp
sub rsp, 64
- lea rax, [rsp]
+ lea rsi, [rsp]
vxorps ymm0, ymm0, ymm0
- vmovdqu ymmword ptr [rax], ymm0
- vmovdqu ymmword ptr [rax+0x20], ymm0
- lea r9, [rbp-0x04]
- mov qword ptr [rax], r9
- mov dword ptr [rax+0x08], 4
- lea r9, [rax+0x10]
- lea r10, [rbp-0x08]
- mov qword ptr [r9], r10
- mov dword ptr [r9+0x08], 4
- lea r9, [rax+0x20]
- mov qword ptr [r9], rsi
- mov esi, dword ptr [rcx+0x08]
- add esi, 1
- jo SHORT G_M19674_IG12
- imul esi, esi, 2
- jo SHORT G_M19674_IG12
- mov dword ptr [r9+0x08], esi
- lea rsi, [rax+0x30]
- mov qword ptr [rsi], rdx
- mov r8d, dword ptr [r8+0x08]
- add r8d, 1
- jo SHORT G_M19674_IG12
- imul r8d, r8d, 2
- jo SHORT G_M19674_IG12
- mov dword ptr [rsi+0x08], r8d
- mov r8, rax
+ vmovdqu ymmword ptr [rsi], ymm0
+ vmovdqu ymmword ptr [rsi+0x20], ymm0
+ mov r13, rsi
+ lea rsi, [rbp-0x24]
+ mov rdi, r13
+ xor edx, edx
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ lea rdi, [r13+0x10]
+ lea rsi, [rbp-0x28]
+ xor edx, edx
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ lea rsi, [r13+0x20]
+ lea rdx, [rbp-0x30]
+ mov rcx, r15
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ lea rsi, [r13+0x30]
+ lea rdx, [rbp-0x38]
+ mov rcx, r14
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ mov rdi, rbx
+ mov r8, r13
mov esi, 6
xor edx, edx
mov ecx, 4
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,ulong,int,ulong):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,ulong,int,ulong):this
xor eax, eax
- mov bword ptr [rbp-0x18], rax
- ;; size=141 bbWeight=0.50 PerfScore 18.29
+ mov bword ptr [rbp-0x48], rax
+ ;; size=172 bbWeight=0.50 PerfScore 16.17
G_M19674_IG08:
- mov bword ptr [rbp-0x10], rax
+ mov bword ptr [rbp-0x40], rax
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M19674_IG09:
- cmp qword ptr [rbp-0x20], 0xD1FFAB1E
+ cmp qword ptr [rbp-0x50], 0xD1FFAB1E
je SHORT G_M19674_IG10
call CORINFO_HELP_FAIL_FAST
;; size=15 bbWeight=1 PerfScore 4.00
G_M19674_IG10:
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M19674_IG11:
- lea rsp, [rbp]
+ lea rsp, [rbp-0x20]
+ pop rbx
+ pop r13
+ pop r14
+ pop r15
pop rbp
ret
- ;; size=6 bbWeight=1 PerfScore 2.00
-G_M19674_IG12:
- call CORINFO_HELP_OVERFLOW
- int3
- ;; size=6 bbWeight=0 PerfScore 0.00
+ ;; size=13 bbWeight=1 PerfScore 4.00
-; Total bytes of code 286, prolog size 28, PerfScore 42.67, instruction count 77, allocated bytes for code 286 (MethodHash=7502b325) for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityJsonStart(int,int,System.String,System.String):this (FullOpts)
+; Total bytes of code 380, prolog size 35, PerfScore 58.92, instruction count 94, allocated bytes for code 380 (MethodHash=7502b325) for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityJsonStart(int,int,System.String,System.String):this (FullOpts)
60 (27.78 % of base) - Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityJsonStop(int,int,System.String):this
; Assembly listing for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityJsonStop(int,int,System.String):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 9 single block inlinees; 3 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T01] ( 4, 3.50) ref -> rdi this class-hnd single-def <Microsoft.Extensions.Logging.EventSource.LoggingEventSource>
-; V01 arg1 [V01 ] ( 3, 2.50) int -> [rbp-0x04] do-not-enreg[X] addr-exposed ld-addr-op single-def
-; V02 arg2 [V02 ] ( 3, 2.50) int -> [rbp-0x08] do-not-enreg[X] addr-exposed ld-addr-op single-def
-; V03 arg3 [V03,T00] ( 7, 4.50) ref -> rcx ld-addr-op class-hnd <System.String>
+; V00 this [V00,T00] ( 4, 3.50) ref -> rbx this class-hnd single-def <Microsoft.Extensions.Logging.EventSource.LoggingEventSource>
+; V01 arg1 [V01 ] ( 3, 2.50) int -> [rbp-0x1C] do-not-enreg[X] addr-exposed ld-addr-op single-def
+; V02 arg2 [V02 ] ( 3, 2.50) int -> [rbp-0x20] do-not-enreg[X] addr-exposed ld-addr-op single-def
+; V03 arg3 [V03 ] ( 8, 5 ) ref -> [rbp-0x28] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
;* V04 loc0 [V04 ] ( 0, 0 ) long -> zero-ref single-def
-; V05 loc1 [V05 ] ( 3, 1.50) byref -> [rbp-0x10] must-init pinned
-; V06 loc2 [V06,T02] ( 6, 3 ) long -> rsi single-def
+; V05 loc1 [V05 ] ( 3, 1.50) byref -> [rbp-0x30] must-init pinned
+; V06 loc2 [V06,T03] ( 5, 2.50) long -> r14 single-def
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V08 tmp1 [V08,T08] ( 2, 1 ) long -> r8
-;* V09 tmp2 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V10 tmp3 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V11 tmp4 [V11,T03] ( 3, 3 ) byref -> rdx single-def "Inlining Arg"
-;* V12 tmp5 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V13 tmp6 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V14 tmp7 [V14,T04] ( 3, 3 ) byref -> rdx single-def "Inlining Arg"
-; V15 tmp8 [V15,T06] ( 2, 2 ) int -> r8 "Inlining Arg"
-; V16 tmp9 [V16,T07] ( 2, 2 ) long -> r8 "Cast away GC"
-; V17 GsCookie [V17 ] ( 1, 1 ) long -> [rbp-0x18] do-not-enreg[X] addr-exposed "GSSecurityCookie"
-; V18 rat0 [V18,T05] ( 3, 3 ) long -> rsi "ReplaceWithLclVar is creating a new local variable"
+; V08 tmp1 [V08,T05] ( 3, 1.50) long -> r15
+; V09 tmp2 [V09,T01] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V10 tmp3 [V10,T04] ( 2, 2 ) long -> r15 "Cast away GC"
+; V11 GsCookie [V11 ] ( 1, 1 ) long -> [rbp-0x38] do-not-enreg[X] addr-exposed "GSSecurityCookie"
+; V12 rat0 [V12,T02] ( 3, 3 ) long -> rsi "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 32
+; Lcl frame size = 40
G_M33936_IG01:
push rbp
- sub rsp, 32
- lea rbp, [rsp+0x20]
+ push r15
+ push r14
+ push rbx
+ sub rsp, 40
+ lea rbp, [rsp+0x40]
xor eax, eax
- mov qword ptr [rbp-0x10], rax
- mov qword ptr [rbp-0x18], 0xD1FFAB1E
- mov dword ptr [rbp-0x04], esi
- mov dword ptr [rbp-0x08], edx
- ;; size=30 bbWeight=1 PerfScore 6.00
+ mov qword ptr [rbp-0x30], rax
+ mov qword ptr [rbp-0x38], 0xD1FFAB1E
+ mov dword ptr [rbp-0x1C], esi
+ mov dword ptr [rbp-0x20], edx
+ mov gword ptr [rbp-0x28], rcx
+ mov rbx, rdi
+ ;; size=42 bbWeight=1 PerfScore 10.25
G_M33936_IG02:
- cmp byte ptr [rdi+0x9D], 0
- je G_M33936_IG04
+ cmp byte ptr [rbx+0x9D], 0
+ je G_M33936_IG06
;; size=13 bbWeight=1 PerfScore 4.00
G_M33936_IG03:
- mov r8, 0xD1FFAB1E ; ''
- test rcx, rcx
- cmove rcx, r8
- lea r8, bword ptr [rcx+0x0C]
- mov bword ptr [rbp-0x10], r8
- mov r8, bword ptr [rbp-0x10]
+ mov rsi, 0xD1FFAB1E ; ''
+ cmp gword ptr [rbp-0x28], 0
+ cmovne rsi, gword ptr [rbp-0x28]
+ mov gword ptr [rbp-0x28], rsi
+ cmp gword ptr [rbp-0x28], 0
+ jne SHORT G_M33936_IG04
+ xor r15d, r15d
+ jmp SHORT G_M33936_IG05
+ ;; size=36 bbWeight=0.50 PerfScore 5.25
+G_M33936_IG04:
+ mov rsi, gword ptr [rbp-0x28]
+ cmp byte ptr [rsi], sil
+ add rsi, 12
+ mov bword ptr [rbp-0x30], rsi
+ mov r15, bword ptr [rbp-0x30]
+ ;; size=19 bbWeight=0.50 PerfScore 3.12
+G_M33936_IG05:
test dword ptr [rsp], esp
sub rsp, 48
lea rsi, [rsp]
vxorps ymm0, ymm0, ymm0
vmovdqu ymmword ptr [rsi], ymm0
vmovdqu xmmword ptr [rsi+0x20], xmm0
- lea rdx, [rbp-0x04]
- mov qword ptr [rsi], rdx
- mov dword ptr [rsi+0x08], 4
- lea rdx, [rsi+0x10]
- lea rax, [rbp-0x08]
- mov qword ptr [rdx], rax
- mov dword ptr [rdx+0x08], 4
- lea rdx, [rsi+0x20]
- mov qword ptr [rdx], r8
- mov r8d, dword ptr [rcx+0x08]
- add r8d, 1
- jo SHORT G_M33936_IG07
- imul r8d, r8d, 2
- jo SHORT G_M33936_IG07
- mov dword ptr [rdx+0x08], r8d
- mov r8, rsi
+ mov r14, rsi
+ lea rsi, [rbp-0x1C]
+ mov rdi, r14
+ xor edx, edx
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ lea rdi, [r14+0x10]
+ lea rsi, [rbp-0x20]
+ xor edx, edx
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ lea rsi, [r14+0x20]
+ lea rdx, [rbp-0x28]
+ mov rcx, r15
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ mov rdi, rbx
+ mov r8, r14
mov esi, 7
xor edx, edx
mov ecx, 3
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,ulong,int,ulong):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,ulong,int,ulong):this
xor eax, eax
- mov bword ptr [rbp-0x10], rax
- ;; size=145 bbWeight=0.50 PerfScore 15.54
-G_M33936_IG04:
- cmp qword ptr [rbp-0x18], 0xD1FFAB1E
- je SHORT G_M33936_IG05
+ mov bword ptr [rbp-0x30], rax
+ ;; size=139 bbWeight=0.50 PerfScore 13.79
+G_M33936_IG06:
+ cmp qword ptr [rbp-0x38], 0xD1FFAB1E
+ je SHORT G_M33936_IG07
call CORINFO_HELP_FAIL_FAST
;; size=15 bbWeight=1 PerfScore 4.00
-G_M33936_IG05:
+G_M33936_IG07:
nop
;; size=1 bbWeight=1 PerfScore 0.25
-G_M33936_IG06:
- lea rsp, [rbp]
+G_M33936_IG08:
+ lea rsp, [rbp-0x18]
+ pop rbx
+ pop r14
+ pop r15
pop rbp
ret
- ;; size=6 bbWeight=1 PerfScore 2.00
-G_M33936_IG07:
- call CORINFO_HELP_OVERFLOW
- int3
- ;; size=6 bbWeight=0 PerfScore 0.00
+ ;; size=11 bbWeight=1 PerfScore 3.50
-; Total bytes of code 216, prolog size 24, PerfScore 31.79, instruction count 54, allocated bytes for code 216 (MethodHash=0f297b6f) for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityJsonStop(int,int,System.String):this (FullOpts)
+; Total bytes of code 276, prolog size 29, PerfScore 44.17, instruction count 70, allocated bytes for code 276 (MethodHash=0f297b6f) for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityJsonStop(int,int,System.String):this (FullOpts)
60 (27.78 % of base) - Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityStop(int,int,System.String):this
; Assembly listing for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityStop(int,int,System.String):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 9 single block inlinees; 3 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T01] ( 4, 3.50) ref -> rdi this class-hnd single-def <Microsoft.Extensions.Logging.EventSource.LoggingEventSource>
-; V01 arg1 [V01 ] ( 3, 2.50) int -> [rbp-0x04] do-not-enreg[X] addr-exposed ld-addr-op single-def
-; V02 arg2 [V02 ] ( 3, 2.50) int -> [rbp-0x08] do-not-enreg[X] addr-exposed ld-addr-op single-def
-; V03 arg3 [V03,T00] ( 7, 4.50) ref -> rcx ld-addr-op class-hnd <System.String>
+; V00 this [V00,T00] ( 4, 3.50) ref -> rbx this class-hnd single-def <Microsoft.Extensions.Logging.EventSource.LoggingEventSource>
+; V01 arg1 [V01 ] ( 3, 2.50) int -> [rbp-0x1C] do-not-enreg[X] addr-exposed ld-addr-op single-def
+; V02 arg2 [V02 ] ( 3, 2.50) int -> [rbp-0x20] do-not-enreg[X] addr-exposed ld-addr-op single-def
+; V03 arg3 [V03 ] ( 8, 5 ) ref -> [rbp-0x28] do-not-enreg[X] addr-exposed ld-addr-op class-hnd <System.String>
;* V04 loc0 [V04 ] ( 0, 0 ) long -> zero-ref single-def
-; V05 loc1 [V05 ] ( 3, 1.50) byref -> [rbp-0x10] must-init pinned
-; V06 loc2 [V06,T02] ( 6, 3 ) long -> rsi single-def
+; V05 loc1 [V05 ] ( 3, 1.50) byref -> [rbp-0x30] must-init pinned
+; V06 loc2 [V06,T03] ( 5, 2.50) long -> r14 single-def
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V08 tmp1 [V08,T08] ( 2, 1 ) long -> r8
-;* V09 tmp2 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V10 tmp3 [V10 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V11 tmp4 [V11,T03] ( 3, 3 ) byref -> rdx single-def "Inlining Arg"
-;* V12 tmp5 [V12 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V13 tmp6 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V14 tmp7 [V14,T04] ( 3, 3 ) byref -> rdx single-def "Inlining Arg"
-; V15 tmp8 [V15,T06] ( 2, 2 ) int -> r8 "Inlining Arg"
-; V16 tmp9 [V16,T07] ( 2, 2 ) long -> r8 "Cast away GC"
-; V17 GsCookie [V17 ] ( 1, 1 ) long -> [rbp-0x18] do-not-enreg[X] addr-exposed "GSSecurityCookie"
-; V18 rat0 [V18,T05] ( 3, 3 ) long -> rsi "ReplaceWithLclVar is creating a new local variable"
+; V08 tmp1 [V08,T05] ( 3, 1.50) long -> r15
+; V09 tmp2 [V09,T01] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V10 tmp3 [V10,T04] ( 2, 2 ) long -> r15 "Cast away GC"
+; V11 GsCookie [V11 ] ( 1, 1 ) long -> [rbp-0x38] do-not-enreg[X] addr-exposed "GSSecurityCookie"
+; V12 rat0 [V12,T02] ( 3, 3 ) long -> rsi "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 32
+; Lcl frame size = 40
G_M45704_IG01:
push rbp
- sub rsp, 32
- lea rbp, [rsp+0x20]
+ push r15
+ push r14
+ push rbx
+ sub rsp, 40
+ lea rbp, [rsp+0x40]
xor eax, eax
- mov qword ptr [rbp-0x10], rax
- mov qword ptr [rbp-0x18], 0xD1FFAB1E
- mov dword ptr [rbp-0x04], esi
- mov dword ptr [rbp-0x08], edx
- ;; size=30 bbWeight=1 PerfScore 6.00
+ mov qword ptr [rbp-0x30], rax
+ mov qword ptr [rbp-0x38], 0xD1FFAB1E
+ mov dword ptr [rbp-0x1C], esi
+ mov dword ptr [rbp-0x20], edx
+ mov gword ptr [rbp-0x28], rcx
+ mov rbx, rdi
+ ;; size=42 bbWeight=1 PerfScore 10.25
G_M45704_IG02:
- cmp byte ptr [rdi+0x9D], 0
- je G_M45704_IG04
+ cmp byte ptr [rbx+0x9D], 0
+ je G_M45704_IG06
;; size=13 bbWeight=1 PerfScore 4.00
G_M45704_IG03:
- mov r8, 0xD1FFAB1E ; ''
- test rcx, rcx
- cmove rcx, r8
- lea r8, bword ptr [rcx+0x0C]
- mov bword ptr [rbp-0x10], r8
- mov r8, bword ptr [rbp-0x10]
+ mov rsi, 0xD1FFAB1E ; ''
+ cmp gword ptr [rbp-0x28], 0
+ cmovne rsi, gword ptr [rbp-0x28]
+ mov gword ptr [rbp-0x28], rsi
+ cmp gword ptr [rbp-0x28], 0
+ jne SHORT G_M45704_IG04
+ xor r15d, r15d
+ jmp SHORT G_M45704_IG05
+ ;; size=36 bbWeight=0.50 PerfScore 5.25
+G_M45704_IG04:
+ mov rsi, gword ptr [rbp-0x28]
+ cmp byte ptr [rsi], sil
+ add rsi, 12
+ mov bword ptr [rbp-0x30], rsi
+ mov r15, bword ptr [rbp-0x30]
+ ;; size=19 bbWeight=0.50 PerfScore 3.12
+G_M45704_IG05:
test dword ptr [rsp], esp
sub rsp, 48
lea rsi, [rsp]
vxorps ymm0, ymm0, ymm0
vmovdqu ymmword ptr [rsi], ymm0
vmovdqu xmmword ptr [rsi+0x20], xmm0
- lea rdx, [rbp-0x04]
- mov qword ptr [rsi], rdx
- mov dword ptr [rsi+0x08], 4
- lea rdx, [rsi+0x10]
- lea rax, [rbp-0x08]
- mov qword ptr [rdx], rax
- mov dword ptr [rdx+0x08], 4
- lea rdx, [rsi+0x20]
- mov qword ptr [rdx], r8
- mov r8d, dword ptr [rcx+0x08]
- add r8d, 1
- jo SHORT G_M45704_IG07
- imul r8d, r8d, 2
- jo SHORT G_M45704_IG07
- mov dword ptr [rdx+0x08], r8d
- mov r8, rsi
+ mov r14, rsi
+ lea rsi, [rbp-0x1C]
+ mov rdi, r14
+ xor edx, edx
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ lea rdi, [r14+0x10]
+ lea rsi, [rbp-0x20]
+ xor edx, edx
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[int](byref,byref,ulong)
+ lea rsi, [r14+0x20]
+ lea rdx, [rbp-0x28]
+ mov rcx, r15
+ mov rdi, 0xD1FFAB1E ; Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.String](byref,byref,ulong)
+ mov rax, 0xD1FFAB1E ; code for Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ call [rax]Microsoft.Extensions.Logging.EventSource.LoggingEventSource:SetEventData[System.__Canon](byref,byref,ulong)
+ mov rdi, rbx
+ mov r8, r14
mov esi, 4
xor edx, edx
mov ecx, 3
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,ulong,int,ulong):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEventWithRelatedActivityIdCore(int,ulong,int,ulong):this
xor eax, eax
- mov bword ptr [rbp-0x10], rax
- ;; size=145 bbWeight=0.50 PerfScore 15.54
-G_M45704_IG04:
- cmp qword ptr [rbp-0x18], 0xD1FFAB1E
- je SHORT G_M45704_IG05
+ mov bword ptr [rbp-0x30], rax
+ ;; size=139 bbWeight=0.50 PerfScore 13.79
+G_M45704_IG06:
+ cmp qword ptr [rbp-0x38], 0xD1FFAB1E
+ je SHORT G_M45704_IG07
call CORINFO_HELP_FAIL_FAST
;; size=15 bbWeight=1 PerfScore 4.00
-G_M45704_IG05:
+G_M45704_IG07:
nop
;; size=1 bbWeight=1 PerfScore 0.25
-G_M45704_IG06:
- lea rsp, [rbp]
+G_M45704_IG08:
+ lea rsp, [rbp-0x18]
+ pop rbx
+ pop r14
+ pop r15
pop rbp
ret
- ;; size=6 bbWeight=1 PerfScore 2.00
-G_M45704_IG07:
- call CORINFO_HELP_OVERFLOW
- int3
- ;; size=6 bbWeight=0 PerfScore 0.00
+ ;; size=11 bbWeight=1 PerfScore 3.50
-; Total bytes of code 216, prolog size 24, PerfScore 31.79, instruction count 54, allocated bytes for code 216 (MethodHash=36284d77) for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityStop(int,int,System.String):this (FullOpts)
+; Total bytes of code 276, prolog size 29, PerfScore 44.17, instruction count 70, allocated bytes for code 276 (MethodHash=36284d77) for method Microsoft.Extensions.Logging.EventSource.LoggingEventSource:ActivityStop(int,int,System.String):this (FullOpts)
1 (0.10 % of base) - System.Xml.Schema.SequenceNode:ConstructPos(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[]):this
; Assembly listing for method System.Xml.Schema.SequenceNode:ConstructPos(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[]):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 24 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T32] ( 3, 3 ) ref -> r13 this class-hnd single-def <System.Xml.Schema.SequenceNode>
; V01 arg1 [V01,T20] ( 4, 11 ) ref -> r15 class-hnd single-def <System.Xml.Schema.BitSet>
; V02 arg2 [V02,T21] ( 4, 11 ) ref -> r14 class-hnd single-def <System.Xml.Schema.BitSet>
; V03 arg3 [V03,T10] ( 6, 43 ) ref -> rbx class-hnd single-def <System.Xml.Schema.BitSet[]>
; V04 loc0 [V04,T12] ( 9, 29 ) ref -> r12 class-hnd exact single-def <System.Collections.Generic.Stack`1[System.Xml.Schema.SequenceNode+SequenceConstructPosContext]>
; V05 loc1 [V05 ] ( 28,143 ) struct (40) [rbp-0x50] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Xml.Schema.SequenceNode+SequenceConstructPosContext>
; V06 loc2 [V06,T03] ( 11, 61 ) ref -> r13 class-hnd <System.Xml.Schema.SequenceNode>
; V07 loc3 [V07,T00] ( 7, 96 ) int -> r14
; V08 OutArgs [V08 ] ( 1, 1 ) struct (40) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V09 tmp1 [V09,T30] ( 3, 6 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Stack`1[System.Xml.Schema.SequenceNode+SequenceConstructPosContext]>
-; V10 tmp2 [V10,T01] ( 4, 64 ) ref -> [rbp-0x80] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.Schema.BitSet>
+; V10 tmp2 [V10,T01] ( 4, 64 ) ref -> [rbp-0x88] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.Schema.BitSet>
; V11 tmp3 [V11,T11] ( 3, 34 ) ref -> rdi "ISINST eval op1"
;* V12 tmp4 [V12,T24] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Xml.Schema.SequenceNode>
; V13 tmp5 [V13,T02] ( 4, 64 ) ref -> r14 class-hnd exact "NewObj constructor temp" <System.Xml.Schema.BitSet>
; V14 tmp6 [V14,T28] ( 2, 8 ) ref -> r13 class-hnd exact "impAppendStmt" <System.Xml.Schema.LeafRangeNode>
; V15 tmp7 [V15,T08] ( 3, 48 ) int -> rsi "Inlining Arg"
;* V16 tmp8 [V16 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V17 tmp9 [V17,T22] ( 4, 12 ) int -> rdx "Inline stloc first use temp"
+; V17 tmp9 [V17,T22] ( 4, 12 ) int -> [rbp-0x54] spill-single-def "Inline stloc first use temp"
; V18 tmp10 [V18,T25] ( 3, 10 ) ref -> rdi class-hnd exact "Inline stloc first use temp" <System.Xml.Schema.SequenceNode+SequenceConstructPosContext[]>
-; V19 tmp11 [V19,T15] ( 3, 16 ) struct (40) [rbp-0x78] do-not-enreg[S] must-init "Inlining Arg" <System.Xml.Schema.SequenceNode+SequenceConstructPosContext>
+; V19 tmp11 [V19,T15] ( 3, 16 ) struct (40) [rbp-0x80] do-not-enreg[S] must-init "Inlining Arg" <System.Xml.Schema.SequenceNode+SequenceConstructPosContext>
; V20 tmp12 [V20,T16] ( 2, 16 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Xml.Schema.SequenceNode>
; V21 tmp13 [V21,T17] ( 2, 16 ) ref -> rsi class-hnd exact "Inlining Arg" <System.Xml.Schema.BitSet>
; V22 tmp14 [V22,T18] ( 2, 16 ) ref -> rdx class-hnd exact "Inlining Arg" <System.Xml.Schema.BitSet>
; V23 tmp15 [V23,T09] ( 3, 48 ) int -> rsi "Inlining Arg"
;* V24 tmp16 [V24 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V25 tmp17 [V25,T29] ( 2, 8 ) ref -> rax class-hnd exact "Inlining Arg" <System.Xml.Schema.BitSet>
; V26 tmp18 [V26,T31] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
; V27 tmp19 [V27,T04] ( 3, 48 ) ref -> rdi "argument with side effect"
; V28 tmp20 [V28,T05] ( 3, 48 ) ref -> rdi "argument with side effect"
; V29 tmp21 [V29,T23] ( 3, 12 ) ref -> rdi "argument with side effect"
; V30 tmp22 [V30,T06] ( 3, 48 ) ref -> rdi "argument with side effect"
; V31 tmp23 [V31,T07] ( 3, 48 ) ref -> rdi "argument with side effect"
; V32 rat0 [V32,T14] ( 3, 16 ) ref -> rsi "Spilling to split statement for tree"
; V33 rat1 [V33,T13] ( 4, 28 ) ref -> rdi "replacement local"
; V34 rat2 [V34,T27] ( 3, 8 ) long -> rax "CSE for expectedClsNode"
; V35 rat3 [V35,T26] ( 3, 8 ) ref -> rsi "Spilling to split statement for tree"
; V36 rat4 [V36,T19] ( 4, 14 ) ref -> r13 "replacement local"
; V37 rat5 [V37,T33] ( 3, 4 ) long -> rdi "CSE for expectedClsNode"
;
; Lcl frame size = 136
G_M44384_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 136
lea rbp, [rsp+0xB0]
- xor eax, eax
- mov qword ptr [rbp-0x78], rax
vxorps xmm8, xmm8, xmm8
- vmovdqu ymmword ptr [rbp-0x70], ymm8
- vmovdqu ymmword ptr [rbp-0x50], ymm8
+ vmovdqu ymmword ptr [rbp-0x80], ymm8
+ vmovdqu ymmword ptr [rbp-0x60], ymm8
+ vmovdqa xmmword ptr [rbp-0x40], xmm8
+ xor eax, eax
mov qword ptr [rbp-0x30], rax
mov r13, rdi
mov r15, rsi
mov r14, rdx
mov rbx, rcx
- ;; size=62 bbWeight=1 PerfScore 14.33
+ ;; size=63 bbWeight=1 PerfScore 15.33
G_M44384_IG02:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.Stack`1[System.Xml.Schema.SequenceNode+SequenceConstructPosContext]
call CORINFO_HELP_NEWSFAST
mov r12, rax
mov rdi, 0xD1FFAB1E
mov esi, 102
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov rdi, 0xD1FFAB1E ; data for System.Array+EmptyArray`1[System.Xml.Schema.SequenceNode+SequenceConstructPosContext]:Value
mov rsi, gword ptr [rdi]
lea rdi, bword ptr [r12+0x08]
call CORINFO_HELP_ASSIGN_REF
mov gword ptr [rbp-0x50], r13
mov gword ptr [rbp-0x48], r15
mov gword ptr [rbp-0x40], r14
;; size=73 bbWeight=1 PerfScore 9.75
G_M44384_IG03:
xor rdi, rdi
mov gword ptr [rbp-0x38], rdi
;; size=6 bbWeight=8 PerfScore 10.00
G_M44384_IG04:
mov gword ptr [rbp-0x30], rdi
mov r13, gword ptr [rbp-0x50]
mov rdi, 0xD1FFAB1E ; System.Xml.Schema.BitSet
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x80], rax
+ mov gword ptr [rbp-0x88], rax
mov esi, dword ptr [r14+0x10]
mov dword ptr [rax+0x10], esi
add esi, 31
sar esi, 5
movsxd rsi, esi
mov rdi, 0xD1FFAB1E ; uint[]
call CORINFO_HELP_NEWARR_1_VC
- mov rcx, gword ptr [rbp-0x80]
+ mov rcx, gword ptr [rbp-0x88]
lea rdi, bword ptr [rcx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0x80]
+ mov rdi, gword ptr [rbp-0x88]
mov gword ptr [rbp-0x38], rdi
mov rdi, gword ptr [r13+0x08]
test rdi, rdi
je G_M44384_IG13
- ;; size=95 bbWeight=8 PerfScore 140.00
+ ;; size=104 bbWeight=8 PerfScore 140.00
G_M44384_IG05:
mov rsi, 0xD1FFAB1E ; System.Xml.Schema.SequenceNode
cmp qword ptr [rdi], rsi
jne G_M44384_IG13
;; size=19 bbWeight=1 PerfScore 4.25
G_M44384_IG06:
vmovdqu ymm0, ymmword ptr [rbp-0x50]
- vmovdqu ymmword ptr [rbp-0x78], ymm0
+ vmovdqu ymmword ptr [rbp-0x80], ymm0
mov rdi, qword ptr [rbp-0x30]
- mov qword ptr [rbp-0x58], rdi
+ mov qword ptr [rbp-0x60], rdi
;; size=18 bbWeight=4 PerfScore 28.00
G_M44384_IG07:
- mov edx, dword ptr [r12+0x10]
+ mov eax, dword ptr [r12+0x10]
+ mov dword ptr [rbp-0x54], eax
mov rdi, gword ptr [r12+0x08]
- cmp dword ptr [rdi+0x08], edx
+ cmp dword ptr [rdi+0x08], eax
jbe SHORT G_M44384_IG09
- ;; size=15 bbWeight=4 PerfScore 32.00
+ ;; size=18 bbWeight=4 PerfScore 36.00
G_M44384_IG08:
- mov esi, edx
+ mov esi, eax
lea rsi, [rsi+4*rsi]
lea rdi, bword ptr [rdi+8*rsi+0x10]
- lea rsi, bword ptr [rbp-0x78]
- call CORINFO_HELP_ASSIGN_BYREF
- call CORINFO_HELP_ASSIGN_BYREF
- call CORINFO_HELP_ASSIGN_BYREF
- call CORINFO_HELP_ASSIGN_BYREF
- call CORINFO_HELP_ASSIGN_BYREF
+ lea rsi, [rbp-0x80]
+ mov edx, 40
+ call CORINFO_HELP_ASSIGN_STRUCT
inc dword ptr [r12+0x14]
- inc edx
- mov dword ptr [r12+0x10], edx
+ mov ecx, dword ptr [rbp-0x54]
+ inc ecx
+ mov dword ptr [r12+0x10], ecx
jmp SHORT G_M44384_IG10
- ;; size=54 bbWeight=2 PerfScore 27.00
+ ;; size=42 bbWeight=2 PerfScore 21.50
G_M44384_IG09:
lea rdi, [rsp]
- lea rsi, [rbp-0x78]
+ lea rsi, [rbp-0x80]
mov rcx, gword ptr [rsi]
mov gword ptr [rsp], rcx
add rsi, 8
add rdi, 8
mov rcx, gword ptr [rsi]
mov gword ptr [rsp+0x08], rcx
add rsi, 8
add rdi, 8
mov rcx, gword ptr [rsi]
mov gword ptr [rsp+0x10], rcx
add rsi, 8
add rdi, 8
mov rcx, gword ptr [rsi]
mov gword ptr [rsp+0x18], rcx
add rsi, 8
add rdi, 8
mov rcx, gword ptr [rsi]
mov gword ptr [rsp+0x20], rcx
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Stack`1[System.Xml.Schema.SequenceNode+SequenceConstructPosContext]:PushWithResize(System.Xml.Schema.SequenceNode+SequenceConstructPosContext):this
call [rax]System.Collections.Generic.Stack`1[System.Xml.Schema.SequenceNode+SequenceConstructPosContext]:PushWithResize(System.Xml.Schema.SequenceNode+SequenceConstructPosContext):this
;; size=94 bbWeight=2 PerfScore 43.00
G_M44384_IG10:
mov rsi, gword ptr [r13+0x08]
mov rdi, rsi
test rdi, rdi
je SHORT G_M44384_IG12
;; size=12 bbWeight=4 PerfScore 14.00
G_M44384_IG11:
mov rax, 0xD1FFAB1E ; System.Xml.Schema.SequenceNode
cmp qword ptr [rdi], rax
jne G_M44384_IG28
;; size=19 bbWeight=2 PerfScore 8.50
G_M44384_IG12:
mov rsi, gword ptr [rbp-0x48]
mov rdx, gword ptr [rbp-0x38]
mov gword ptr [rbp-0x50], rdi
mov gword ptr [rbp-0x48], rsi
mov gword ptr [rbp-0x40], rdx
jmp G_M44384_IG03
;; size=25 bbWeight=4 PerfScore 28.00
G_M44384_IG13:
mov rdi, gword ptr [r13+0x08]
mov rsi, gword ptr [rbp-0x48]
mov rdx, gword ptr [rbp-0x38]
mov rcx, rbx
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Xml.Schema.SyntaxTreeNode:ConstructPos(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[]):this
;; size=25 bbWeight=1 PerfScore 11.25
G_M44384_IG14:
mov rdi, 0xD1FFAB1E ; System.Xml.Schema.BitSet
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov esi, dword ptr [r15+0x10]
mov dword ptr [r14+0x10], esi
add esi, 31
sar esi, 5
movsxd rsi, esi
mov rdi, 0xD1FFAB1E ; uint[]
call CORINFO_HELP_NEWARR_1_VC
lea rdi, bword ptr [r14+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov gword ptr [rbp-0x30], r14
mov rdi, gword ptr [r13+0x10]
mov rsi, gword ptr [rbp-0x30]
mov rdx, gword ptr [rbp-0x40]
mov rcx, rbx
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Xml.Schema.SyntaxTreeNode:ConstructPos(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[]):this
mov rdi, gword ptr [r13+0x08]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Xml.Schema.SyntaxTreeNode:get_IsNullable():ubyte:this
test eax, eax
je SHORT G_M44384_IG16
;; size=109 bbWeight=8 PerfScore 248.00
G_M44384_IG15:
mov rdi, gword ptr [r13+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.Schema.SyntaxTreeNode:get_IsRangeNode():ubyte:this
test eax, eax
jne SHORT G_M44384_IG16
mov rdi, gword ptr [rbp-0x48]
mov rsi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Xml.Schema.BitSet:Or(System.Xml.Schema.BitSet):this
cmp dword ptr [rdi], edi
call [rax]System.Xml.Schema.BitSet:Or(System.Xml.Schema.BitSet):this
;; size=40 bbWeight=2 PerfScore 37.00
G_M44384_IG16:
mov rdi, gword ptr [r13+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Xml.Schema.SyntaxTreeNode:get_IsNullable():ubyte:this
test eax, eax
je SHORT G_M44384_IG18
;; size=18 bbWeight=8 PerfScore 82.00
G_M44384_IG17:
mov rdi, gword ptr [rbp-0x40]
mov rsi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Xml.Schema.BitSet:Or(System.Xml.Schema.BitSet):this
cmp dword ptr [rdi], edi
call [rax]System.Xml.Schema.BitSet:Or(System.Xml.Schema.BitSet):this
;; size=22 bbWeight=2 PerfScore 16.50
G_M44384_IG18:
mov rdi, gword ptr [rbp-0x38]
mov esi, -1
mov rax, 0xD1FFAB1E ; code for System.Xml.Schema.BitSet:NextSet(int):int:this
cmp dword ptr [rdi], edi
call [rax]System.Xml.Schema.BitSet:NextSet(int):int:this
mov r14d, eax
cmp r14d, -1
je SHORT G_M44384_IG20
;; size=32 bbWeight=8 PerfScore 72.00
G_M44384_IG19:
cmp r14d, dword ptr [rbx+0x08]
jae G_M44384_IG27
mov edi, r14d
mov rdi, gword ptr [rbx+8*rdi+0x10]
mov rsi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Xml.Schema.BitSet:Or(System.Xml.Schema.BitSet):this
cmp dword ptr [rdi], edi
call [rax]System.Xml.Schema.BitSet:Or(System.Xml.Schema.BitSet):this
mov rdi, gword ptr [rbp-0x38]
mov esi, r14d
mov rax, 0xD1FFAB1E ; code for System.Xml.Schema.BitSet:NextSet(int):int:this
cmp dword ptr [rdi], edi
call [rax]System.Xml.Schema.BitSet:NextSet(int):int:this
mov r14d, eax
cmp r14d, -1
jne SHORT G_M44384_IG19
;; size=66 bbWeight=16 PerfScore 360.00
G_M44384_IG20:
mov rdi, gword ptr [r13+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.Schema.SyntaxTreeNode:get_IsRangeNode():ubyte:this
test eax, eax
je SHORT G_M44384_IG24
;; size=18 bbWeight=8 PerfScore 82.00
G_M44384_IG21:
mov rsi, gword ptr [r13+0x10]
mov r13, rsi
test r13, r13
je SHORT G_M44384_IG23
;; size=12 bbWeight=2 PerfScore 7.00
G_M44384_IG22:
mov rdi, 0xD1FFAB1E ; System.Xml.Schema.LeafRangeNode
cmp qword ptr [r13], rdi
jne SHORT G_M44384_IG29
;; size=16 bbWeight=1 PerfScore 4.25
G_M44384_IG23:
mov rdi, gword ptr [rbp-0x48]
mov rax, 0xD1FFAB1E ; code for System.Xml.Schema.BitSet:Clone():System.Xml.Schema.BitSet:this
cmp dword ptr [rdi], edi
call [rax]System.Xml.Schema.BitSet:Clone():System.Xml.Schema.BitSet:this
lea rdi, bword ptr [r13+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
;; size=30 bbWeight=2 PerfScore 18.00
G_M44384_IG24:
cmp dword ptr [r12+0x10], 0
je SHORT G_M44384_IG26
;; size=8 bbWeight=8 PerfScore 32.00
G_M44384_IG25:
lea rsi, [rbp-0x50]
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Stack`1[System.Xml.Schema.SequenceNode+SequenceConstructPosContext]:Pop():System.Xml.Schema.SequenceNode+SequenceConstructPosContext:this
call [rax]System.Collections.Generic.Stack`1[System.Xml.Schema.SequenceNode+SequenceConstructPosContext]:Pop():System.Xml.Schema.SequenceNode+SequenceConstructPosContext:this
mov r13, gword ptr [rbp-0x50]
jmp G_M44384_IG14
;; size=28 bbWeight=4 PerfScore 28.00
G_M44384_IG26:
vzeroupper
add rsp, 136
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=21 bbWeight=1 PerfScore 5.25
G_M44384_IG27:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
G_M44384_IG28:
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
int3
;; size=16 bbWeight=0 PerfScore 0.00
G_M44384_IG29:
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 972, prolog size 62, PerfScore 1362.08, instruction count 240, allocated bytes for code 972 (MethodHash=b6b8529f) for method System.Xml.Schema.SequenceNode:ConstructPos(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[]):this (FullOpts)
+; Total bytes of code 973, prolog size 63, PerfScore 1361.58, instruction count 239, allocated bytes for code 973 (MethodHash=b6b8529f) for method System.Xml.Schema.SequenceNode:ConstructPos(System.Xml.Schema.BitSet,System.Xml.Schema.BitSet,System.Xml.Schema.BitSet[]):this (FullOpts)