Skip to content

Instantly share code, notes, and snippets.

@MihuBot
Created May 1, 2024 13:22
Show Gist options
  • Save MihuBot/583c20577f2d0c568326f7b04601004c to your computer and use it in GitHub Desktop.
Save MihuBot/583c20577f2d0c568326f7b04601004c to your computer and use it in GitHub Desktop.

Top method regressions

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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment