Skip to content

Instantly share code, notes, and snippets.

@MihuBot
Created June 21, 2024 12:49
Show Gist options
  • Save MihuBot/c35e5bc125dac4b410662da81d33240c to your computer and use it in GitHub Desktop.
Save MihuBot/c35e5bc125dac4b410662da81d33240c to your computer and use it in GitHub Desktop.

Top method improvements

-61 (-3.39 % of base) - System.Net.Sockets.Socket:.ctor(System.Net.Sockets.SafeSocketHandle,ubyte):this
 ; Assembly listing for method System.Net.Sockets.Socket:.ctor(System.Net.Sockets.SafeSocketHandle,ubyte):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 43 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T23] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Net.Sockets.Socket>
+;  V00 this         [V00,T23] (  3,  3   )     ref  ->  [rbp-0xE0]  this class-hnd EH-live single-def ptr <System.Net.Sockets.Socket>
 ;  V01 arg1         [V01,T24] (  3,  3   )     ref  ->  rsi         class-hnd single-def <System.Net.Sockets.SafeSocketHandle>
 ;  V02 arg2         [V02,T25] (  3,  3   )   ubyte  ->  rbx         single-def
-;  V03 loc0         [V03    ] (  2,  2   )   ubyte  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V03 loc0         [V03    ] (  2,  2   )   ubyte  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V04 loc1         [V04    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
-;  V05 loc2         [V05    ] ( 11, 11   )     int  ->  [rbp-0x60]  do-not-enreg[X] addr-exposed ld-addr-op ptr
+;  V05 loc2         [V05    ] ( 11, 11   )     int  ->  [rbp-0x68]  do-not-enreg[X] addr-exposed ld-addr-op ptr
 ;  V06 loc3         [V06,T02] ( 17, 17   )     int  ->  rbx        
 ;* V07 loc4         [V07    ] (  0,  0   )    long  ->  zero-ref    ptr
-;  V08 loc5         [V08    ] (  3,  3   )   byref  ->  [rbp-0x68]  must-init pinned ptr
+;  V08 loc5         [V08    ] (  3,  3   )   byref  ->  [rbp-0x70]  must-init pinned ptr
 ;* V09 loc6         [V09    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ubyte]>
-;  V10 loc7         [V10,T62] (  2,  2   )     int  ->  r12         ld-addr-op
-;  V11 loc8         [V11,T03] (  8,  8   )     int  ->  r13        
+;  V10 loc7         [V10,T62] (  2,  2   )     int  ->  [rbp-0x74]  ld-addr-op spill-single-def ptr
+;  V11 loc8         [V11,T03] (  8,  8   )     int  ->  r12        
 ;* V12 loc9         [V12    ] (  0,  0   )     int  ->  zero-ref   
 ;* V13 loc10        [V13    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ubyte]>
-;  V14 loc11        [V14,T63] (  2,  2   )     int  ->  r13         ld-addr-op
+;  V14 loc11        [V14,T63] (  2,  2   )     int  ->  r12         ld-addr-op
 ;  V15 OutArgs      [V15    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V16 tmp1         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V17 tmp2         [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
-;  V18 tmp3         [V18,T04] (  3,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Net.Sockets.UnixDomainSocketEndPoint>
+;  V18 tmp3         [V18,T04] (  3,  6   )     ref  ->  [rbp-0xE8]  class-hnd exact spill-single-def ptr "NewObj constructor temp" <System.Net.Sockets.UnixDomainSocketEndPoint>
 ;* V19 tmp4         [V19    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V20 tmp5         [V20    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;  V21 tmp6         [V21,T05] (  3,  6   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Net.Sockets.UnixDomainSocketEndPoint>
 ;* V22 tmp7         [V22    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V23 tmp8         [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V24 tmp9         [V24    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;  V25 tmp10        [V25,T06] (  3,  6   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPAddress>
+;  V25 tmp10        [V25,T06] (  3,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPAddress>
 ;* V26 tmp11        [V26    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;  V27 tmp12        [V27,T07] (  3,  6   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
-;  V28 tmp13        [V28    ] (  1,  1   )  struct (16) [rbp-0x40]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
+;  V28 tmp13        [V28    ] (  1,  1   )  struct (16) [rbp-0x48]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V29 tmp14        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V30 tmp15        [V30    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V31 tmp16        [V31    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;  V32 tmp17        [V32,T08] (  3,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPAddress>
+;  V32 tmp17        [V32,T08] (  3,  6   )     ref  ->  [rbp-0xF0]  class-hnd exact spill-single-def ptr "NewObj constructor temp" <System.Net.IPAddress>
 ;* V33 tmp18        [V33    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V34 tmp19        [V34    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;  V35 tmp20        [V35,T09] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
+;  V35 tmp20        [V35,T09] (  3,  6   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
 ;* V36 tmp21        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;* V37 tmp22        [V37    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V38 tmp23        [V38    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;  V39 tmp24        [V39,T10] (  3,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPAddress>
+;  V39 tmp24        [V39,T10] (  3,  6   )     ref  ->  [rbp-0xF8]  class-hnd exact spill-single-def ptr "NewObj constructor temp" <System.Net.IPAddress>
 ;* V40 tmp25        [V40    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;  V41 tmp26        [V41,T11] (  3,  6   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
-;  V42 tmp27        [V42    ] (  1,  1   )  struct (16) [rbp-0x50]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
+;  V41 tmp26        [V41,T11] (  3,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
+;  V42 tmp27        [V42    ] (  1,  1   )  struct (16) [rbp-0x58]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V43 tmp28        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V44 tmp29        [V44    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V45 tmp30        [V45    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;  V46 tmp31        [V46,T12] (  3,  6   )     ref  ->  [rbp-0xD0]  class-hnd exact spill-single-def ptr "NewObj constructor temp" <System.Net.IPAddress>
+;  V46 tmp31        [V46,T12] (  3,  6   )     ref  ->  [rbp-0x100]  class-hnd exact spill-single-def ptr "NewObj constructor temp" <System.Net.IPAddress>
 ;* V47 tmp32        [V47    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V48 tmp33        [V48    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;  V49 tmp34        [V49,T13] (  3,  6   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
+;  V49 tmp34        [V49,T13] (  3,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
 ;* V50 tmp35        [V50    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
-;  V51 tmp36        [V51,T29] (  2,  4   )    long  ->  r14         "Inlining Arg"
+;  V51 tmp36        [V51,T29] (  2,  4   )    long  ->  r13         "Inlining Arg"
 ;* V52 tmp37        [V52    ] (  0,  0   )   byref  ->  zero-ref    "Inline return value spill temp"
 ;  V53 tmp38        [V53,T20] (  5,  5   )   byref  ->  rsi         "Inline stloc first use temp"
 ;  V54 tmp39        [V54,T54] (  2,  2   )     int  ->  rax         "Inline return value spill temp"
 ;  V55 tmp40        [V55,T55] (  3,  3   )     int  ->  rax         "Inline stloc first use temp"
 ;  V56 tmp41        [V56,T14] (  3,  6   )     int  ->  rsi         "Inlining Arg"
 ;* V57 tmp42        [V57    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V58 tmp43        [V58    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V59 tmp44        [V59    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V60 tmp45        [V60    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V61 tmp46        [V61    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V62 tmp47        [V62    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
-;  V63 tmp48        [V63,T64] (  2,  2   )     int  ->  r13         "Inline return value spill temp"
+;  V63 tmp48        [V63,T64] (  2,  2   )     int  ->  r12         "Inline return value spill temp"
 ;* V64 tmp49        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V65 tmp50        [V65    ] (  2,  2   )   byref  ->  [rbp-0x70]  must-init pinned ptr "Inline stloc first use temp"
-;  V66 tmp51        [V66    ] (  2,  2   )     int  ->  [rbp-0x78]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline ldloca(s) first use temp"
+;  V65 tmp50        [V65    ] (  2,  2   )   byref  ->  [rbp-0x80]  must-init pinned ptr "Inline stloc first use temp"
+;  V66 tmp51        [V66    ] (  2,  2   )     int  ->  [rbp-0x88]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline ldloca(s) first use temp"
 ;  V67 tmp52        [V67,T30] (  2,  4   )     int  ->  rdi         "Spill before store to pinned local"
 ;* V68 tmp53        [V68    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V69 tmp54        [V69    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V70 tmp55        [V70    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V71 tmp56        [V71    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V72 tmp57        [V72    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
 ;  V73 tmp58        [V73,T15] (  3,  6   )     int  ->  rsi         "Inlining Arg"
 ;* V74 tmp59        [V74    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V75 tmp60        [V75    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V76 tmp61        [V76    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V77 tmp62        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V78 tmp63        [V78    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V79 tmp64        [V79    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
 ;* V80 tmp65        [V80    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V81 tmp66        [V81    ] (  2,  2   )   byref  ->  [rbp-0x80]  must-init pinned ptr "Inline stloc first use temp"
+;  V81 tmp66        [V81    ] (  2,  2   )   byref  ->  [rbp-0x90]  must-init pinned ptr "Inline stloc first use temp"
 ;* V82 tmp67        [V82    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V83 tmp68        [V83    ] (  2,  2   )   byref  ->  [rbp-0x88]  must-init pinned ptr "Inline stloc first use temp"
+;  V83 tmp68        [V83    ] (  2,  2   )   byref  ->  [rbp-0x98]  must-init pinned ptr "Inline stloc first use temp"
 ;* V84 tmp69        [V84    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V85 tmp70        [V85    ] (  2,  2   )     int  ->  [rbp-0x90]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline ldloca(s) first use temp"
+;  V85 tmp70        [V85    ] (  2,  2   )     int  ->  [rbp-0xA0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline ldloca(s) first use temp"
 ;  V86 tmp71        [V86,T31] (  2,  4   )     int  ->  rdi         "Spill before store to pinned local"
 ;* V87 tmp72        [V87    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V88 tmp73        [V88    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V89 tmp74        [V89    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V90 tmp75        [V90    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V91 tmp76        [V91    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V92 tmp77        [V92    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V93 tmp78        [V93    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V94 tmp79        [V94    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V95 tmp80        [V95    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V96 tmp81        [V96    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
-;  V97 tmp82        [V97,T16] (  3,  6   )     int  ->  r13         "Inlining Arg"
+;  V97 tmp82        [V97,T16] (  3,  6   )     int  ->  r12         "Inlining Arg"
 ;* V98 tmp83        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V99 tmp84        [V99    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V100 tmp85       [V100    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V101 tmp86       [V101    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V102 tmp87       [V102    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V103 tmp88       [V103    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
 ;  V104 tmp89       [V104,T28] (  4,  4   )     int  ->  rax         "Inline return value spill temp"
-;  V105 tmp90       [V105    ] (  3,  3   )     int  ->  [rbp-0x98]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
+;  V105 tmp90       [V105    ] (  3,  3   )     int  ->  [rbp-0xA8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
 ;* V106 tmp91       [V106    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V107 tmp92       [V107    ] (  2,  2   )   byref  ->  [rbp-0xA0]  must-init pinned ptr "Inline stloc first use temp"
+;  V107 tmp92       [V107    ] (  2,  2   )   byref  ->  [rbp-0xB0]  must-init pinned ptr "Inline stloc first use temp"
 ;* V108 tmp93       [V108    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;  V109 tmp94       [V109,T56] (  3,  3   )     int  ->  rax         "Inline stloc first use temp"
 ;* V110 tmp95       [V110    ] (  0,  0   )   byref  ->  zero-ref    "Inline return value spill temp"
 ;  V111 tmp96       [V111,T21] (  5,  5   )   byref  ->  rsi         "Inline stloc first use temp"
 ;  V112 tmp97       [V112,T17] (  3,  6   )     int  ->  rsi         "Inlining Arg"
 ;* V113 tmp98       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V114 tmp99       [V114    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V115 tmp100      [V115    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V116 tmp101      [V116    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V117 tmp102      [V117    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V118 tmp103      [V118    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
 ;  V119 tmp104      [V119,T65] (  2,  2   )     int  ->  r15         "Inline return value spill temp"
 ;* V120 tmp105      [V120    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V121 tmp106      [V121    ] (  2,  2   )   byref  ->  [rbp-0xA8]  must-init pinned ptr "Inline stloc first use temp"
-;  V122 tmp107      [V122    ] (  2,  2   )     int  ->  [rbp-0xB0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline ldloca(s) first use temp"
+;  V121 tmp106      [V121    ] (  2,  2   )   byref  ->  [rbp-0xB8]  must-init pinned ptr "Inline stloc first use temp"
+;  V122 tmp107      [V122    ] (  2,  2   )     int  ->  [rbp-0xC0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline ldloca(s) first use temp"
 ;  V123 tmp108      [V123,T32] (  2,  4   )     int  ->  rdi         "Spill before store to pinned local"
 ;* V124 tmp109      [V124    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V125 tmp110      [V125    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V126 tmp111      [V126    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V127 tmp112      [V127    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V128 tmp113      [V128    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
 ;  V129 tmp114      [V129,T18] (  3,  6   )     int  ->  rsi         "Inlining Arg"
 ;* V130 tmp115      [V130    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V131 tmp116      [V131    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V132 tmp117      [V132    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V133 tmp118      [V133    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V134 tmp119      [V134    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V135 tmp120      [V135    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
 ;* V136 tmp121      [V136    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V137 tmp122      [V137    ] (  2,  2   )   byref  ->  [rbp-0xB8]  must-init pinned ptr "Inline stloc first use temp"
+;  V137 tmp122      [V137    ] (  2,  2   )   byref  ->  [rbp-0xC8]  must-init pinned ptr "Inline stloc first use temp"
 ;* V138 tmp123      [V138    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V139 tmp124      [V139    ] (  2,  2   )   byref  ->  [rbp-0xC0]  must-init pinned ptr "Inline stloc first use temp"
+;  V139 tmp124      [V139    ] (  2,  2   )   byref  ->  [rbp-0xD0]  must-init pinned ptr "Inline stloc first use temp"
 ;* V140 tmp125      [V140    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V141 tmp126      [V141    ] (  2,  2   )     int  ->  [rbp-0xC8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline ldloca(s) first use temp"
+;  V141 tmp126      [V141    ] (  2,  2   )     int  ->  [rbp-0xD8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline ldloca(s) first use temp"
 ;  V142 tmp127      [V142,T33] (  2,  4   )     int  ->  rdi         "Spill before store to pinned local"
 ;* V143 tmp128      [V143    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V144 tmp129      [V144    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V145 tmp130      [V145    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V146 tmp131      [V146    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V147 tmp132      [V147    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V148 tmp133      [V148    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V149 tmp134      [V149    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V150 tmp135      [V150    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V151 tmp136      [V151    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V152 tmp137      [V152    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
 ;  V153 tmp138      [V153,T19] (  3,  6   )     int  ->  r15         "Inlining Arg"
 ;* V154 tmp139      [V154    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V155 tmp140      [V155    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V156 tmp141      [V156    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V157 tmp142      [V157    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V158 tmp143      [V158    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V159 tmp144      [V159    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
 ;* V160 tmp145      [V160    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V04._reference (fldOffset=0x0)" P-INDEP
 ;* V161 tmp146      [V161    ] (  0,  0   )     int  ->  zero-ref    ptr "field V04._length (fldOffset=0x8)" P-INDEP
 ;* V162 tmp147      [V162    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V163 tmp148      [V163    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V164 tmp149      [V164    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V165 tmp150      [V165    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V166 tmp151      [V166,T01] ( 17, 17   )   byref  ->  r14         single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;  V166 tmp151      [V166,T01] ( 17, 17   )   byref  ->  r13         single-def "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V167 tmp152      [V167    ] (  0,  0   )     int  ->  zero-ref    ptr "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V168 tmp153      [V168    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V169 tmp154      [V169    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V170 tmp155      [V170    ] (  0,  0   )   byref  ->  zero-ref    "field V19._reference (fldOffset=0x0)" P-INDEP
 ;* V171 tmp156      [V171    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V172 tmp157      [V172    ] (  0,  0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V173 tmp158      [V173    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
 ;* V174 tmp159      [V174    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V175 tmp160      [V175    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;* V176 tmp161      [V176    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V177 tmp162      [V177    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V178 tmp163      [V178    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
 ;* V179 tmp164      [V179    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
 ;* V180 tmp165      [V180    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V181 tmp166      [V181    ] (  0,  0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
 ;  V182 tmp167      [V182,T26] (  4,  4   )   byref  ->  r15         single-def "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V183 tmp168      [V183    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;* V184 tmp169      [V184    ] (  0,  0   )   byref  ->  zero-ref    "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V185 tmp170      [V185    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
 ;* V186 tmp171      [V186    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V187 tmp172      [V187    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;* V188 tmp173      [V188    ] (  0,  0   )   byref  ->  zero-ref    "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V189 tmp174      [V189    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
 ;* V190 tmp175      [V190    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V34._reference (fldOffset=0x0)" P-INDEP
 ;* V191 tmp176      [V191    ] (  0,  0   )     int  ->  zero-ref    ptr "field V34._length (fldOffset=0x8)" P-INDEP
 ;* V192 tmp177      [V192    ] (  0,  0   )   byref  ->  zero-ref    "field V37._reference (fldOffset=0x0)" P-INDEP
 ;* V193 tmp178      [V193    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
 ;* V194 tmp179      [V194    ] (  0,  0   )   byref  ->  zero-ref    "field V38._reference (fldOffset=0x0)" P-INDEP
 ;* V195 tmp180      [V195    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
 ;* V196 tmp181      [V196    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V40._reference (fldOffset=0x0)" P-INDEP
 ;* V197 tmp182      [V197    ] (  0,  0   )     int  ->  zero-ref    ptr "field V40._length (fldOffset=0x8)" P-INDEP
-;  V198 tmp183      [V198,T27] (  4,  4   )   byref  ->  r13         single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;  V198 tmp183      [V198,T27] (  4,  4   )   byref  ->  r12         single-def "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V199 tmp184      [V199    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V200 tmp185      [V200    ] (  0,  0   )   byref  ->  zero-ref    "field V44._reference (fldOffset=0x0)" P-INDEP
 ;* V201 tmp186      [V201    ] (  0,  0   )     int  ->  zero-ref    "field V44._length (fldOffset=0x8)" P-INDEP
 ;* V202 tmp187      [V202    ] (  0,  0   )   byref  ->  zero-ref    "field V45._reference (fldOffset=0x0)" P-INDEP
 ;* V203 tmp188      [V203    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
 ;* V204 tmp189      [V204    ] (  0,  0   )   byref  ->  zero-ref    "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V205 tmp190      [V205    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V206 tmp191      [V206    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V207 tmp192      [V207    ] (  0,  0   )     int  ->  zero-ref    ptr "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V208 tmp193      [V208    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V57._reference (fldOffset=0x0)" P-INDEP
 ;* V209 tmp194      [V209    ] (  0,  0   )     int  ->  zero-ref    ptr "field V57._length (fldOffset=0x8)" P-INDEP
 ;* V210 tmp195      [V210    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V59._reference (fldOffset=0x0)" P-INDEP
 ;* V211 tmp196      [V211    ] (  0,  0   )     int  ->  zero-ref    ptr "field V59._length (fldOffset=0x8)" P-INDEP
 ;* V212 tmp197      [V212    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V60._reference (fldOffset=0x0)" P-INDEP
 ;* V213 tmp198      [V213    ] (  0,  0   )     int  ->  zero-ref    ptr "field V60._length (fldOffset=0x8)" P-INDEP
 ;* V214 tmp199      [V214    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V64._reference (fldOffset=0x0)" P-INDEP
 ;* V215 tmp200      [V215    ] (  0,  0   )     int  ->  zero-ref    ptr "field V64._length (fldOffset=0x8)" P-INDEP
 ;* V216 tmp201      [V216    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V68._reference (fldOffset=0x0)" P-INDEP
 ;* V217 tmp202      [V217    ] (  0,  0   )     int  ->  zero-ref    "field V68._length (fldOffset=0x8)" P-INDEP
 ;* V218 tmp203      [V218    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V69._reference (fldOffset=0x0)" P-INDEP
 ;* V219 tmp204      [V219    ] (  0,  0   )     int  ->  zero-ref    ptr "field V69._length (fldOffset=0x8)" P-INDEP
 ;* V220 tmp205      [V220,T70] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V70._reference (fldOffset=0x0)" P-INDEP
 ;* V221 tmp206      [V221,T73] (  0,  0   )     int  ->  zero-ref    ptr "field V70._length (fldOffset=0x8)" P-INDEP
 ;* V222 tmp207      [V222    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V74._reference (fldOffset=0x0)" P-INDEP
 ;* V223 tmp208      [V223    ] (  0,  0   )     int  ->  zero-ref    ptr "field V74._length (fldOffset=0x8)" P-INDEP
 ;* V224 tmp209      [V224    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V76._reference (fldOffset=0x0)" P-INDEP
 ;* V225 tmp210      [V225    ] (  0,  0   )     int  ->  zero-ref    ptr "field V76._length (fldOffset=0x8)" P-INDEP
 ;* V226 tmp211      [V226    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V77._reference (fldOffset=0x0)" P-INDEP
 ;* V227 tmp212      [V227    ] (  0,  0   )     int  ->  zero-ref    ptr "field V77._length (fldOffset=0x8)" P-INDEP
 ;* V228 tmp213      [V228    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V80._reference (fldOffset=0x0)" P-INDEP
 ;* V229 tmp214      [V229    ] (  0,  0   )     int  ->  zero-ref    ptr "field V80._length (fldOffset=0x8)" P-INDEP
 ;* V230 tmp215      [V230    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V82._reference (fldOffset=0x0)" P-INDEP
 ;* V231 tmp216      [V231    ] (  0,  0   )     int  ->  zero-ref    "field V82._length (fldOffset=0x8)" P-INDEP
 ;* V232 tmp217      [V232    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V87._reference (fldOffset=0x0)" P-INDEP
 ;* V233 tmp218      [V233    ] (  0,  0   )     int  ->  zero-ref    "field V87._length (fldOffset=0x8)" P-INDEP
 ;* V234 tmp219      [V234    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V88._reference (fldOffset=0x0)" P-INDEP
 ;* V235 tmp220      [V235    ] (  0,  0   )     int  ->  zero-ref    "field V88._length (fldOffset=0x8)" P-INDEP
 ;* V236 tmp221      [V236    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V89._reference (fldOffset=0x0)" P-INDEP
 ;* V237 tmp222      [V237    ] (  0,  0   )     int  ->  zero-ref    "field V89._length (fldOffset=0x8)" P-INDEP
-;  V238 tmp223      [V238,T57] (  2,  2   )   byref  ->  r13         single-def "field V90._reference (fldOffset=0x0)" P-INDEP
+;  V238 tmp223      [V238,T57] (  2,  2   )   byref  ->  r12         single-def "field V90._reference (fldOffset=0x0)" P-INDEP
 ;* V239 tmp224      [V239,T74] (  0,  0   )     int  ->  zero-ref    ptr "field V90._length (fldOffset=0x8)" P-INDEP
 ;* V240 tmp225      [V240    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V93._reference (fldOffset=0x0)" P-INDEP
 ;* V241 tmp226      [V241    ] (  0,  0   )     int  ->  zero-ref    ptr "field V93._length (fldOffset=0x8)" P-INDEP
 ;* V242 tmp227      [V242,T71] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V94._reference (fldOffset=0x0)" P-INDEP
 ;* V243 tmp228      [V243,T75] (  0,  0   )     int  ->  zero-ref    ptr "field V94._length (fldOffset=0x8)" P-INDEP
 ;* V244 tmp229      [V244    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V98._reference (fldOffset=0x0)" P-INDEP
 ;* V245 tmp230      [V245    ] (  0,  0   )     int  ->  zero-ref    ptr "field V98._length (fldOffset=0x8)" P-INDEP
 ;* V246 tmp231      [V246    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V100._reference (fldOffset=0x0)" P-INDEP
 ;* V247 tmp232      [V247    ] (  0,  0   )     int  ->  zero-ref    ptr "field V100._length (fldOffset=0x8)" P-INDEP
 ;* V248 tmp233      [V248,T72] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V101._reference (fldOffset=0x0)" P-INDEP
-;  V249 tmp234      [V249,T66] (  2,  2   )     int  ->  r13         "field V101._length (fldOffset=0x8)" P-INDEP
+;  V249 tmp234      [V249,T66] (  2,  2   )     int  ->  r12         "field V101._length (fldOffset=0x8)" P-INDEP
 ;* V250 tmp235      [V250    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V106._reference (fldOffset=0x0)" P-INDEP
 ;* V251 tmp236      [V251    ] (  0,  0   )     int  ->  zero-ref    ptr "field V106._length (fldOffset=0x8)" P-INDEP
 ;* V252 tmp237      [V252    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V113._reference (fldOffset=0x0)" P-INDEP
 ;* V253 tmp238      [V253    ] (  0,  0   )     int  ->  zero-ref    ptr "field V113._length (fldOffset=0x8)" P-INDEP
 ;* V254 tmp239      [V254    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V115._reference (fldOffset=0x0)" P-INDEP
 ;* V255 tmp240      [V255    ] (  0,  0   )     int  ->  zero-ref    ptr "field V115._length (fldOffset=0x8)" P-INDEP
 ;* V256 tmp241      [V256    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V116._reference (fldOffset=0x0)" P-INDEP
 ;* V257 tmp242      [V257    ] (  0,  0   )     int  ->  zero-ref    ptr "field V116._length (fldOffset=0x8)" P-INDEP
 ;* V258 tmp243      [V258    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V120._reference (fldOffset=0x0)" P-INDEP
 ;* V259 tmp244      [V259    ] (  0,  0   )     int  ->  zero-ref    ptr "field V120._length (fldOffset=0x8)" P-INDEP
 ;* V260 tmp245      [V260    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V124._reference (fldOffset=0x0)" P-INDEP
 ;* V261 tmp246      [V261    ] (  0,  0   )     int  ->  zero-ref    "field V124._length (fldOffset=0x8)" P-INDEP
 ;* V262 tmp247      [V262    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V125._reference (fldOffset=0x0)" P-INDEP
 ;* V263 tmp248      [V263    ] (  0,  0   )     int  ->  zero-ref    ptr "field V125._length (fldOffset=0x8)" P-INDEP
-;  V264 tmp249      [V264,T58] (  2,  2   )   byref  ->  r14         single-def "field V126._reference (fldOffset=0x0)" P-INDEP
+;  V264 tmp249      [V264,T58] (  2,  2   )   byref  ->  r13         single-def "field V126._reference (fldOffset=0x0)" P-INDEP
 ;  V265 tmp250      [V265,T67] (  2,  2   )     int  ->  rbx         "field V126._length (fldOffset=0x8)" P-INDEP
 ;* V266 tmp251      [V266    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V130._reference (fldOffset=0x0)" P-INDEP
 ;* V267 tmp252      [V267    ] (  0,  0   )     int  ->  zero-ref    ptr "field V130._length (fldOffset=0x8)" P-INDEP
 ;* V268 tmp253      [V268    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V132._reference (fldOffset=0x0)" P-INDEP
 ;* V269 tmp254      [V269    ] (  0,  0   )     int  ->  zero-ref    ptr "field V132._length (fldOffset=0x8)" P-INDEP
 ;* V270 tmp255      [V270    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V133._reference (fldOffset=0x0)" P-INDEP
 ;* V271 tmp256      [V271    ] (  0,  0   )     int  ->  zero-ref    ptr "field V133._length (fldOffset=0x8)" P-INDEP
 ;* V272 tmp257      [V272    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V136._reference (fldOffset=0x0)" P-INDEP
 ;* V273 tmp258      [V273    ] (  0,  0   )     int  ->  zero-ref    ptr "field V136._length (fldOffset=0x8)" P-INDEP
 ;* V274 tmp259      [V274    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V138._reference (fldOffset=0x0)" P-INDEP
 ;* V275 tmp260      [V275    ] (  0,  0   )     int  ->  zero-ref    "field V138._length (fldOffset=0x8)" P-INDEP
 ;* V276 tmp261      [V276    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V143._reference (fldOffset=0x0)" P-INDEP
 ;* V277 tmp262      [V277    ] (  0,  0   )     int  ->  zero-ref    "field V143._length (fldOffset=0x8)" P-INDEP
 ;* V278 tmp263      [V278    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
 ;* V279 tmp264      [V279    ] (  0,  0   )     int  ->  zero-ref    "field V144._length (fldOffset=0x8)" P-INDEP
 ;* V280 tmp265      [V280    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V145._reference (fldOffset=0x0)" P-INDEP
 ;* V281 tmp266      [V281    ] (  0,  0   )     int  ->  zero-ref    "field V145._length (fldOffset=0x8)" P-INDEP
 ;  V282 tmp267      [V282,T59] (  2,  2   )   byref  ->  r15         single-def "field V146._reference (fldOffset=0x0)" P-INDEP
 ;* V283 tmp268      [V283,T76] (  0,  0   )     int  ->  zero-ref    ptr "field V146._length (fldOffset=0x8)" P-INDEP
 ;* V284 tmp269      [V284    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V149._reference (fldOffset=0x0)" P-INDEP
 ;* V285 tmp270      [V285    ] (  0,  0   )     int  ->  zero-ref    ptr "field V149._length (fldOffset=0x8)" P-INDEP
 ;  V286 tmp271      [V286,T60] (  2,  2   )   byref  ->  r15         single-def "field V150._reference (fldOffset=0x0)" P-INDEP
 ;  V287 tmp272      [V287,T68] (  2,  2   )     int  ->  rbx         "field V150._length (fldOffset=0x8)" P-INDEP
 ;* V288 tmp273      [V288    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V154._reference (fldOffset=0x0)" P-INDEP
 ;* V289 tmp274      [V289    ] (  0,  0   )     int  ->  zero-ref    ptr "field V154._length (fldOffset=0x8)" P-INDEP
 ;* V290 tmp275      [V290    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V156._reference (fldOffset=0x0)" P-INDEP
 ;* V291 tmp276      [V291    ] (  0,  0   )     int  ->  zero-ref    ptr "field V156._length (fldOffset=0x8)" P-INDEP
-;  V292 tmp277      [V292,T61] (  2,  2   )   byref  ->  r14         single-def "field V157._reference (fldOffset=0x0)" P-INDEP
+;  V292 tmp277      [V292,T61] (  2,  2   )   byref  ->  r13         single-def "field V157._reference (fldOffset=0x0)" P-INDEP
 ;  V293 tmp278      [V293,T69] (  2,  2   )     int  ->  r15         "field V157._length (fldOffset=0x8)" P-INDEP
 ;  V294 tmp279      [V294,T34] (  2,  4   )    long  ->  rsi         "Cast away GC"
 ;  V295 tmp280      [V295,T35] (  2,  4   )    long  ->  rsi         "argument with side effect"
-;  V296 tmp281      [V296,T36] (  2,  4   )    long  ->  rdx         "Cast away GC"
-;  V297 tmp282      [V297,T37] (  2,  4   )    long  ->  rdx         "argument with side effect"
+;  V296 tmp281      [V296,T36] (  2,  4   )    long  ->  rdi         "Cast away GC"
+;  V297 tmp282      [V297,T37] (  2,  4   )    long  ->  rdi         "argument with side effect"
 ;  V298 tmp283      [V298,T38] (  2,  4   )     int  ->  rdx         "argument with side effect"
-;  V299 tmp284      [V299,T39] (  2,  4   )    long  ->  rdx         "Cast away GC"
-;  V300 tmp285      [V300,T40] (  2,  4   )    long  ->   r8         "Cast away GC"
-;  V301 tmp286      [V301,T41] (  2,  4   )    long  ->  rdx         "argument with side effect"
-;  V302 tmp287      [V302,T42] (  2,  4   )    long  ->   r8         "argument with side effect"
+;  V299 tmp284      [V299,T39] (  2,  4   )    long  ->  rdi         "Cast away GC"
+;  V300 tmp285      [V300,T40] (  2,  4   )    long  ->  rdx         "Cast away GC"
+;  V301 tmp286      [V301,T41] (  2,  4   )    long  ->  rdi         "argument with side effect"
+;  V302 tmp287      [V302,T42] (  2,  4   )    long  ->  rdx         "argument with side effect"
 ;  V303 tmp288      [V303,T43] (  2,  4   )     int  ->  rdx         "argument with side effect"
 ;  V304 tmp289      [V304,T44] (  2,  4   )    long  ->  rsi         "Cast away GC"
 ;  V305 tmp290      [V305,T45] (  2,  4   )    long  ->  rsi         "argument with side effect"
-;  V306 tmp291      [V306,T46] (  2,  4   )    long  ->  rdx         "Cast away GC"
-;  V307 tmp292      [V307,T47] (  2,  4   )    long  ->  rdx         "argument with side effect"
+;  V306 tmp291      [V306,T46] (  2,  4   )    long  ->  rdi         "Cast away GC"
+;  V307 tmp292      [V307,T47] (  2,  4   )    long  ->  rdi         "argument with side effect"
 ;  V308 tmp293      [V308,T48] (  2,  4   )     int  ->  rdx         "argument with side effect"
-;  V309 tmp294      [V309,T49] (  2,  4   )    long  ->  rdx         "Cast away GC"
-;  V310 tmp295      [V310,T50] (  2,  4   )    long  ->   r8         "Cast away GC"
-;  V311 tmp296      [V311,T51] (  2,  4   )    long  ->  rdx         "argument with side effect"
-;  V312 tmp297      [V312,T52] (  2,  4   )    long  ->   r8         "argument with side effect"
+;  V309 tmp294      [V309,T49] (  2,  4   )    long  ->  rdi         "Cast away GC"
+;  V310 tmp295      [V310,T50] (  2,  4   )    long  ->  rdx         "Cast away GC"
+;  V311 tmp296      [V311,T51] (  2,  4   )    long  ->  rdi         "argument with side effect"
+;  V312 tmp297      [V312,T52] (  2,  4   )    long  ->  rdx         "argument with side effect"
 ;  V313 tmp298      [V313,T53] (  2,  4   )     int  ->  rdx         "argument with side effect"
-;  V314 GsCookie    [V314    ] (  1,  1   )    long  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V315 tmp300      [V315,T00] ( 23, 20   )     ref  ->  [rbp-0xD8]  must-init EH-live single-def ptr "shadowVar"
+;  V314 GsCookie    [V314    ] (  1,  1   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
+;  V315 tmp300      [V315,T00] ( 23, 20   )     ref  ->  [rbp-0x108]  must-init EH-live single-def ptr "shadowVar"
 ;  V316 tmp301      [V316,T22] (  5,  5   )     ref  ->  r15         single-def "shadowVar"
-;  V317 PSPSym      [V317,T77] (  1,  1   )    long  ->  [rbp-0xE0]  do-not-enreg[V] "PSPSym"
+;  V317 PSPSym      [V317,T77] (  1,  1   )    long  ->  [rbp-0x110]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 200
+; Lcl frame size = 248
 
 G_M14481_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 200
+       sub      rsp, 248
        vzeroupper 
-       lea      rbp, [rsp+0xF0]
+       lea      rbp, [rsp+0x120]
        xor      eax, eax
-       mov      qword ptr [rbp-0xD8], rax
+       mov      qword ptr [rbp-0x108], rax
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu32 zmmword ptr [rbp-0xD0], zmm8
-       vmovdqa  xmmword ptr [rbp-0x90], xmm8
+       vmovdqu32 zmmword ptr [rbp-0x100], zmm8
+       vmovdqu32 zmmword ptr [rbp-0xC0], zmm8
        vmovdqa  xmmword ptr [rbp-0x80], xmm8
-       vmovdqa  xmmword ptr [rbp-0x70], xmm8
-       mov      qword ptr [rbp-0xE0], rsp
-       mov      qword ptr [rbp-0x30], 0xD1FFAB1E
+       mov      qword ptr [rbp-0x70], rax
+       mov      qword ptr [rbp-0x110], rsp
+       mov      qword ptr [rbp-0x30], rdi
+       mov      qword ptr [rbp-0x38], 0xD1FFAB1E
+       mov      gword ptr [rbp-0xE0], rdi
        mov      ebx, edx
-						;; size=87 bbWeight=1 PerfScore 19.58
+						;; size=93 bbWeight=1 PerfScore 20.58
 G_M14481_IG02:
        mov      r15, rsi
-       mov      gword ptr [rbp-0xD8], rdi
-       mov      word  ptr [rdi+0x66], 257
-       mov      dword ptr [rdi+0x5C], -1
-       lea      rdi, bword ptr [rdi+0x08]
+       mov      r14, rdi
+       mov      gword ptr [rbp-0x108], r14
+       mov      word  ptr [r14+0x66], 257
+       mov      dword ptr [r14+0x5C], -1
+       lea      rdi, bword ptr [r14+0x08]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rdi, gword ptr [rbp-0xD8]
-       mov      qword ptr [rdi+0x50], -1
-       mov      dword ptr [rdi+0x58], -1
+       mov      qword ptr [r14+0x50], -1
+       mov      dword ptr [r14+0x58], -1
        test     bl, bl
        jne      SHORT G_M14481_IG06
-						;; size=61 bbWeight=1 PerfScore 9.25
+						;; size=60 bbWeight=1 PerfScore 8.50
 G_M14481_IG03:
-       cmp      qword ptr [rbp-0x30], 0xD1FFAB1E
+       cmp      qword ptr [rbp-0x38], 0xD1FFAB1E
        je       SHORT G_M14481_IG04
        call     CORINFO_HELP_FAIL_FAST
 						;; size=15 bbWeight=1 PerfScore 4.00
 G_M14481_IG04:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M14481_IG05:
        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_M14481_IG06:
-       lea      rsi, [rbp-0x58]
+       lea      rsi, [rbp-0x60]
        mov      qword ptr [rsp], rsi
-       lea      rsi, bword ptr [rdi+0x50]
-       lea      rdx, bword ptr [rdi+0x54]
-       lea      rcx, bword ptr [rdi+0x58]
-       lea      r8, bword ptr [rdi+0x67]
-       lea      r9, bword ptr [rdi+0x68]
+       lea      rsi, bword ptr [r14+0x50]
+       lea      rdx, bword ptr [r14+0x54]
+       lea      rcx, bword ptr [r14+0x58]
+       lea      r8, bword ptr [r14+0x67]
+       lea      r9, bword ptr [r14+0x68]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:LoadSocketTypeFromHandle(System.Net.Sockets.SafeSocketHandle,byref,byref,byref,byref,byref,byref)
        call     [rax]System.Net.Sockets.Socket:LoadSocketTypeFromHandle(System.Net.Sockets.SafeSocketHandle,byref,byref,byref,byref,byref,byref)
-       cmp      byte  ptr [rbp-0x58], 0
+       cmp      byte  ptr [rbp-0x60], 0
        je       SHORT G_M14481_IG03
-       mov      rdi, gword ptr [rbp-0xD8]
        mov      rsi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rsi], 1
        je       G_M14481_IG30
-						;; size=75 bbWeight=1 PerfScore 15.75
+						;; size=68 bbWeight=1 PerfScore 14.75
 G_M14481_IG07:
        mov      rsi, 0xD1FFAB1E      ; data for System.Net.Sockets.SocketPal:MaximumAddressSize
        mov      ebx, dword ptr [rsi]
        mov      esi, ebx
-       mov      r14, rsi
-       test     r14, r14
+       mov      r13, rsi
+       test     r13, r13
        je       SHORT G_M14481_IG09
-       mov      rdx, r14
+       mov      rdx, r13
        add      rdx, 15
        and      rdx, -16
        add      rsp, 16
        neg      rdx
        add      rdx, rsp
        jb       SHORT G_M14481_IG08
        xor      edx, edx
 						;; size=47 bbWeight=1 PerfScore 6.75
 G_M14481_IG08:
        test     dword ptr [rsp], esp
        sub      rsp, 0x1000
        cmp      rsp, rdx
        jae      SHORT G_M14481_IG08
        mov      rsp, rdx
        test     dword ptr [rsp], esp
        sub      rsp, 16
-       lea      r14, [rsp+0x10]
+       lea      r13, [rsp+0x10]
 						;; size=30 bbWeight=1 PerfScore 8.50
 G_M14481_IG09:
        test     ebx, ebx
        jl       G_M14481_IG31
-       mov      dword ptr [rbp-0x60], ebx
+       mov      dword ptr [rbp-0x68], ebx
 						;; size=11 bbWeight=1 PerfScore 2.25
 G_M14481_IG10:
        xor      rsi, rsi
        test     ebx, ebx
-       cmovne   rsi, r14
-       mov      bword ptr [rbp-0x68], rsi
-       lea      rdx, [rbp-0x60]
+       cmovne   rsi, r13
+       mov      bword ptr [rbp-0x70], rsi
+       lea      rdx, [rbp-0x68]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for Interop+Sys:GetSockName(System.Runtime.InteropServices.SafeHandle,ulong,ulong):int
        call     [rax]Interop+Sys:GetSockName(System.Runtime.InteropServices.SafeHandle,ulong,ulong):int
        test     eax, eax
        je       SHORT G_M14481_IG13
        mov      edi, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.SocketErrorPal:GetSocketErrorForNativeError(int):int
        call     [rax]System.Net.Sockets.SocketErrorPal:GetSocketErrorForNativeError(int):int
        test     eax, eax
        je       SHORT G_M14481_IG13
 						;; size=53 bbWeight=1 PerfScore 11.75
 G_M14481_IG11:
-       mov      rdi, qword ptr [rbp-0xE0]
+       mov      rdi, qword ptr [rbp-0x110]
        call     G_M14481_IG32
 						;; size=12 bbWeight=1 PerfScore 2.00
 G_M14481_IG12:
        jmp      G_M14481_IG03
 						;; size=5 bbWeight=1 PerfScore 2.00
 G_M14481_IG13:
        xor      edi, edi
-       mov      bword ptr [rbp-0x68], rdi
-       mov      rdi, gword ptr [rbp-0xD8]
-       mov      r13d, dword ptr [rdi+0x50]
-       cmp      r13d, 1
+       mov      bword ptr [rbp-0x70], rdi
+       mov      r12d, dword ptr [r14+0x50]
+       cmp      r12d, 1
        je       SHORT G_M14481_IG14
-       cmp      r13d, 2
+       cmp      r12d, 2
        je       SHORT G_M14481_IG15
-       cmp      r13d, 23
+       cmp      r12d, 23
        jne      G_M14481_IG18
-       lea      r13, [rbp-0x50]
-       mov      esi, dword ptr [rbp-0x60]
+       lea      r12, [rbp-0x58]
+       mov      esi, dword ptr [rbp-0x68]
        cmp      esi, ebx
        jbe      G_M14481_IG16
        jmp      G_M14481_IG31
-						;; size=59 bbWeight=1 PerfScore 12.75
+						;; size=52 bbWeight=1 PerfScore 11.75
 G_M14481_IG14:
-       mov      r13d, dword ptr [rbp-0x60]
-       cmp      r13d, ebx
+       mov      r12d, dword ptr [rbp-0x68]
+       cmp      r12d, ebx
        ja       G_M14481_IG31
        mov      rdi, 0xD1FFAB1E      ; System.Net.Sockets.UnixDomainSocketEndPoint
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
-       mov      rsi, r14
-       mov      edx, r13d
-       mov      rdi, r12
-       mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.UnixDomainSocketEndPoint:.ctor(System.ReadOnlySpan`1[ubyte]):this
-       call     [rax]System.Net.Sockets.UnixDomainSocketEndPoint:.ctor(System.ReadOnlySpan`1[ubyte]):this
-       mov      rdi, gword ptr [rbp-0xD8]
-       lea      rdi, bword ptr [rdi+0x10]
-       mov      rsi, r12
+       mov      gword ptr [rbp-0xE8], rax
+       mov      rsi, r13
+       mov      edx, r12d
+       mov      rdi, rax
+       mov      rcx, 0xD1FFAB1E      ; code for System.Net.Sockets.UnixDomainSocketEndPoint:.ctor(System.ReadOnlySpan`1[ubyte]):this
+       call     [rcx]System.Net.Sockets.UnixDomainSocketEndPoint:.ctor(System.ReadOnlySpan`1[ubyte]):this
+       lea      rdi, bword ptr [r14+0x10]
+       mov      rsi, gword ptr [rbp-0xE8]
        call     CORINFO_HELP_ASSIGN_REF
        jmp      G_M14481_IG18
-						;; size=76 bbWeight=1 PerfScore 12.50
+						;; size=77 bbWeight=1 PerfScore 13.00
 G_M14481_IG15:
-       mov      esi, dword ptr [rbp-0x60]
+       mov      esi, dword ptr [rbp-0x68]
        cmp      esi, ebx
        ja       G_M14481_IG31
-       mov      bword ptr [rbp-0x70], r14
-       mov      rdx, r14
-       mov      rdi, rdx
-       lea      rdx, [rbp-0x78]
+       mov      bword ptr [rbp-0x80], r13
+       mov      rdi, r13
+       lea      rdx, [rbp-0x88]
        call     Interop+Sys:GetIPv4Address(ulong,int,ulong):int
        mov      edi, eax
        xor      eax, eax
-       mov      bword ptr [rbp-0x70], rax
+       mov      bword ptr [rbp-0x80], rax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.SocketAddressPal:ThrowOnFailure(int)
        call     [rax]System.Net.SocketAddressPal:ThrowOnFailure(int)
-       mov      r13d, dword ptr [rbp-0x78]
+       mov      r12d, dword ptr [rbp-0x88]
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPAddress
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
-       mov      esi, r13d
-       mov      rdi, r12
-       mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(long):this
-       call     [rax]System.Net.IPAddress:.ctor(long):this
+       mov      gword ptr [rbp-0xF8], rax
+       mov      esi, r12d
+       mov      rdi, rax
+       mov      rcx, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(long):this
+       call     [rcx]System.Net.IPAddress:.ctor(long):this
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPEndPoint
        call     CORINFO_HELP_NEWSFAST
-       mov      r13, rax
-       mov      rdi, r14
+       mov      r12, rax
+       mov      rdi, r13
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.SocketAddressPal:GetPort(System.ReadOnlySpan`1[ubyte]):ushort
        call     [rax]System.Net.SocketAddressPal:GetPort(System.ReadOnlySpan`1[ubyte]):ushort
        mov      edx, eax
-       mov      rsi, r12
-       mov      rdi, r13
+       mov      rsi, gword ptr [rbp-0xF8]
+       mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
        call     [rax]System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
-       mov      rdi, gword ptr [rbp-0xD8]
-       lea      rdi, bword ptr [rdi+0x10]
-       mov      rsi, r13
+       lea      rdi, bword ptr [r14+0x10]
+       mov      rsi, r12
        call     CORINFO_HELP_ASSIGN_REF
        jmp      G_M14481_IG18
-						;; size=169 bbWeight=1 PerfScore 30.25
+						;; size=173 bbWeight=1 PerfScore 30.50
 G_M14481_IG16:
-       mov      bword ptr [rbp-0x80], r14
-       mov      bword ptr [rbp-0x88], r13
-       mov      rdx, r14
-       mov      r8, r13
-       mov      rdi, rdx
-       mov      rdx, r8
-       lea      r8, [rbp-0x90]
+       mov      bword ptr [rbp-0x90], r13
+       mov      bword ptr [rbp-0x98], r12
+       mov      rdi, r13
+       mov      rdx, r12
+       lea      r8, [rbp-0xA0]
        mov      ecx, 16
        call     Interop+Sys:GetIPv6Address(ulong,int,ulong,int,ulong):int
        mov      edi, eax
        xor      eax, eax
-       mov      bword ptr [rbp-0x88], rax
-						;; size=51 bbWeight=1 PerfScore 6.25
+       mov      bword ptr [rbp-0x98], rax
+						;; size=48 bbWeight=1 PerfScore 5.75
 G_M14481_IG17:
-       mov      bword ptr [rbp-0x80], rax
+       mov      bword ptr [rbp-0x90], rax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.SocketAddressPal:ThrowOnFailure(int)
        call     [rax]System.Net.SocketAddressPal:ThrowOnFailure(int)
-       mov      r12d, dword ptr [rbp-0x90]
+       mov      eax, dword ptr [rbp-0xA0]
+       mov      dword ptr [rbp-0x74], eax
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPAddress
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0xD0], rax
-       mov      rsi, r13
+       mov      gword ptr [rbp-0x100], rax
+       mov      rsi, r12
        mov      edx, 16
-       mov      ecx, r12d
+       mov      ecx, dword ptr [rbp-0x74]
        mov      rdi, rax
        mov      r8, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(System.ReadOnlySpan`1[ubyte],long):this
        call     [r8]System.Net.IPAddress:.ctor(System.ReadOnlySpan`1[ubyte],long):this
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPEndPoint
        call     CORINFO_HELP_NEWSFAST
-       mov      r13, rax
-       mov      rdi, r14
+       mov      r12, rax
+       mov      rdi, r13
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.SocketAddressPal:GetPort(System.ReadOnlySpan`1[ubyte]):ushort
        call     [rax]System.Net.SocketAddressPal:GetPort(System.ReadOnlySpan`1[ubyte]):ushort
        mov      edx, eax
-       mov      rsi, gword ptr [rbp-0xD0]
-       mov      rdi, r13
+       mov      rsi, gword ptr [rbp-0x100]
+       mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
        call     [rax]System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
-       mov      rdi, gword ptr [rbp-0xD8]
-       lea      rdi, bword ptr [rdi+0x10]
-       mov      rsi, r13
+       lea      rdi, bword ptr [r14+0x10]
+       mov      rsi, r12
        call     CORINFO_HELP_ASSIGN_REF
-						;; size=150 bbWeight=1 PerfScore 24.50
+						;; size=148 bbWeight=1 PerfScore 25.25
 G_M14481_IG18:
-       mov      rdi, gword ptr [rbp-0xD8]
-       cmp      gword ptr [rdi+0x10], 0
+       cmp      gword ptr [r14+0x10], 0
        je       G_M14481_IG03
-						;; size=18 bbWeight=1 PerfScore 5.00
+						;; size=11 bbWeight=1 PerfScore 4.00
 G_M14481_IG19:
-       mov      dword ptr [rbp-0x60], ebx
-       mov      esi, dword ptr [rbp-0x60]
-       mov      dword ptr [rbp-0x98], esi
+       mov      dword ptr [rbp-0x68], ebx
+       mov      esi, dword ptr [rbp-0x68]
+       mov      dword ptr [rbp-0xA8], esi
        xor      rsi, rsi
        test     ebx, ebx
-       cmovne   rsi, r14
-       mov      bword ptr [rbp-0xA0], rsi
-       lea      rdx, [rbp-0x98]
+       cmovne   rsi, r13
+       mov      bword ptr [rbp-0xB0], rsi
+       lea      rdx, [rbp-0xA8]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for Interop+Sys:GetPeerName(System.Runtime.InteropServices.SafeHandle,ulong,ulong):int
        call     [rax]Interop+Sys:GetPeerName(System.Runtime.InteropServices.SafeHandle,ulong,ulong):int
        xor      edi, edi
-       mov      bword ptr [rbp-0xA0], rdi
-       mov      edi, dword ptr [rbp-0x98]
-       mov      dword ptr [rbp-0x60], edi
+       mov      bword ptr [rbp-0xB0], rdi
+       mov      edi, dword ptr [rbp-0xA8]
+       mov      dword ptr [rbp-0x68], edi
        test     eax, eax
        je       SHORT G_M14481_IG20
        mov      edi, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.SocketErrorPal:GetSocketErrorForNativeError(int):int
        call     [rax]System.Net.Sockets.SocketErrorPal:GetSocketErrorForNativeError(int):int
        jmp      SHORT G_M14481_IG21
 						;; size=87 bbWeight=1 PerfScore 18.75
 G_M14481_IG20:
        xor      eax, eax
 						;; size=2 bbWeight=1 PerfScore 0.25
 G_M14481_IG21:
        test     eax, eax
        je       SHORT G_M14481_IG22
        cmp      eax, 0x2726
-       je       G_M14481_IG24
+       je       SHORT G_M14481_IG24
        jmp      G_M14481_IG29
-						;; size=20 bbWeight=1 PerfScore 4.50
+						;; size=16 bbWeight=1 PerfScore 4.50
 G_M14481_IG22:
-       mov      rdi, gword ptr [rbp-0xD8]
-       mov      r13d, dword ptr [rdi+0x50]
-       cmp      r13d, 1
+       mov      r12d, dword ptr [r14+0x50]
+       cmp      r12d, 1
        je       SHORT G_M14481_IG23
-       cmp      r13d, 2
+       cmp      r12d, 2
        je       SHORT G_M14481_IG25
-       cmp      r13d, 23
+       cmp      r12d, 23
        jne      SHORT G_M14481_IG24
-       lea      r15, [rbp-0x40]
-       mov      esi, dword ptr [rbp-0x60]
+       lea      r15, [rbp-0x48]
+       mov      esi, dword ptr [rbp-0x68]
        cmp      esi, ebx
        jbe      G_M14481_IG26
        jmp      G_M14481_IG28
-						;; size=49 bbWeight=1 PerfScore 11.50
+						;; size=42 bbWeight=1 PerfScore 10.50
 G_M14481_IG23:
-       mov      r15d, dword ptr [rbp-0x60]
+       mov      r15d, dword ptr [rbp-0x68]
        cmp      r15d, ebx
        ja       G_M14481_IG28
        mov      rdi, 0xD1FFAB1E      ; System.Net.Sockets.UnixDomainSocketEndPoint
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
-       mov      rsi, r14
+       mov      rsi, r13
        mov      edx, r15d
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.UnixDomainSocketEndPoint:.ctor(System.ReadOnlySpan`1[ubyte]):this
        call     [rax]System.Net.Sockets.UnixDomainSocketEndPoint:.ctor(System.ReadOnlySpan`1[ubyte]):this
-       mov      rdi, gword ptr [rbp-0xD8]
-       lea      rdi, bword ptr [rdi+0x18]
+       lea      rdi, bword ptr [r14+0x18]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
-						;; size=71 bbWeight=1 PerfScore 10.50
+						;; size=64 bbWeight=1 PerfScore 9.50
 G_M14481_IG24:
-       mov      rdi, gword ptr [rbp-0xD8]
-       mov      byte  ptr [rdi+0x64], 1
+       mov      byte  ptr [r14+0x64], 1
        jmp      G_M14481_IG29
-						;; size=16 bbWeight=1 PerfScore 4.00
+						;; size=10 bbWeight=1 PerfScore 3.00
 G_M14481_IG25:
-       mov      esi, dword ptr [rbp-0x60]
+       mov      esi, dword ptr [rbp-0x68]
        cmp      esi, ebx
        ja       G_M14481_IG28
-       mov      bword ptr [rbp-0xA8], r14
-       mov      rdx, r14
-       mov      rdi, rdx
-       lea      rdx, [rbp-0xB0]
+       mov      bword ptr [rbp-0xB8], r13
+       mov      rdi, r13
+       lea      rdx, [rbp-0xC0]
        call     Interop+Sys:GetIPv4Address(ulong,int,ulong):int
        mov      edi, eax
        xor      eax, eax
-       mov      bword ptr [rbp-0xA8], rax
+       mov      bword ptr [rbp-0xB8], rax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.SocketAddressPal:ThrowOnFailure(int)
        call     [rax]System.Net.SocketAddressPal:ThrowOnFailure(int)
-       mov      r15d, dword ptr [rbp-0xB0]
+       mov      r15d, dword ptr [rbp-0xC0]
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPAddress
        call     CORINFO_HELP_NEWSFAST
-       mov      r13, rax
+       mov      r12, rax
        mov      esi, r15d
-       mov      rdi, r13
+       mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(long):this
        call     [rax]System.Net.IPAddress:.ctor(long):this
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPEndPoint
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
-       mov      rdi, r14
+       mov      rdi, r13
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.SocketAddressPal:GetPort(System.ReadOnlySpan`1[ubyte]):ushort
        call     [rax]System.Net.SocketAddressPal:GetPort(System.ReadOnlySpan`1[ubyte]):ushort
        mov      edx, eax
-       mov      rsi, r13
+       mov      rsi, r12
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
        call     [rax]System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
-       mov      rdi, gword ptr [rbp-0xD8]
-       lea      rdi, bword ptr [rdi+0x18]
+       lea      rdi, bword ptr [r14+0x18]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        jmp      G_M14481_IG24
-						;; size=181 bbWeight=1 PerfScore 30.25
+						;; size=171 bbWeight=1 PerfScore 29.00
 G_M14481_IG26:
-       mov      bword ptr [rbp-0xB8], r14
-       mov      bword ptr [rbp-0xC0], r15
-       mov      rdx, r14
-       mov      r8, r15
-       mov      rdi, rdx
-       mov      rdx, r8
-       lea      r8, [rbp-0xC8]
+       mov      bword ptr [rbp-0xC8], r13
+       mov      bword ptr [rbp-0xD0], r15
+       mov      rdi, r13
+       mov      rdx, r15
+       lea      r8, [rbp-0xD8]
        mov      ecx, 16
        call     Interop+Sys:GetIPv6Address(ulong,int,ulong,int,ulong):int
        mov      edi, eax
        xor      eax, eax
-       mov      bword ptr [rbp-0xC0], rax
-						;; size=54 bbWeight=1 PerfScore 6.25
+       mov      bword ptr [rbp-0xD0], rax
+						;; size=48 bbWeight=1 PerfScore 5.75
 G_M14481_IG27:
-       mov      bword ptr [rbp-0xB8], rax
+       mov      bword ptr [rbp-0xC8], rax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.SocketAddressPal:ThrowOnFailure(int)
        call     [rax]System.Net.SocketAddressPal:ThrowOnFailure(int)
-       mov      r13d, dword ptr [rbp-0xC8]
+       mov      r12d, dword ptr [rbp-0xD8]
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPAddress
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
+       mov      gword ptr [rbp-0xF0], rax
        mov      rsi, r15
        mov      edx, 16
-       mov      ecx, r13d
-       mov      rdi, r12
-       mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(System.ReadOnlySpan`1[ubyte],long):this
-       call     [rax]System.Net.IPAddress:.ctor(System.ReadOnlySpan`1[ubyte],long):this
-       mov      r15, r14
+       mov      ecx, r12d
+       mov      rdi, rax
+       mov      r8, 0xD1FFAB1E      ; code for System.Net.IPAddress:.ctor(System.ReadOnlySpan`1[ubyte],long):this
+       call     [r8]System.Net.IPAddress:.ctor(System.ReadOnlySpan`1[ubyte],long):this
+       mov      r15, r13
        mov      rdi, 0xD1FFAB1E      ; System.Net.IPEndPoint
        call     CORINFO_HELP_NEWSFAST
-       mov      r14, rax
+       mov      r13, rax
        mov      rdi, r15
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.SocketAddressPal:GetPort(System.ReadOnlySpan`1[ubyte]):ushort
        call     [rax]System.Net.SocketAddressPal:GetPort(System.ReadOnlySpan`1[ubyte]):ushort
        mov      edx, eax
-       mov      rsi, r12
-       mov      rdi, r14
+       mov      rsi, gword ptr [rbp-0xF0]
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
        call     [rax]System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
-       mov      rdi, gword ptr [rbp-0xD8]
-       lea      rdi, bword ptr [rdi+0x18]
-       mov      rsi, r14
+       lea      rdi, bword ptr [r14+0x18]
+       mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        jmp      G_M14481_IG24
-						;; size=152 bbWeight=1 PerfScore 25.25
+						;; size=154 bbWeight=1 PerfScore 25.75
 G_M14481_IG28:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M14481_IG29:
        nop      
        jmp      G_M14481_IG03
 						;; size=6 bbWeight=1 PerfScore 2.25
 G_M14481_IG30:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Sockets.SocketPal
        call     CORINFO_HELP_GET_NONGCSTATIC_BASE
-       mov      rdi, gword ptr [rbp-0xD8]
        jmp      G_M14481_IG07
-						;; size=27 bbWeight=0 PerfScore 0.00
+						;; size=20 bbWeight=0 PerfScore 0.00
 G_M14481_IG31:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M14481_IG32:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        vzeroupper 
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
-       lea      rbp, [rbp+0xF0]
+       lea      rbp, [rbp+0x120]
 						;; size=33 bbWeight=1 PerfScore 10.75
 G_M14481_IG33:
        xor      eax, eax
-       mov      bword ptr [rbp-0x68], rax
+       mov      bword ptr [rbp-0x70], rax
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M14481_IG34:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M14481_IG35:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        vzeroupper 
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
-       lea      rbp, [rbp+0xF0]
+       lea      rbp, [rbp+0x120]
 						;; size=33 bbWeight=0 PerfScore 0.00
 G_M14481_IG36:
        lea      rax, G_M14481_IG29
 						;; size=7 bbWeight=0 PerfScore 0.00
 G_M14481_IG37:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 G_M14481_IG38:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        vzeroupper 
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
-       lea      rbp, [rbp+0xF0]
+       lea      rbp, [rbp+0x120]
 						;; size=33 bbWeight=0 PerfScore 0.00
 G_M14481_IG39:
        xor      rdi, rdi
-       mov      rbx, gword ptr [rbp-0xD8]
-       mov      gword ptr [rbx+0x08], rdi
-       mov      rdi, rbx
+       mov      r14, gword ptr [rbp-0x108]
+       mov      gword ptr [r14+0x08], rdi
+       mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.GC:SuppressFinalize(System.Object)
        call     [rax]System.GC:SuppressFinalize(System.Object)
        call     CORINFO_HELP_RETHROW
        int3     
 						;; size=34 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1802, prolog size 87, PerfScore 307.58, instruction count 426, allocated bytes for code 1802 (MethodHash=f641c76e) for method System.Net.Sockets.Socket:.ctor(System.Net.Sockets.SafeSocketHandle,ubyte):this (FullOpts)
+; Total bytes of code 1741, prolog size 93, PerfScore 301.58, instruction count 411, allocated bytes for code 1741 (MethodHash=f641c76e) for method System.Net.Sockets.Socket:.ctor(System.Net.Sockets.SafeSocketHandle,ubyte):this (FullOpts)
-48 (-3.13 % of base) - System.Data.DataSet:SerializeRelations(System.Runtime.Serialization.SerializationInfo):this
 ; Assembly listing for method System.Data.DataSet:SerializeRelations(System.Runtime.Serialization.SerializationInfo):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 15 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T34] (  5, 11   )     ref  ->  r15         this class-hnd single-def <System.Data.DataSet>
+;  V00 this         [V00,T34] (  5, 11   )     ref  ->  [rbp-0x58]  this class-hnd EH-live single-def <System.Data.DataSet>
 ;  V01 arg1         [V01,T30] ( 15, 13.50)     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.SerializationInfo>
-;  V02 loc0         [V02,T11] ( 13, 39   )     ref  ->  r14         class-hnd exact single-def <System.Collections.ArrayList>
-;  V03 loc1         [V03,T35] (  6, 10   )     ref  ->  [rbp-0x50]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
-;  V04 loc2         [V04,T05] ( 12, 72   )     ref  ->  r13         class-hnd <System.Data.DataRelation>
-;  V05 loc3         [V05,T12] (  5, 32   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def <int[]>
-;  V06 loc4         [V06,T13] (  5, 32   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def <int[]>
+;  V02 loc0         [V02,T11] ( 13, 39   )     ref  ->  r15         class-hnd exact single-def <System.Collections.ArrayList>
+;  V03 loc1         [V03,T35] (  6, 10   )     ref  ->  [rbp-0x60]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
+;  V04 loc2         [V04,T05] ( 12, 72   )     ref  ->  r14         class-hnd <System.Data.DataRelation>
+;  V05 loc3         [V05,T12] (  5, 32   )     ref  ->  r12         class-hnd exact <int[]>
+;  V06 loc4         [V06,T13] (  5, 32   )     ref  ->  [rbp-0x68]  class-hnd exact spill-single-def <int[]>
 ;* V07 loc5         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Collections.ArrayList>
 ;* V08 loc6         [V08,T50] (  0,  0   )     int  ->  zero-ref   
 ;* V09 loc7         [V09,T51] (  0,  0   )     int  ->  zero-ref   
 ;  V10 loc8         [V10,T53] (  6,  2.50)     ref  ->  rax         class-hnd <System.IDisposable>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T43] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
+;  V12 tmp1         [V12,T43] (  3,  6   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V13 tmp2         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "non-inline candidate call" <System.Data.DataTableCollection>
 ;  V14 tmp3         [V14,T26] (  2, 16   )     int  ->  rax         "Strict ordering of exceptions for Array store"
 ;  V15 tmp4         [V15,T06] (  2, 64   )     int  ->  rax         "Strict ordering of exceptions for Array store"
 ;* V16 tmp5         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "non-inline candidate call" <System.Data.DataTableCollection>
 ;  V17 tmp6         [V17,T27] (  2, 16   )     int  ->  rax         "Strict ordering of exceptions for Array store"
 ;  V18 tmp7         [V18,T07] (  2, 64   )     int  ->  rax         "Strict ordering of exceptions for Array store"
-;  V19 tmp8         [V19,T00] ( 47,348   )     ref  ->  r12         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
-;  V20 tmp9         [V20,T17] (  3, 24   )     ref  ->  [rbp-0x68]  class-hnd exact spill-single-def "Single-def Box Helper" <System.Boolean>
+;  V19 tmp8         [V19,T00] ( 47,348   )     ref  ->  r13         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
+;  V20 tmp9         [V20,T17] (  3, 24   )     ref  ->  r12         class-hnd exact "Single-def Box Helper" <System.Boolean>
 ;* V21 tmp10        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Data.DataColumn>
 ;* V22 tmp11        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Data.DataColumn>
 ;  V23 tmp12        [V23,T20] (  2, 16   )     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
 ;  V24 tmp13        [V24,T37] (  2,  8   )     int  ->  rsi         "Inline stloc first use temp"
 ;  V25 tmp14        [V25,T38] (  2,  8   )     int  ->  rsi         "Inline stloc first use temp"
 ;  V26 tmp15        [V26,T39] (  2,  8   )     int  ->  rdi         "Inline stloc first use temp"
 ;* V27 tmp16        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Boolean>
 ;  V28 tmp17        [V28,T40] (  2,  8   )     int  ->  rsi         "Inline stloc first use temp"
-;  V29 tmp18        [V29,T21] (  2, 16   )     ref  ->  r13         class-hnd "Inlining Arg" <System.Data.PropertyCollection>
+;  V29 tmp18        [V29,T21] (  2, 16   )     ref  ->  r14         class-hnd "Inlining Arg" <System.Data.PropertyCollection>
 ;  V30 tmp19        [V30,T41] (  2,  8   )     int  ->  rsi         "Inline stloc first use temp"
 ;  V31 tmp20        [V31,T42] (  2,  8   )     int  ->  rdi         "Inline stloc first use temp"
 ;* V32 tmp21        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
 ;* V33 tmp22        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,int]>
 ;* V34 tmp23        [V34    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V35 tmp24        [V35,T48] (  2,  4   )     ref  ->  r15         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
+;  V35 tmp24        [V35,T48] (  2,  4   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
 ;  V36 tmp25        [V36,T58] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.SerializationException>
 ;  V37 tmp26        [V37,T44] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,int]>
 ;  V38 tmp27        [V38,T49] (  2,  4   )     int  ->  rdx         "Inlining Arg"
-;  V39 tmp28        [V39,T45] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
+;  V39 tmp28        [V39,T45] (  3,  6   )     ref  ->  rax         single-def "argument with side effect"
 ;  V40 tmp29        [V40,T18] (  3, 18   )     ref  ->  rax         "argument with side effect"
 ;  V41 tmp30        [V41,T28] (  2, 16   )    long  ->  rsi         "argument with side effect"
 ;  V42 tmp31        [V42,T22] (  2, 16   )     ref  ->  rsi         "argument with side effect"
 ;  V43 tmp32        [V43,T23] (  2, 16   )     ref  ->  [rbp-0x78]  spill-single-def "argument with side effect"
 ;  V44 tmp33        [V44,T01] (  3, 96   )     ref  ->  rax         "arr expr"
 ;  V45 tmp34        [V45,T29] (  2, 16   )    long  ->  rsi         "argument with side effect"
 ;  V46 tmp35        [V46,T24] (  2, 16   )     ref  ->  rsi         "argument with side effect"
 ;  V47 tmp36        [V47,T25] (  2, 16   )     ref  ->  [rbp-0x80]  spill-single-def "argument with side effect"
 ;  V48 tmp37        [V48,T02] (  3, 96   )     ref  ->  rax         "arr expr"
 ;* V49 tmp38        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
 ;* V50 tmp39        [V50    ] (  0,  0   )     int  ->  zero-ref    "index expr"
 ;* V51 tmp40        [V51    ] (  0,  0   )     ref  ->  zero-ref    single-def "arr expr"
 ;* V52 tmp41        [V52    ] (  0,  0   )    long  ->  zero-ref    "index expr"
 ;* V53 tmp42        [V53    ] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V54 tmp43        [V54,T46] (  3,  6   )     ref  ->  rsi         single-def "arr expr"
 ;  V55 tmp44        [V55,T47] (  3,  6   )     int  ->  rdx         "index expr"
 ;  V56 tmp45        [V56,T59] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V57 PSPSym       [V57,T57] (  1,  1   )    long  ->  [rbp-0x90]  do-not-enreg[V] "PSPSym"
 ;* V58 cse0         [V58,T56] (  0,  0   )   byref  ->  zero-ref    "CSE #10: conservative"
-;  V59 cse1         [V59,T08] (  6, 48   )    long  ->  r12         "CSE #03: moderate"
-;  V60 cse2         [V60,T19] (  4, 16   )    long  ->  [rbp-0x30]  spill-single-def "CSE #12: moderate"
+;  V59 cse1         [V59,T08] (  6, 48   )    long  ->  r13         "CSE #03: moderate"
+;  V60 cse2         [V60,T19] (  4, 16   )    long  ->  [rbp-0x38]  spill-single-def "CSE #12: moderate"
 ;  V61 cse3         [V61,T54] (  2,  2   )     ref  ->  rdi         "CSE #21: conservative"
 ;  V62 cse4         [V62,T55] (  2,  2   )     int  ->  rdx         "CSE #22: conservative"
 ;  V63 cse5         [V63,T52] (  3,  3   )     int  ->  rdi         "CSE #24: conservative"
-;  V64 cse6         [V64,T15] (  4, 28   )     int  ->  [rbp-0x34]  spill-single-def "CSE #02: moderate"
-;  V65 cse7         [V65,T16] (  4, 28   )     int  ->  [rbp-0x38]  spill-single-def "CSE #06: moderate"
+;  V64 cse6         [V64,T15] (  4, 28   )     int  ->  [rbp-0x3C]  spill-single-def "CSE #02: moderate"
+;  V65 cse7         [V65,T16] (  4, 28   )     int  ->  [rbp-0x40]  spill-single-def "CSE #06: moderate"
 ;  V66 cse8         [V66,T09] (  3, 48   )     int  ->  rcx         "CSE #04: moderate"
 ;  V67 cse9         [V67,T10] (  3, 48   )     int  ->  rcx         "CSE #07: moderate"
 ;  V68 cse10        [V68,T31] (  4, 14   )     int  ->  rsi         "CSE #14: moderate"
 ;  V69 cse11        [V69,T32] (  4, 14   )     int  ->  rsi         "CSE #15: moderate"
 ;  V70 cse12        [V70,T33] (  4, 14   )     int  ->  rsi         "CSE #17: moderate"
-;  V71 rat0         [V71,T03] (  6, 84   )    long  ->  [rbp-0x40]  "Widened IV V08"
-;  V72 rat1         [V72,T04] (  6, 84   )    long  ->  [rbp-0x48]  "Widened IV V09"
-;  V73 rat2         [V73,T14] (  5, 30   )     ref  ->  r13         "replacement local"
+;  V71 rat0         [V71,T03] (  6, 84   )    long  ->  [rbp-0x48]  "Widened IV V08"
+;  V72 rat1         [V72,T04] (  6, 84   )    long  ->  [rbp-0x50]  "Widened IV V09"
+;  V73 rat2         [V73,T14] (  5, 30   )     ref  ->  r14         "replacement local"
 ;  V74 rat3         [V74,T36] (  3, 10   )    long  ->  rdi         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 104
 
 G_M4960_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 104
        lea      rbp, [rsp+0x90]
        mov      qword ptr [rbp-0x90], rsp
-       mov      r15, rdi
+       mov      qword ptr [rbp-0x30], rdi
+       mov      gword ptr [rbp-0x58], rdi
        mov      rbx, rsi
-						;; size=35 bbWeight=1 PerfScore 8.25
+						;; size=40 bbWeight=1 PerfScore 10.00
 G_M4960_IG02:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.ArrayList
        call     CORINFO_HELP_NEWSFAST
-       mov      r14, rax
+       mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M4960_IG34
+       je       G_M4960_IG33
 						;; size=37 bbWeight=1 PerfScore 5.75
 G_M4960_IG03:
        mov      rdi, 0xD1FFAB1E      ; data for System.Array+EmptyArray`1[System.Object]:Value
        mov      rsi, gword ptr [rdi]
-       lea      rdi, bword ptr [r14+0x08]
+       lea      rdi, bword ptr [r15+0x08]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rdi, gword ptr [r15+0x28]
-       mov      rax, qword ptr [rdi]
+       mov      rdi, gword ptr [rbp-0x58]
+       mov      rax, gword ptr [rdi+0x28]
+       mov      rdi, rax
+       mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x30]System.Data.InternalDataCollectionBase:GetEnumerator():System.Collections.IEnumerator:this
-       mov      gword ptr [rbp-0x50], rax
-						;; size=40 bbWeight=1 PerfScore 13.75
+       mov      gword ptr [rbp-0x60], rax
+						;; size=47 bbWeight=1 PerfScore 15.00
 G_M4960_IG04:
        mov      rdi, rax
        mov      r11, 0xD1FFAB1E      ; function address
        call     [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
        test     eax, eax
-       je       G_M4960_IG28
+       je       G_M4960_IG27
 						;; size=24 bbWeight=1 PerfScore 4.75
 G_M4960_IG05:
-       mov      rdi, gword ptr [rbp-0x50]
+       mov      rdi, gword ptr [rbp-0x60]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:get_Current():System.Object:this
        call     [r11]System.Collections.IEnumerator:get_Current():System.Object:this
-       mov      r13, rax
-       test     r13, r13
+       mov      r14, rax
+       test     r14, r14
        je       SHORT G_M4960_IG08
 						;; size=25 bbWeight=4 PerfScore 23.00
 G_M4960_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.Data.DataRelation
-       cmp      qword ptr [r13], rdi
+       cmp      qword ptr [r14], rdi
        je       SHORT G_M4960_IG08
-						;; size=16 bbWeight=2 PerfScore 8.50
+						;; size=15 bbWeight=2 PerfScore 8.50
 G_M4960_IG07:
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
-       mov      r13, rax
+       mov      r14, rax
 						;; size=18 bbWeight=1 PerfScore 3.75
 G_M4960_IG08:
-       mov      rdi, r13
-       mov      rax, qword ptr [r13]
-       mov      r12, qword ptr [rax+0x40]
-       call     [r12+0x38]System.Data.DataRelation:get_ParentColumns():System.Data.DataColumn[]:this
+       mov      rdi, r14
+       mov      rax, qword ptr [r14]
+       mov      r13, qword ptr [rax+0x40]
+       call     [r13+0x38]System.Data.DataRelation:get_ParentColumns():System.Data.DataColumn[]:this
        mov      esi, dword ptr [rax+0x08]
        inc      esi
        movsxd   rsi, esi
        mov      rdi, 0xD1FFAB1E      ; int[]
        call     CORINFO_HELP_NEWARR_1_VC
-       mov      gword ptr [rbp-0x58], rax
-       mov      rcx, gword ptr [r15+0x20]
-       mov      gword ptr [rbp-0x78], rcx
-       mov      rdi, r13
-       mov      rdx, qword ptr [r13]
-       mov      rdx, qword ptr [rdx+0x48]
-       mov      qword ptr [rbp-0x30], rdx
-       call     [rdx]System.Data.DataRelation:get_ParentTable():System.Data.DataTable:this
+       mov      r12, rax
+       mov      rdi, gword ptr [rbp-0x58]
+       mov      rax, gword ptr [rdi+0x20]
+       mov      gword ptr [rbp-0x78], rax
+       mov      rdi, r14
+       mov      rcx, qword ptr [r14]
+       mov      rcx, qword ptr [rcx+0x48]
+       mov      qword ptr [rbp-0x38], rcx
+       call     [rcx]System.Data.DataRelation:get_ParentTable():System.Data.DataTable:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0x78]
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataTableCollection:IndexOf(System.Data.DataTable):int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Data.DataTableCollection:IndexOf(System.Data.DataTable):int:this
-       mov      rcx, gword ptr [rbp-0x58]
-       mov      edx, dword ptr [rcx+0x08]
-       mov      dword ptr [rbp-0x34], edx
-       test     edx, edx
-       je       G_M4960_IG27
-       mov      dword ptr [rcx+0x10], eax
-       mov      qword ptr [rbp-0x40], 1
-       cmp      edx, 1
+       mov      ecx, dword ptr [r12+0x08]
+       mov      dword ptr [rbp-0x3C], ecx
+       test     ecx, ecx
+       je       G_M4960_IG26
+       mov      dword ptr [r12+0x10], eax
+       mov      qword ptr [rbp-0x48], 1
+       cmp      ecx, 1
        jle      SHORT G_M4960_IG10
-						;; size=123 bbWeight=4 PerfScore 157.00
+						;; size=123 bbWeight=4 PerfScore 154.00
 G_M4960_IG09:
-       mov      rdi, r13
-       call     [r12+0x38]System.Data.DataRelation:get_ParentColumns():System.Data.DataColumn[]:this
-       mov      rdi, qword ptr [rbp-0x40]
+       mov      rdi, r14
+       call     [r13+0x38]System.Data.DataRelation:get_ParentColumns():System.Data.DataColumn[]:this
+       mov      rdi, qword ptr [rbp-0x48]
        lea      ecx, [rdi-0x01]
        cmp      ecx, dword ptr [rax+0x08]
-       jae      G_M4960_IG27
+       jae      G_M4960_IG26
        mov      rax, gword ptr [rax+8*rcx+0x10]
        mov      eax, dword ptr [rax+0xAC]
-       mov      rcx, gword ptr [rbp-0x58]
-       mov      dword ptr [rcx+4*rdi+0x10], eax
+       mov      dword ptr [r12+4*rdi+0x10], eax
        inc      edi
-       mov      edx, dword ptr [rbp-0x34]
-       cmp      edx, edi
-       mov      qword ptr [rbp-0x40], rdi
+       mov      ecx, dword ptr [rbp-0x3C]
+       cmp      ecx, edi
+       mov      qword ptr [rbp-0x48], rdi
        jg       SHORT G_M4960_IG09
-						;; size=56 bbWeight=16 PerfScore 292.00
+						;; size=52 bbWeight=16 PerfScore 276.00
 G_M4960_IG10:
-       mov      rdi, r13
-       call     [r12+0x20]System.Data.DataRelation:get_ChildColumns():System.Data.DataColumn[]:this
+       mov      rdi, r14
+       call     [r13+0x20]System.Data.DataRelation:get_ChildColumns():System.Data.DataColumn[]:this
        mov      esi, dword ptr [rax+0x08]
        inc      esi
        movsxd   rsi, esi
        mov      rdi, 0xD1FFAB1E      ; int[]
        call     CORINFO_HELP_NEWARR_1_VC
-       mov      gword ptr [rbp-0x60], rax
-       mov      rcx, gword ptr [r15+0x20]
+       mov      gword ptr [rbp-0x68], rax
+       mov      rdi, gword ptr [rbp-0x58]
+       mov      rcx, gword ptr [rdi+0x20]
        mov      gword ptr [rbp-0x80], rcx
-       mov      rdi, r13
-       call     [r12+0x28]System.Data.DataRelation:get_ChildTable():System.Data.DataTable:this
+       mov      rdi, r14
+       call     [r13+0x28]System.Data.DataRelation:get_ChildTable():System.Data.DataTable:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbp-0x80]
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataTableCollection:IndexOf(System.Data.DataTable):int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Data.DataTableCollection:IndexOf(System.Data.DataTable):int:this
-       mov      rcx, gword ptr [rbp-0x60]
+       mov      rcx, gword ptr [rbp-0x68]
        mov      edx, dword ptr [rcx+0x08]
-       mov      dword ptr [rbp-0x38], edx
+       mov      dword ptr [rbp-0x40], edx
        test     edx, edx
-       je       G_M4960_IG27
+       je       G_M4960_IG26
        mov      dword ptr [rcx+0x10], eax
-       mov      qword ptr [rbp-0x48], 1
+       mov      qword ptr [rbp-0x50], 1
        cmp      edx, 1
        jle      SHORT G_M4960_IG12
-						;; size=106 bbWeight=4 PerfScore 121.00
+						;; size=108 bbWeight=4 PerfScore 125.00
 G_M4960_IG11:
-       mov      rdi, r13
-       call     [r12+0x20]System.Data.DataRelation:get_ChildColumns():System.Data.DataColumn[]:this
-       mov      rdi, qword ptr [rbp-0x48]
+       mov      rdi, r14
+       call     [r13+0x20]System.Data.DataRelation:get_ChildColumns():System.Data.DataColumn[]:this
+       mov      rdi, qword ptr [rbp-0x50]
        lea      ecx, [rdi-0x01]
        cmp      ecx, dword ptr [rax+0x08]
-       jae      G_M4960_IG27
+       jae      G_M4960_IG26
        mov      rax, gword ptr [rax+8*rcx+0x10]
        mov      eax, dword ptr [rax+0xAC]
-       mov      rcx, gword ptr [rbp-0x60]
+       mov      rcx, gword ptr [rbp-0x68]
        mov      dword ptr [rcx+4*rdi+0x10], eax
        inc      edi
-       mov      edx, dword ptr [rbp-0x38]
+       mov      edx, dword ptr [rbp-0x40]
        cmp      edx, edi
-       mov      qword ptr [rbp-0x48], rdi
+       mov      qword ptr [rbp-0x50], rdi
        jg       SHORT G_M4960_IG11
-						;; size=56 bbWeight=16 PerfScore 292.00
+						;; size=55 bbWeight=16 PerfScore 292.00
 G_M4960_IG12:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.ArrayList
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
+       mov      r13, rax
        mov      rdi, 0xD1FFAB1E      ; data for System.Array+EmptyArray`1[System.Object]:Value
        mov      rsi, gword ptr [rdi]
-       lea      rdi, bword ptr [r12+0x08]
+       lea      rdi, bword ptr [r13+0x08]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rdi, r13
-       mov      rax, qword ptr [rbp-0x30]
+       mov      rdi, r14
+       mov      rax, qword ptr [rbp-0x38]
        call     [rax+0x08]System.Data.DataRelation:get_RelationName():System.String:this
        mov      gword ptr [rbp-0x70], rax
-       mov      esi, dword ptr [r12+0x10]
-       mov      rdi, gword ptr [r12+0x08]
+       mov      esi, dword ptr [r13+0x10]
+       mov      rdi, gword ptr [r13+0x08]
        cmp      esi, dword ptr [rdi+0x08]
-       jne      G_M4960_IG26
-						;; size=74 bbWeight=4 PerfScore 74.00
+       jne      G_M4960_IG25
+						;; size=71 bbWeight=4 PerfScore 74.00
 G_M4960_IG13:
-       mov      esi, dword ptr [r12+0x10]
+       mov      esi, dword ptr [r13+0x10]
        inc      esi
-       mov      rdi, r12
+       mov      rdi, r13
        mov      rcx, 0xD1FFAB1E      ; code for System.Collections.ArrayList:EnsureCapacity(int):this
        call     [rcx]System.Collections.ArrayList:EnsureCapacity(int):this
        mov      rax, gword ptr [rbp-0x70]
-						;; size=26 bbWeight=2 PerfScore 13.50
+						;; size=25 bbWeight=2 PerfScore 13.50
 G_M4960_IG14:
-       movsxd   rsi, dword ptr [r12+0x10]
-       mov      rdi, gword ptr [r12+0x08]
+       movsxd   rsi, dword ptr [r13+0x10]
+       mov      rdi, gword ptr [r13+0x08]
        mov      rdx, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
-       inc      dword ptr [r12+0x14]
-       mov      esi, dword ptr [r12+0x10]
+       inc      dword ptr [r13+0x14]
+       mov      esi, dword ptr [r13+0x10]
        inc      esi
-       mov      dword ptr [r12+0x10], esi
-       mov      rdi, gword ptr [r12+0x08]
+       mov      dword ptr [r13+0x10], esi
+       mov      rdi, gword ptr [r13+0x08]
        cmp      dword ptr [rdi+0x08], esi
        jne      SHORT G_M4960_IG16
-						;; size=52 bbWeight=4 PerfScore 87.00
+						;; size=46 bbWeight=4 PerfScore 87.00
 G_M4960_IG15:
        inc      esi
-       mov      rdi, r12
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.ArrayList:EnsureCapacity(int):this
        call     [rax]System.Collections.ArrayList:EnsureCapacity(int):this
 						;; size=17 bbWeight=2 PerfScore 7.50
 G_M4960_IG16:
-       movsxd   rsi, dword ptr [r12+0x10]
-       mov      rdi, gword ptr [r12+0x08]
-       mov      rdx, gword ptr [rbp-0x58]
+       movsxd   rsi, dword ptr [r13+0x10]
+       mov      rdi, gword ptr [r13+0x08]
+       mov      rdx, r12
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
-       inc      dword ptr [r12+0x14]
-       mov      esi, dword ptr [r12+0x10]
+       inc      dword ptr [r13+0x14]
+       mov      esi, dword ptr [r13+0x10]
        inc      esi
-       mov      dword ptr [r12+0x10], esi
-       mov      rdi, gword ptr [r12+0x08]
+       mov      dword ptr [r13+0x10], esi
+       mov      rdi, gword ptr [r13+0x08]
        cmp      dword ptr [rdi+0x08], esi
        jne      SHORT G_M4960_IG18
-						;; size=53 bbWeight=4 PerfScore 90.00
+						;; size=46 bbWeight=4 PerfScore 87.00
 G_M4960_IG17:
        inc      esi
-       mov      rdi, r12
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.ArrayList:EnsureCapacity(int):this
        call     [rax]System.Collections.ArrayList:EnsureCapacity(int):this
 						;; size=17 bbWeight=2 PerfScore 7.50
 G_M4960_IG18:
-       movsxd   rsi, dword ptr [r12+0x10]
-       mov      rdi, gword ptr [r12+0x08]
-       mov      rdx, gword ptr [rbp-0x60]
+       movsxd   rsi, dword ptr [r13+0x10]
+       mov      rdi, gword ptr [r13+0x08]
+       mov      rdx, gword ptr [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
-       inc      dword ptr [r12+0x14]
-       mov      edi, dword ptr [r12+0x10]
+       inc      dword ptr [r13+0x14]
+       mov      edi, dword ptr [r13+0x10]
        inc      edi
-       mov      dword ptr [r12+0x10], edi
+       mov      dword ptr [r13+0x10], edi
        mov      rdi, 0xD1FFAB1E      ; System.Boolean
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x68], rax
-       mov      rdi, r13
-       mov      rcx, qword ptr [rbp-0x30]
-       call     [rcx+0x18]System.Data.DataRelation:get_Nested():ubyte:this
-       mov      rcx, gword ptr [rbp-0x68]
-       mov      byte  ptr [rcx+0x08], al
-       mov      esi, dword ptr [r12+0x10]
-       mov      rdi, gword ptr [r12+0x08]
+       mov      r12, rax
+       mov      rdi, r14
+       mov      rax, qword ptr [rbp-0x38]
+       call     [rax+0x18]System.Data.DataRelation:get_Nested():ubyte:this
+       mov      byte  ptr [r12+0x08], al
+       mov      esi, dword ptr [r13+0x10]
+       mov      rdi, gword ptr [r13+0x08]
        cmp      esi, dword ptr [rdi+0x08]
-       jne      G_M4960_IG25
-						;; size=98 bbWeight=4 PerfScore 132.00
+       jne      SHORT G_M4960_IG20
+						;; size=84 bbWeight=4 PerfScore 125.00
 G_M4960_IG19:
-       mov      esi, dword ptr [r12+0x10]
+       mov      esi, dword ptr [r13+0x10]
        inc      esi
-       mov      rdi, r12
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.ArrayList:EnsureCapacity(int):this
        call     [rax]System.Collections.ArrayList:EnsureCapacity(int):this
-       mov      rcx, gword ptr [rbp-0x68]
-						;; size=26 bbWeight=2 PerfScore 13.50
+						;; size=21 bbWeight=2 PerfScore 11.50
 G_M4960_IG20:
-       mov      rdx, rcx
-       movsxd   rsi, dword ptr [r12+0x10]
-       mov      rdi, gword ptr [r12+0x08]
+       mov      rdx, r12
+       movsxd   rsi, dword ptr [r13+0x10]
+       mov      rdi, gword ptr [r13+0x08]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
-       inc      dword ptr [r12+0x14]
-       mov      esi, dword ptr [r12+0x10]
+       inc      dword ptr [r13+0x14]
+       mov      esi, dword ptr [r13+0x10]
        inc      esi
-       mov      dword ptr [r12+0x10], esi
-       mov      r13, gword ptr [r13+0x10]
-       mov      rdi, gword ptr [r12+0x08]
+       mov      dword ptr [r13+0x10], esi
+       mov      r14, gword ptr [r14+0x10]
+       mov      rdi, gword ptr [r13+0x08]
        cmp      dword ptr [rdi+0x08], esi
        jne      SHORT G_M4960_IG22
-						;; size=56 bbWeight=4 PerfScore 95.00
+						;; size=50 bbWeight=4 PerfScore 95.00
 G_M4960_IG21:
        inc      esi
-       mov      rdi, r12
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.ArrayList:EnsureCapacity(int):this
        call     [rax]System.Collections.ArrayList:EnsureCapacity(int):this
 						;; size=17 bbWeight=2 PerfScore 7.50
 G_M4960_IG22:
-       movsxd   rsi, dword ptr [r12+0x10]
-       mov      rdi, gword ptr [r12+0x08]
-       mov      rdx, r13
+       movsxd   rsi, dword ptr [r13+0x10]
+       mov      rdi, gword ptr [r13+0x08]
+       mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
-       inc      dword ptr [r12+0x14]
-       mov      esi, dword ptr [r12+0x10]
+       inc      dword ptr [r13+0x14]
+       mov      esi, dword ptr [r13+0x10]
        inc      esi
-       mov      dword ptr [r12+0x10], esi
-       mov      esi, dword ptr [r14+0x10]
-       mov      rdi, gword ptr [r14+0x08]
+       mov      dword ptr [r13+0x10], esi
+       mov      esi, dword ptr [r15+0x10]
+       mov      rdi, gword ptr [r15+0x08]
        cmp      esi, dword ptr [rdi+0x08]
        jne      SHORT G_M4960_IG24
-						;; size=55 bbWeight=4 PerfScore 95.00
+						;; size=50 bbWeight=4 PerfScore 95.00
 G_M4960_IG23:
-       mov      esi, dword ptr [r14+0x10]
+       mov      esi, dword ptr [r15+0x10]
        inc      esi
-       mov      rdi, r14
+       mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.ArrayList:EnsureCapacity(int):this
        call     [rax]System.Collections.ArrayList:EnsureCapacity(int):this
 						;; size=21 bbWeight=2 PerfScore 11.50
 G_M4960_IG24:
-       movsxd   rsi, dword ptr [r14+0x10]
-       mov      rdi, gword ptr [r14+0x08]
-       mov      rdx, r12
+       movsxd   rsi, dword ptr [r15+0x10]
+       mov      rdi, gword ptr [r15+0x08]
+       mov      rdx, r13
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
-       inc      dword ptr [r14+0x14]
-       mov      edi, dword ptr [r14+0x10]
+       inc      dword ptr [r15+0x14]
+       mov      edi, dword ptr [r15+0x10]
        inc      edi
-       mov      dword ptr [r14+0x10], edi
-       mov      rdi, gword ptr [rbp-0x50]
+       mov      dword ptr [r15+0x10], edi
+       mov      rdi, gword ptr [rbp-0x60]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
        call     [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
        test     eax, eax
        jne      G_M4960_IG05
-       jmp      SHORT G_M4960_IG28
+       jmp      SHORT G_M4960_IG27
 						;; size=64 bbWeight=4 PerfScore 93.00
 G_M4960_IG25:
-       mov      rcx, gword ptr [rbp-0x68]
-       jmp      G_M4960_IG20
-						;; size=9 bbWeight=2 PerfScore 6.00
-G_M4960_IG26:
        mov      rax, gword ptr [rbp-0x70]
        jmp      G_M4960_IG14
 						;; size=9 bbWeight=2 PerfScore 6.00
-G_M4960_IG27:
+G_M4960_IG26:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-G_M4960_IG28:
-       mov      rsi, gword ptr [rbp-0x50]
+G_M4960_IG27:
+       mov      rsi, gword ptr [rbp-0x60]
        mov      rdi, 0xD1FFAB1E      ; System.IDisposable
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
        call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
        test     rax, rax
-       je       SHORT G_M4960_IG30
+       je       SHORT G_M4960_IG29
 						;; size=31 bbWeight=1 PerfScore 5.75
-G_M4960_IG29:
+G_M4960_IG28:
        mov      rdi, rax
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=16 bbWeight=0.50 PerfScore 1.75
-G_M4960_IG30:
+G_M4960_IG29:
        cmp      byte  ptr [rbx], bl
-       mov      rdi, r14
+       mov      rdi, r15
        call     System.Object:GetType():System.Type:this
-       mov      r15, rax
+       mov      r14, rax
        mov      rdi, gword ptr [rbx+0x20]
        mov      edx, dword ptr [rbx+0x48]
        cmp      byte  ptr [rdi], dil
        mov      rsi, 0xD1FFAB1E      ; 'DataSet.Relations'
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        call     [rax]System.Collections.Generic.Dictionary`2[System.__Canon,int]:TryInsert(System.__Canon,int,ubyte):ubyte:this
        test     eax, eax
-       je       G_M4960_IG35
+       je       G_M4960_IG34
 						;; size=55 bbWeight=1 PerfScore 16.50
-G_M4960_IG31:
+G_M4960_IG30:
        mov      edi, dword ptr [rbx+0x48]
        mov      rax, gword ptr [rbx+0x08]
        cmp      edi, dword ptr [rax+0x08]
-       jl       SHORT G_M4960_IG32
+       jl       SHORT G_M4960_IG31
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
        call     [rax]System.Runtime.Serialization.SerializationInfo:ExpandArrays():this
 						;; size=27 bbWeight=0.50 PerfScore 5.75
-G_M4960_IG32:
+G_M4960_IG31:
        mov      rsi, gword ptr [rbx+0x08]
        mov      edi, dword ptr [rbx+0x48]
        mov      edx, edi
        cmp      edx, dword ptr [rsi+0x08]
-       jae      G_M4960_IG36
+       jae      G_M4960_IG35
        mov      rax, 0xD1FFAB1E      ; 'DataSet.Relations'
        mov      gword ptr [rsi+8*rdx+0x10], rax
        movsxd   rsi, edi
        mov      rdi, gword ptr [rbx+0x10]
-       mov      rdx, r14
+       mov      rdx, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        movsxd   rsi, dword ptr [rbx+0x48]
        mov      rdi, gword ptr [rbx+0x18]
-       mov      rdx, r15
+       mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        inc      dword ptr [rbx+0x48]
 						;; size=81 bbWeight=1 PerfScore 27.75
-G_M4960_IG33:
+G_M4960_IG32:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M4960_IG34:
+G_M4960_IG33:
        mov      rdi, 0xD1FFAB1E      ; System.Array+EmptyArray`1[System.Object]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M4960_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M4960_IG35:
+G_M4960_IG34:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.Serialization.SerializationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Serialization_SameNameTwice():System.String
        call     [rax]System.SR:get_Serialization_SameNameTwice():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        call     [rax]System.Runtime.Serialization.SerializationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
-G_M4960_IG36:
+G_M4960_IG35:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-G_M4960_IG37:
+G_M4960_IG36:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x90]
 						;; size=25 bbWeight=0 PerfScore 0.00
-G_M4960_IG38:
-       mov      rsi, gword ptr [rbp-0x50]
+G_M4960_IG37:
+       mov      rsi, gword ptr [rbp-0x60]
        mov      rdi, 0xD1FFAB1E      ; System.IDisposable
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
        call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
        test     rax, rax
-       je       SHORT G_M4960_IG39
+       je       SHORT G_M4960_IG38
        mov      rdi, rax
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=47 bbWeight=0 PerfScore 0.00
-G_M4960_IG39:
+G_M4960_IG38:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
-G_M4960_IG40:
+G_M4960_IG39:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1532, prolog size 35, PerfScore 1730.50, instruction count 367, allocated bytes for code 1532 (MethodHash=8d0cec9f) for method System.Data.DataSet:SerializeRelations(System.Runtime.Serialization.SerializationInfo):this (FullOpts)
+; Total bytes of code 1484, prolog size 40, PerfScore 1700.50, instruction count 366, allocated bytes for code 1484 (MethodHash=8d0cec9f) for method System.Data.DataSet:SerializeRelations(System.Runtime.Serialization.SerializationInfo):this (FullOpts)
-37 (-3.78 % of base) - System.Net.WebClient:UploadBits(System.Net.WebRequest,System.IO.FileStream,ubyte[],int,ubyte[],ubyte[]):ubyte[]:this
 ; Assembly listing for method System.Net.WebClient:UploadBits(System.Net.WebRequest,System.IO.FileStream,ubyte[],int,ubyte[],ubyte[]):ubyte[]:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 8 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T12] (  3,  3   )     ref  ->  r12         this class-hnd single-def <System.Net.WebClient>
-;  V01 arg1         [V01,T08] (  8,  7   )     ref  ->  [rbp-0x38]  class-hnd EH-live single-def <System.Net.WebRequest>
+;  V00 this         [V00,T12] (  3,  3   )     ref  ->  [rbp-0x40]  this class-hnd EH-live single-def <System.Net.WebClient>
+;  V01 arg1         [V01,T08] (  8,  7   )     ref  ->  [rbp-0x48]  class-hnd EH-live single-def <System.Net.WebRequest>
 ;  V02 arg2         [V02,T05] (  6, 11.50)     ref  ->  r15         class-hnd single-def <System.IO.FileStream>
 ;  V03 arg3         [V03,T00] (  7, 18.50)     ref  ->  rbx         class-hnd single-def <ubyte[]>
 ;  V04 arg4         [V04,T06] (  5, 10   )     int  ->  r14         single-def
-;  V05 arg5         [V05,T11] (  6,  4.50)     ref  ->  [rbp-0x40]  class-hnd <ubyte[]>
-;  V06 arg6         [V06,T14] (  4,  2.50)     ref  ->  [rbp+0x10]  class-hnd <ubyte[]>
-;  V07 loc0         [V07,T02] ( 13, 19.50)     ref  ->  [rbp-0x48]  must-init class-hnd EH-live single-def <System.IO.Stream>
-;  V08 loc1         [V08,T20] (  4,  0.50)     ref  ->  [rbp-0x50]  must-init class-hnd EH-live single-def <System.IO.FileStream>
+;  V05 arg5         [V05,T11] (  6,  4.50)     ref  ->  r13         class-hnd <ubyte[]>
+;  V06 arg6         [V06,T14] (  4,  2.50)     ref  ->  r12         class-hnd <ubyte[]>
+;  V07 loc0         [V07,T02] ( 13, 19.50)     ref  ->  [rbp-0x50]  must-init class-hnd EH-live single-def <System.IO.Stream>
+;  V08 loc1         [V08,T20] (  4,  0.50)     ref  ->  [rbp-0x58]  must-init class-hnd EH-live single-def <System.IO.FileStream>
 ;  V09 loc2         [V09,T07] (  3, 12   )     int  ->  rax        
 ;  V10 loc3         [V10,T01] (  6, 20.50)     int  ->  r15        
-;  V11 loc4         [V11,T04] (  5, 16   )     int  ->  [rbp-0x2C] 
+;  V11 loc4         [V11,T04] (  5, 16   )     int  ->  [rbp-0x34] 
 ;  V12 loc5         [V12,T16] (  2,  2   )     ref  ->  rax         class-hnd single-def <ubyte[]>
-;  V13 loc6         [V13,T21] (  5,  0   )     ref  ->  [rbp-0x58]  must-init class-hnd EH-live single-def <System.Exception>
+;  V13 loc6         [V13,T21] (  5,  0   )     ref  ->  [rbp-0x60]  must-init class-hnd EH-live single-def <System.Exception>
 ;# V14 OutArgs      [V14    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V15 tmp1         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.IO.ChunkedMemoryStream>
 ;  V16 tmp2         [V16,T25] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
 ;  V17 tmp3         [V17,T22] (  3,  0   )     ref  ->  rsi         class-hnd single-def "dup spill" <System.Exception>
 ;* V18 tmp4         [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V19 tmp5         [V19,T24] (  3,  0   )     int  ->  rax        
 ;* V20 tmp6         [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V21 tmp7         [V21,T23] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Net.WebException>
-;  V22 tmp8         [V22,T09] (  5,  7   )     ref  ->  [rbp-0x60]  class-hnd exact single-def "Inlining Arg" <System.String>
+;  V22 tmp8         [V22,T09] (  5,  7   )     ref  ->  [rbp-0x68]  class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V23 tmp9         [V23,T10] (  5,  7   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V24 tmp10        [V24,T15] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
-;  V25 tmp11        [V25,T17] (  2,  2   )   byref  ->   r8         single-def "impAppendStmt"
+;  V25 tmp11        [V25,T17] (  2,  2   )   byref  ->  rcx         single-def "impAppendStmt"
 ;  V26 tmp12        [V26,T13] (  2,  4   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V27 tmp13        [V27,T26] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V28 PSPSym       [V28,T19] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
-;  V29 cse0         [V29,T03] (  6, 17   )     int  ->  [rbp-0x30]  multi-def "CSE #05: aggressive"
-;  V30 cse1         [V30,T18] (  3,  1.50)     int  ->  registers   "CSE #01: moderate"
+;  V29 cse0         [V29,T03] (  6, 17   )     int  ->  r13         multi-def "CSE #05: aggressive"
+;  V30 cse1         [V30,T18] (  3,  1.50)     int  ->  rax         "CSE #01: moderate"
 ;
 ; Lcl frame size = 72
 
 G_M33478_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 72
        lea      rbp, [rsp+0x70]
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu  xmmword ptr [rbp-0x58], xmm8
+       vmovdqa  xmmword ptr [rbp-0x60], xmm8
        xor      eax, eax
-       mov      qword ptr [rbp-0x48], rax
+       mov      qword ptr [rbp-0x50], rax
        mov      qword ptr [rbp-0x70], rsp
-       mov      gword ptr [rbp-0x38], rsi
-       mov      r12, rdi
+       mov      qword ptr [rbp-0x30], rdi
+       mov      gword ptr [rbp-0x40], rdi
+       mov      gword ptr [rbp-0x48], rsi
        mov      rax, rsi
        mov      r15, rdx
        mov      rbx, rcx
        mov      r14d, r8d
        mov      r13, r9
-						;; size=61 bbWeight=1 PerfScore 13.83
+       mov      r12, gword ptr [rbp+0x10]
+						;; size=70 bbWeight=1 PerfScore 16.58
 G_M33478_IG02:
        mov      rdi, rax
-       mov      rdx, qword ptr [rax]
-       mov      rdx, qword ptr [rdx+0x48]
-       call     [rdx+0x28]System.Net.WebRequest:get_RequestUri():System.Uri:this
+       mov      rcx, qword ptr [rax]
+       mov      rcx, qword ptr [rcx+0x48]
+       call     [rcx+0x28]System.Net.WebRequest:get_RequestUri():System.Uri:this
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Uri:get_Scheme():System.String:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Uri:get_Scheme():System.String:this
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rax], 1
-       je       G_M33478_IG26
+       je       G_M33478_IG23
 						;; size=52 bbWeight=1 PerfScore 18.25
 G_M33478_IG03:
        mov      rax, 0xD1FFAB1E      ; data for System.Uri:UriSchemeFile
        mov      rsi, gword ptr [rax]
        cmp      rdi, rsi
-       jne      SHORT G_M33478_IG06
+       jne      SHORT G_M33478_IG05
 						;; size=18 bbWeight=1 PerfScore 3.50
 G_M33478_IG04:
-       xor      rcx, rcx
+       xor      r12, r12
        xor      r13, r13
-						;; size=5 bbWeight=0.50 PerfScore 0.25
+       jmp      SHORT G_M33478_IG06
+						;; size=8 bbWeight=0.50 PerfScore 1.25
 G_M33478_IG05:
-       mov      gword ptr [rbp-0x40], rcx
-       jmp      SHORT G_M33478_IG07
-						;; size=6 bbWeight=0.50 PerfScore 1.50
-G_M33478_IG06:
        test     rdi, rdi
-       je       SHORT G_M33478_IG09
+       je       SHORT G_M33478_IG06
        test     rsi, rsi
-       je       SHORT G_M33478_IG08
+       je       SHORT G_M33478_IG06
        mov      eax, dword ptr [rdi+0x08]
        cmp      eax, dword ptr [rsi+0x08]
-       mov      gword ptr [rbp-0x40], r13
-       mov      r13, gword ptr [rbp+0x10]
-       je       SHORT G_M33478_IG10
-						;; size=26 bbWeight=0.50 PerfScore 5.25
-G_M33478_IG07:
-       mov      rdi, gword ptr [rbp-0x38]
-       mov      rcx, qword ptr [rdi]
-       mov      rcx, qword ptr [rcx+0x58]
-       call     [rcx+0x10]System.Net.WebRequest:GetRequestStream():System.IO.Stream:this
-       mov      gword ptr [rbp-0x48], rax
-       jmp      SHORT G_M33478_IG11
+       je       SHORT G_M33478_IG07
+						;; size=18 bbWeight=0.50 PerfScore 4.25
+G_M33478_IG06:
+       mov      rdi, gword ptr [rbp-0x48]
+       mov      rax, qword ptr [rdi]
+       mov      rax, qword ptr [rax+0x58]
+       call     [rax+0x10]System.Net.WebRequest:GetRequestStream():System.IO.Stream:this
+       mov      gword ptr [rbp-0x50], rax
+       jmp      SHORT G_M33478_IG08
 						;; size=20 bbWeight=1 PerfScore 11.00
-G_M33478_IG08:
-       mov      gword ptr [rbp-0x40], r13
-       mov      r13, gword ptr [rbp+0x10]
-       jmp      SHORT G_M33478_IG07
-						;; size=10 bbWeight=0.25 PerfScore 1.00
-G_M33478_IG09:
-       mov      gword ptr [rbp-0x40], r13
-       mov      r13, gword ptr [rbp+0x10]
-       jmp      SHORT G_M33478_IG07
-						;; size=10 bbWeight=0.25 PerfScore 1.00
-G_M33478_IG10:
-       mov      ecx, eax
+G_M33478_IG07:
        mov      rdx, rdi
        add      rdx, 12
-       mov      r8, rdx
-       add      ecx, ecx
-       mov      edx, ecx
+       mov      rcx, rdx
+       add      eax, eax
+       mov      edx, eax
        add      rsi, 12
-       mov      rdi, r8
-       mov      rcx, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
-       call     [rcx]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+       mov      rdi, rcx
+       mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+       call     [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
-       je       SHORT G_M33478_IG07
+       je       SHORT G_M33478_IG06
        jmp      SHORT G_M33478_IG04
-						;; size=41 bbWeight=0.50 PerfScore 4.25
-G_M33478_IG11:
-       mov      rax, gword ptr [rbp-0x40]
-       test     rax, rax
-       je       SHORT G_M33478_IG13
-						;; size=9 bbWeight=1 PerfScore 2.25
-G_M33478_IG12:
-       mov      ecx, dword ptr [rax+0x08]
-       mov      rdi, gword ptr [rbp-0x48]
-       mov      rsi, rax
+						;; size=39 bbWeight=0.50 PerfScore 4.12
+G_M33478_IG08:
+       test     r13, r13
+       je       SHORT G_M33478_IG10
+						;; size=5 bbWeight=1 PerfScore 1.25
+G_M33478_IG09:
+       mov      ecx, dword ptr [r13+0x08]
+       mov      rdi, gword ptr [rbp-0x50]
+       mov      rsi, r13
        xor      edx, edx
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x60]
        call     [rax+0x30]System.IO.Stream:Write(ubyte[],int,int):this
-						;; size=22 bbWeight=0.50 PerfScore 5.25
-G_M33478_IG13:
+						;; size=23 bbWeight=0.50 PerfScore 5.25
+G_M33478_IG10:
        test     r15, r15
-       je       SHORT G_M33478_IG15
+       je       SHORT G_M33478_IG12
 						;; size=5 bbWeight=1 PerfScore 1.25
-G_M33478_IG14:
-       mov      gword ptr [rbp-0x50], r15
-       jmp      SHORT G_M33478_IG21
+G_M33478_IG11:
+       mov      gword ptr [rbp-0x58], r15
+       jmp      SHORT G_M33478_IG18
 						;; size=6 bbWeight=0.50 PerfScore 1.50
-G_M33478_IG15:
+G_M33478_IG12:
        xor      r15d, r15d
-       mov      r8d, dword ptr [rbx+0x08]
-       test     r8d, r8d
-       jle      SHORT G_M33478_IG19
+       mov      r13d, dword ptr [rbx+0x08]
+       test     r13d, r13d
+       jle      SHORT G_M33478_IG16
 						;; size=12 bbWeight=0.50 PerfScore 1.75
-G_M33478_IG16:
-       mov      dword ptr [rbp-0x30], r8d
-       mov      r9d, r8d
-       sub      r9d, r15d
+G_M33478_IG13:
+       mov      r8d, r13d
+       sub      r8d, r15d
        test     r14d, r14d
-       je       SHORT G_M33478_IG18
-						;; size=15 bbWeight=4 PerfScore 11.00
-G_M33478_IG17:
-       cmp      r9d, r14d
-       jle      SHORT G_M33478_IG18
-       mov      r9d, r14d
+       je       SHORT G_M33478_IG15
+						;; size=11 bbWeight=4 PerfScore 7.00
+G_M33478_IG14:
+       cmp      r8d, r14d
+       jle      SHORT G_M33478_IG15
+       mov      r8d, r14d
 						;; size=8 bbWeight=2 PerfScore 3.00
-G_M33478_IG18:
-       mov      rdi, gword ptr [rbp-0x48]
+G_M33478_IG15:
+       mov      rdi, gword ptr [rbp-0x50]
        mov      rsi, rbx
        mov      edx, r15d
-       mov      dword ptr [rbp-0x2C], r9d
-       mov      ecx, r9d
-       mov      r10, qword ptr [rdi]
-       mov      r10, qword ptr [r10+0x60]
-       call     [r10+0x30]System.IO.Stream:Write(ubyte[],int,int):this
-       add      r15d, dword ptr [rbp-0x2C]
-       mov      eax, dword ptr [rbp-0x30]
-       cmp      eax, r15d
-       mov      r8d, eax
-       jg       SHORT G_M33478_IG16
-						;; size=43 bbWeight=4 PerfScore 57.00
-G_M33478_IG19:
-       test     r13, r13
-       je       SHORT G_M33478_IG23
+       mov      dword ptr [rbp-0x34], r8d
+       mov      ecx, r8d
+       mov      r9, qword ptr [rdi]
+       mov      r9, qword ptr [r9+0x60]
+       call     [r9+0x30]System.IO.Stream:Write(ubyte[],int,int):this
+       add      r15d, dword ptr [rbp-0x34]
+       cmp      r13d, r15d
+       jg       SHORT G_M33478_IG13
+						;; size=37 bbWeight=4 PerfScore 52.00
+G_M33478_IG16:
+       test     r12, r12
+       je       SHORT G_M33478_IG20
 						;; size=5 bbWeight=1 PerfScore 1.25
-G_M33478_IG20:
-       mov      ecx, dword ptr [r13+0x08]
-       mov      rdi, gword ptr [rbp-0x48]
-       mov      rsi, r13
+G_M33478_IG17:
+       mov      ecx, dword ptr [r12+0x08]
+       mov      rdi, gword ptr [rbp-0x50]
+       mov      rsi, r12
        xor      edx, edx
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x60]
        call     [rax+0x30]System.IO.Stream:Write(ubyte[],int,int):this
-       jmp      SHORT G_M33478_IG23
-						;; size=25 bbWeight=0.50 PerfScore 6.25
-G_M33478_IG21:
-       mov      ecx, dword ptr [rbx+0x08]
-       mov      r14d, ecx
-       mov      ecx, r14d
+       jmp      SHORT G_M33478_IG20
+						;; size=26 bbWeight=0.50 PerfScore 6.25
+G_M33478_IG18:
+       mov      r13d, dword ptr [rbx+0x08]
+       mov      ecx, r13d
        mov      rdi, r15
        mov      rsi, rbx
        xor      edx, edx
        mov      r8, qword ptr [r15]
        mov      r8, qword ptr [r8+0x60]
        call     [r8+0x18]System.IO.Stream:Read(ubyte[],int,int):int:this
        test     eax, eax
-       jle      SHORT G_M33478_IG22
-       mov      rdi, gword ptr [rbp-0x48]
+       jle      SHORT G_M33478_IG19
+       mov      rdi, gword ptr [rbp-0x50]
        mov      rsi, rbx
        mov      ecx, eax
        xor      edx, edx
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x60]
        call     [rax+0x30]System.IO.Stream:Write(ubyte[],int,int):this
-       jmp      SHORT G_M33478_IG21
-						;; size=55 bbWeight=4 PerfScore 89.00
-G_M33478_IG22:
-       mov      rdi, gword ptr [rbp-0x50]
+       jmp      SHORT G_M33478_IG18
+						;; size=53 bbWeight=4 PerfScore 88.00
+G_M33478_IG19:
+       mov      rdi, gword ptr [rbp-0x58]
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
-       jmp      SHORT G_M33478_IG19
+       jmp      SHORT G_M33478_IG16
 						;; size=19 bbWeight=0.50 PerfScore 3.12
-G_M33478_IG23:
-       mov      rdi, gword ptr [rbp-0x48]
+G_M33478_IG20:
+       mov      rdi, gword ptr [rbp-0x50]
        test     rdi, rdi
-       je       SHORT G_M33478_IG25
+       je       SHORT G_M33478_IG22
 						;; size=9 bbWeight=1 PerfScore 2.25
-G_M33478_IG24:
+G_M33478_IG21:
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=13 bbWeight=0.50 PerfScore 1.62
-G_M33478_IG25:
+G_M33478_IG22:
        mov      rdi, 0xD1FFAB1E      ; System.IO.ChunkedMemoryStream
        call     CORINFO_HELP_NEWSFAST
        mov      rdx, rax
-       mov      rsi, gword ptr [rbp-0x38]
-       mov      rdi, r12
+       mov      rsi, gword ptr [rbp-0x48]
+       mov      rdi, gword ptr [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:DownloadBits(System.Net.WebRequest,System.IO.Stream):ubyte[]:this
        call     [rax]System.Net.WebClient:DownloadBits(System.Net.WebRequest,System.IO.Stream):ubyte[]:this
-       jmp      SHORT G_M33478_IG27
-						;; size=39 bbWeight=1 PerfScore 8.00
-G_M33478_IG26:
-       mov      gword ptr [rbp-0x60], rdi
+       jmp      SHORT G_M33478_IG24
+						;; size=40 bbWeight=1 PerfScore 8.75
+G_M33478_IG23:
+       mov      gword ptr [rbp-0x68], rdi
        mov      rdi, 0xD1FFAB1E      ; System.Uri
        call     CORINFO_HELP_GET_GCSTATIC_BASE
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0x68]
        jmp      G_M33478_IG03
 						;; size=28 bbWeight=0 PerfScore 0.00
-G_M33478_IG27:
+G_M33478_IG24:
        add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M33478_IG28:
+G_M33478_IG25:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
 						;; size=22 bbWeight=0 PerfScore 0.00
-G_M33478_IG29:
-       cmp      gword ptr [rbp-0x50], 0
-       je       SHORT G_M33478_IG30
-       mov      rdi, gword ptr [rbp-0x50]
+G_M33478_IG26:
+       cmp      gword ptr [rbp-0x58], 0
+       je       SHORT G_M33478_IG27
+       mov      rdi, gword ptr [rbp-0x58]
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=24 bbWeight=0 PerfScore 0.00
-G_M33478_IG30:
+G_M33478_IG27:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
-G_M33478_IG31:
+G_M33478_IG28:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
-G_M33478_IG32:
+G_M33478_IG29:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
 						;; size=22 bbWeight=0 PerfScore 0.00
-G_M33478_IG33:
-       cmp      gword ptr [rbp-0x48], 0
-       je       SHORT G_M33478_IG34
-       mov      rdi, gword ptr [rbp-0x48]
+G_M33478_IG30:
+       cmp      gword ptr [rbp-0x50], 0
+       je       SHORT G_M33478_IG31
+       mov      rdi, gword ptr [rbp-0x50]
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=24 bbWeight=0 PerfScore 0.00
-G_M33478_IG34:
+G_M33478_IG31:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
-G_M33478_IG35:
+G_M33478_IG32:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
-G_M33478_IG36:
+G_M33478_IG33:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
 						;; size=22 bbWeight=0 PerfScore 0.00
-G_M33478_IG37:
+G_M33478_IG34:
        mov      rdi, 0xD1FFAB1E      ; System.Exception
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        mov      rsi, rax
        test     rsi, rsi
-       jne      SHORT G_M33478_IG38
+       jne      SHORT G_M33478_IG35
        xor      eax, eax
-       jmp      SHORT G_M33478_IG39
+       jmp      SHORT G_M33478_IG36
 						;; size=34 bbWeight=0 PerfScore 0.00
-G_M33478_IG38:
-       mov      gword ptr [rbp-0x58], rsi
-       mov      rsi, gword ptr [rbp-0x58]
+G_M33478_IG35:
+       mov      gword ptr [rbp-0x60], rsi
+       mov      rsi, gword ptr [rbp-0x60]
        mov      rdi, 0xD1FFAB1E      ; System.OutOfMemoryException
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        sete     al
        movzx    rax, al
 						;; size=39 bbWeight=0 PerfScore 0.00
-G_M33478_IG39:
+G_M33478_IG36:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
-G_M33478_IG40:
+G_M33478_IG37:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
 						;; size=22 bbWeight=0 PerfScore 0.00
-G_M33478_IG41:
-       mov      rdi, gword ptr [rbp-0x38]
+G_M33478_IG38:
+       mov      rdi, gword ptr [rbp-0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:AbortRequest(System.Net.WebRequest)
        call     [rax]System.Net.WebClient:AbortRequest(System.Net.WebRequest)
-       mov      rsi, gword ptr [rbp-0x58]
+       mov      rsi, gword ptr [rbp-0x60]
        mov      rdi, 0xD1FFAB1E      ; System.Net.WebException
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
-       jne      SHORT G_M33478_IG42
-       mov      rsi, gword ptr [rbp-0x58]
+       jne      SHORT G_M33478_IG39
+       mov      rsi, gword ptr [rbp-0x60]
        mov      rdi, 0xD1FFAB1E      ; System.Security.SecurityException
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
-       je       SHORT G_M33478_IG43
+       je       SHORT G_M33478_IG40
 						;; size=78 bbWeight=0 PerfScore 0.00
-G_M33478_IG42:
+G_M33478_IG39:
        call     CORINFO_HELP_RETHROW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-G_M33478_IG43:
+G_M33478_IG40:
        mov      rdi, 0xD1FFAB1E      ; System.Net.WebException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_webclient():System.String
        call     [rax]System.SR:get_net_webclient():System.String
        mov      rsi, rax
        mov      rdi, rbx
-       mov      rdx, gword ptr [rbp-0x58]
+       mov      rdx, gword ptr [rbp-0x60]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebException:.ctor(System.String,System.Exception):this
        call     [rax]System.Net.WebException:.ctor(System.String,System.Exception):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=61 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 978, prolog size 61, PerfScore 258.58, instruction count 294, allocated bytes for code 978 (MethodHash=14827d39) for method System.Net.WebClient:UploadBits(System.Net.WebRequest,System.IO.FileStream,ubyte[],int,ubyte[],ubyte[]):ubyte[]:this (FullOpts)
+; Total bytes of code 941, prolog size 70, PerfScore 247.46, instruction count 281, allocated bytes for code 941 (MethodHash=14827d39) for method System.Net.WebClient:UploadBits(System.Net.WebRequest,System.IO.FileStream,ubyte[],int,ubyte[],ubyte[]):ubyte[]:this (FullOpts)
-24 (-2.44 % of base) - System.Data.DataSet:WriteXmlSchema(System.Xml.XmlWriter,int,System.Converter`2[System.Type,System.String]):this
 ; Assembly listing for method System.Data.DataSet:WriteXmlSchema(System.Xml.XmlWriter,int,System.Converter`2[System.Type,System.String]):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 23 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  6,  4.50)     ref  ->  r15         this class-hnd single-def <System.Data.DataSet>
+;  V00 this         [V00,T01] (  6,  4.50)     ref  ->  [rbp-0x50]  this class-hnd EH-live single-def <System.Data.DataSet>
 ;  V01 arg1         [V01,T00] ( 14,  8.50)     ref  ->  rbx         class-hnd single-def <System.Xml.XmlWriter>
-;  V02 arg2         [V02,T03] (  5,  3.50)     int  ->  r14         single-def
-;  V03 arg3         [V03,T06] (  3,  2.50)     ref  ->  r13         class-hnd single-def <System.Converter`2[System.Type,System.String]>
-;  V04 loc0         [V04,T23] (  2,  1   )    long  ->  [rbp-0x30]  do-not-enreg[Z] EH-live
-;  V05 loc1         [V05,T07] (  7,  3.50)     ref  ->  r14         class-hnd <System.Data.XmlTreeGen>
+;  V02 arg2         [V02,T03] (  5,  3.50)     int  ->  r15         single-def
+;  V03 arg3         [V03,T06] (  3,  2.50)     ref  ->  r14         class-hnd single-def <System.Converter`2[System.Type,System.String]>
+;  V04 loc0         [V04,T23] (  2,  1   )    long  ->  [rbp-0x38]  do-not-enreg[Z] EH-live
+;  V05 loc1         [V05,T07] (  7,  3.50)     ref  ->  r12         class-hnd <System.Data.XmlTreeGen>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T05] (  3,  5   )     ref  ->  r12         class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
-;  V08 tmp2         [V08,T09] (  3,  3   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.XmlTreeGen>
-;  V09 tmp3         [V09,T04] (  5,  5   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Data.XmlTreeGen>
-;  V10 tmp4         [V10,T08] (  4,  3   )    long  ->  r12         "Inline return value spill temp"
-;  V11 tmp5         [V11,T18] (  2,  3   )     int  ->  [rbp-0x34]  spill-single-def "Inlining Arg"
-;  V12 tmp6         [V12,T10] (  3,  3   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def "Single-def Box Helper" <System.Int32>
+;  V07 tmp1         [V07,T05] (  3,  5   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
+;  V08 tmp2         [V08,T09] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Data.XmlTreeGen>
+;  V09 tmp3         [V09,T04] (  5,  5   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Data.XmlTreeGen>
+;  V10 tmp4         [V10,T08] (  4,  3   )    long  ->  r13         "Inline return value spill temp"
+;  V11 tmp5         [V11,T18] (  2,  3   )     int  ->  r12         "Inlining Arg"
+;  V12 tmp6         [V12,T10] (  3,  3   )     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def "Single-def Box Helper" <System.Int32>
 ;  V13 tmp7         [V13,T11] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Data.SchemaFormat>
 ;* V14 tmp8         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
 ;  V15 tmp9         [V15    ] (  4,  2   )  struct (16) [rbp-0x48]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.TwoObjects>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Int32>
 ;* V17 tmp11        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.SchemaFormat>
 ;* V18 tmp12        [V18    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.__Canon]>
 ;* V19 tmp13        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Int32>
 ;* V20 tmp14        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.SchemaFormat>
 ;* V21 tmp15        [V21    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
-;  V22 tmp16        [V22,T12] (  3,  3   )     ref  ->  [rbp-0x68]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.ArrayList>
-;  V23 tmp17        [V23,T13] (  3,  3   )     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.ArrayList>
-;  V24 tmp18        [V24,T14] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlDocument>
+;  V22 tmp16        [V22,T12] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
+;  V23 tmp17        [V23,T13] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
+;  V24 tmp18        [V24,T14] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlDocument>
 ;* V25 tmp19        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.Xml.XmlDocument>
-;  V26 tmp20        [V26,T15] (  3,  3   )     ref  ->  [rbp-0x78]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
-;  V27 tmp21        [V27,T16] (  3,  3   )     ref  ->  [rbp-0x80]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
-;  V28 tmp22        [V28,T02] (  6,  6   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
+;  V26 tmp20        [V26,T15] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
+;  V27 tmp21        [V27,T16] (  3,  3   )     ref  ->  [rbp-0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
+;  V28 tmp22        [V28,T02] (  6,  6   )     ref  ->  rax         class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
 ;* V29 tmp23        [V29    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
 ;* V30 tmp24        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V31 tmp25        [V31,T25] (  0,  0   )   byref  ->  zero-ref    single-def "field V21._reference (fldOffset=0x0)" P-INDEP
 ;* V32 tmp26        [V32,T26] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
 ;  V33 tmp27        [V33,T19] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V34 PSPSym       [V34,T24] (  1,  1   )    long  ->  [rbp-0x90]  do-not-enreg[V] "PSPSym"
-;  V35 cse0         [V35,T17] (  3,  3   )     ref  ->  rdi         "CSE #05: moderate"
-;  V36 cse1         [V36,T20] (  3,  1.50)     ref  ->  [rbp-0x88]  spill-single-def "CSE #11: moderate"
+;  V34 PSPSym       [V34,T24] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
+;  V35 cse0         [V35,T17] (  3,  3   )     ref  ->  rax         "CSE #05: moderate"
+;  V36 cse1         [V36,T20] (  3,  1.50)     ref  ->  [rbp-0x68]  spill-single-def "CSE #11: moderate"
 ;* V37 cse2         [V37,T22] (  0,  0   )   byref  ->  zero-ref    multi-def "CSE #02: moderate"
-;  V38 cse3         [V38,T21] (  3,  1.50)    long  ->  [rbp-0x50]  spill-single-def "CSE #15: conservative"
+;  V38 cse3         [V38,T21] (  3,  1.50)    long  ->  r14         "CSE #15: conservative"
 ;
-; Lcl frame size = 104
+; Lcl frame size = 72
 
 G_M56072_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 104
-       lea      rbp, [rsp+0x90]
+       sub      rsp, 72
+       lea      rbp, [rsp+0x70]
        xor      eax, eax
        mov      qword ptr [rbp-0x48], rax
        mov      qword ptr [rbp-0x40], rax
-       mov      qword ptr [rbp-0x90], rsp
-       mov      r15, rdi
+       mov      qword ptr [rbp-0x70], rsp
+       mov      qword ptr [rbp-0x30], rdi
+       mov      gword ptr [rbp-0x50], rdi
        mov      rbx, rsi
-       mov      r14d, edx
-       mov      r13, rcx
-						;; size=51 bbWeight=1 PerfScore 11.00
+       mov      r15d, edx
+       mov      r14, rcx
+						;; size=50 bbWeight=1 PerfScore 12.75
 G_M56072_IG02:
-       mov      rdi, 0xD1FFAB1E      ; global ptr
-       test     byte  ptr [rdi], 1
+       mov      rax, 0xD1FFAB1E      ; global ptr
+       test     byte  ptr [rax], 1
        je       G_M56072_IG17
 						;; size=19 bbWeight=1 PerfScore 4.25
 G_M56072_IG03:
-       mov      rdi, 0xD1FFAB1E      ; data for System.Data.DataCommonEventSource:Log
-       mov      rdi, gword ptr [rdi]
-       mov      r12, rdi
-       mov      eax, dword ptr [r15+0x94]
-       mov      dword ptr [rbp-0x34], eax
-       cmp      byte  ptr [r12], r12b
-       cmp      byte  ptr [rdi+0x9D], 0
+       mov      rax, 0xD1FFAB1E      ; data for System.Data.DataCommonEventSource:Log
+       mov      rax, gword ptr [rax]
+       mov      r13, rax
+       mov      r12d, dword ptr [rdi+0x94]
+       cmp      byte  ptr [r13], r13b
+       cmp      byte  ptr [rax+0x9D], 0
        jne      SHORT G_M56072_IG05
-						;; size=39 bbWeight=1 PerfScore 12.50
+						;; size=36 bbWeight=1 PerfScore 11.50
 G_M56072_IG04:
-       xor      r12d, r12d
+       xor      r13d, r13d
        jmp      SHORT G_M56072_IG06
 						;; size=5 bbWeight=0.50 PerfScore 1.12
 G_M56072_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x60], rax
-       mov      edi, dword ptr [rbp-0x34]
-       mov      dword ptr [rax+0x08], edi
+       mov      gword ptr [rbp-0x58], rax
+       mov      dword ptr [rax+0x08], r12d
        mov      rdi, 0xD1FFAB1E      ; System.Data.SchemaFormat
        call     CORINFO_HELP_NEWSFAST
-       mov      dword ptr [rax+0x08], r14d
+       mov      dword ptr [rax+0x08], r15d
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0x48], xmm0
-       mov      rdx, gword ptr [rbp-0x60]
-       mov      gword ptr [rbp-0x48], rdx
+       mov      r12, gword ptr [rbp-0x58]
+       mov      gword ptr [rbp-0x48], r12
        mov      gword ptr [rbp-0x40], rax
        lea      rdx, bword ptr [rbp-0x48]
        mov      ecx, 2
        xor      rdi, rdi
        mov      rsi, 0xD1FFAB1E      ; '<ds.DataSet.WriteXmlSchema|INFO> {0}, schemaFormat={1}'
        mov      rax, 0xD1FFAB1E      ; code for System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
        call     [rax]System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
        mov      rsi, rax
-       mov      rdi, r12
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataCommonEventSource:EnterScope(System.String):long:this
        call     [rax]System.Data.DataCommonEventSource:EnterScope(System.String):long:this
-       mov      r12, rax
-						;; size=119 bbWeight=0.50 PerfScore 9.67
+       mov      r13, rax
+						;; size=117 bbWeight=0.50 PerfScore 9.17
 G_M56072_IG06:
-       mov      qword ptr [rbp-0x30], r12
+       mov      qword ptr [rbp-0x38], r13
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M56072_IG07:
        test     rbx, rbx
        je       G_M56072_IG15
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M56072_IG08:
-       cmp      r14d, 3
+       cmp      r15d, 3
        jne      G_M56072_IG13
-       mov      rdi, r15
-       mov      rax, qword ptr [r15]
+       mov      rdi, gword ptr [rbp-0x50]
+       mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x48]
        call     [rax+0x28]System.Data.DataSet:get_SchemaSerializationMode():int:this
        cmp      eax, 2
        jne      G_M56072_IG13
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x18]System.Xml.XmlWriter:get_WriteState():int:this
        cmp      eax, 2
        jne      G_M56072_IG13
        mov      rdi, 0xD1FFAB1E      ; System.Data.XmlTreeGen
        call     CORINFO_HELP_NEWSFAST
-       mov      r14, rax
+       mov      r12, rax
        mov      rdi, 0xD1FFAB1E      ; System.Collections.ArrayList
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x68], rax
+       mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M56072_IG14
 						;; size=110 bbWeight=0.50 PerfScore 13.12
 G_M56072_IG09:
        mov      rdi, 0xD1FFAB1E      ; data for System.Array+EmptyArray`1[System.Object]:Value
-       mov      rcx, gword ptr [rdi]
-       mov      gword ptr [rbp-0x88], rcx
-       lea      rdi, bword ptr [rax+0x08]
-       mov      rsi, rcx
+       mov      rax, gword ptr [rdi]
+       mov      gword ptr [rbp-0x68], rax
+       lea      rdi, bword ptr [r15+0x08]
+       mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
-       lea      rdi, bword ptr [r14+0x30]
-       mov      rsi, gword ptr [rbp-0x68]
+       lea      rdi, bword ptr [r12+0x30]
+       mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Collections.ArrayList
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x70], rax
-       lea      rdi, bword ptr [rax+0x08]
-       mov      rsi, gword ptr [rbp-0x88]
+       mov      r15, rax
+       lea      rdi, bword ptr [r15+0x08]
+       mov      rsi, gword ptr [rbp-0x68]
        call     CORINFO_HELP_ASSIGN_REF
-       lea      rdi, bword ptr [r14+0x38]
-       mov      rsi, gword ptr [rbp-0x70]
+       lea      rdi, bword ptr [r12+0x38]
+       mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
-       mov      dword ptr [r14+0x84], 5
-						;; size=104 bbWeight=0.50 PerfScore 7.88
+       mov      dword ptr [r12+0x84], 5
+						;; size=98 bbWeight=0.50 PerfScore 6.75
 G_M56072_IG10:
-       lea      rdi, bword ptr [r14+0x78]
-       mov      rsi, r13
+       lea      rdi, bword ptr [r12+0x78]
+       mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlDocument
        call     CORINFO_HELP_NEWSFAST
-       mov      r13, rax
+       mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlImplementation
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x78], rax
+       mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; System.Xml.NameTable
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x80], rax
+       mov      gword ptr [rbp-0x60], rax
        mov      rdi, rax
        mov      rcx, 0xD1FFAB1E      ; code for System.Xml.NameTable:.ctor():this
        call     [rcx]System.Xml.NameTable:.ctor():this
-       mov      rax, gword ptr [rbp-0x78]
-       lea      rdi, bword ptr [rax+0x08]
-       mov      rsi, gword ptr [rbp-0x80]
+       lea      rdi, bword ptr [r14+0x08]
+       mov      rsi, gword ptr [rbp-0x60]
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rdi, r13
-       mov      rsi, gword ptr [rbp-0x78]
+       mov      rdi, r15
+       mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
        call     [rax]System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
-       cmp      dword ptr [r14+0x84], 1
+       cmp      dword ptr [r12+0x84], 1
        jne      SHORT G_M56072_IG11
-       mov      rdi, r14
+       mov      rdi, r12
        mov      rsi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Data.XmlTreeGen:SetPath(System.Xml.XmlWriter):this
        call     [rax]System.Data.XmlTreeGen:SetPath(System.Xml.XmlWriter):this
-						;; size=147 bbWeight=0.50 PerfScore 13.50
+						;; size=143 bbWeight=0.50 PerfScore 12.25
 G_M56072_IG11:
-       cmp      dword ptr [r14+0x84], 5
+       cmp      dword ptr [r12+0x84], 5
        jne      SHORT G_M56072_IG12
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x18]System.Xml.XmlWriter:get_WriteState():int:this
        cmp      eax, 2
        jne      SHORT G_M56072_IG12
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; 'msdata'
        mov      rdx, 0xD1FFAB1E      ; 'SchemaSerializationMode'
        mov      rcx, 0xD1FFAB1E      ; 'urn:schemas-microsoft-com:xml-msdata'
        mov      rax, qword ptr [rbx]
-       mov      rax, qword ptr [rax+0x48]
-       mov      qword ptr [rbp-0x50], rax
-       call     [rax+0x20]System.Xml.XmlWriter:WriteStartAttribute(System.String,System.String,System.String):this
+       mov      r14, qword ptr [rax+0x48]
+       call     [r14+0x20]System.Xml.XmlWriter:WriteStartAttribute(System.String,System.String,System.String):this
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; 'ExcludeSchema'
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x20]System.Xml.XmlWriter:WriteString(System.String):this
        mov      rdi, rbx
-       mov      rax, qword ptr [rbp-0x50]
-       call     [rax+0x28]System.Xml.XmlWriter:WriteEndAttribute():this
-						;; size=108 bbWeight=0.50 PerfScore 16.62
+       call     [r14+0x28]System.Xml.XmlWriter:WriteEndAttribute():this
+						;; size=103 bbWeight=0.50 PerfScore 15.62
 G_M56072_IG12:
-       mov      rdi, r14
-       mov      rsi, r13
+       mov      rdi, r12
+       mov      rsi, r15
        mov      rdx, rbx
-       mov      rcx, r15
+       mov      rcx, gword ptr [rbp-0x50]
        xor      r8, r8
        xor      r9d, r9d
        mov      rax, 0xD1FFAB1E      ; code for System.Data.XmlTreeGen:SchemaTree(System.Xml.XmlDocument,System.Xml.XmlWriter,System.Data.DataSet,System.Data.DataTable,ubyte):this
        call     [rax]System.Data.XmlTreeGen:SchemaTree(System.Xml.XmlDocument,System.Xml.XmlWriter,System.Data.DataSet,System.Data.DataTable,ubyte):this
        jmp      SHORT G_M56072_IG15
-						;; size=32 bbWeight=0.50 PerfScore 3.38
+						;; size=33 bbWeight=0.50 PerfScore 3.75
 G_M56072_IG13:
        mov      rdi, 0xD1FFAB1E      ; System.Data.XmlTreeGen
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x58], rax
-       mov      rdi, rax
-       mov      esi, r14d
-       mov      rcx, 0xD1FFAB1E      ; code for System.Data.XmlTreeGen:.ctor(int):this
-       call     [rcx]System.Data.XmlTreeGen:.ctor(int):this
-       mov      r14, gword ptr [rbp-0x58]
+       mov      r12, rax
+       mov      rdi, r12
+       mov      esi, r15d
+       mov      rax, 0xD1FFAB1E      ; code for System.Data.XmlTreeGen:.ctor(int):this
+       call     [rax]System.Data.XmlTreeGen:.ctor(int):this
        jmp      G_M56072_IG10
-						;; size=46 bbWeight=0.50 PerfScore 4.50
+						;; size=41 bbWeight=0.50 PerfScore 3.62
 G_M56072_IG14:
        mov      rdi, 0xD1FFAB1E      ; System.Array+EmptyArray`1[System.Object]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
-       mov      rax, gword ptr [rbp-0x68]
        jmp      G_M56072_IG09
-						;; size=24 bbWeight=0 PerfScore 0.00
+						;; size=20 bbWeight=0 PerfScore 0.00
 G_M56072_IG15:
-       mov      rdi, 0xD1FFAB1E      ; static handle
-       mov      rdi, gword ptr [rdi]
-       cmp      byte  ptr [rdi], dil
-       mov      rdx, r12
+       mov      rdx, 0xD1FFAB1E      ; static handle
+       mov      rax, gword ptr [rdx]
+       cmp      byte  ptr [rax], al
+       mov      rdi, rax
+       mov      rdx, r13
        mov      esi, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        nop      
-						;; size=37 bbWeight=1 PerfScore 9.25
+						;; size=39 bbWeight=1 PerfScore 9.50
 G_M56072_IG16:
-       add      rsp, 104
+       add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M56072_IG17:
        mov      rdi, 0xD1FFAB1E      ; System.Data.DataCommonEventSource
        call     CORINFO_HELP_GET_NONGCSTATIC_BASE
+       mov      rdi, gword ptr [rbp-0x50]
        jmp      G_M56072_IG03
-						;; size=20 bbWeight=0 PerfScore 0.00
+						;; size=24 bbWeight=0 PerfScore 0.00
 G_M56072_IG18:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0x90]
-						;; size=25 bbWeight=0 PerfScore 0.00
+       lea      rbp, [rbp+0x70]
+						;; size=22 bbWeight=0 PerfScore 0.00
 G_M56072_IG19:
        mov      rdi, 0xD1FFAB1E      ; System.Data.DataCommonEventSource
        call     CORINFO_HELP_GET_NONGCSTATIC_BASE
        mov      rdi, 0xD1FFAB1E      ; data for System.Data.DataCommonEventSource:Log
-       mov      rdi, gword ptr [rdi]
-       cmp      byte  ptr [rdi], dil
-       mov      rdx, qword ptr [rbp-0x30]
+       mov      rax, gword ptr [rdi]
+       cmp      byte  ptr [rax], al
+       mov      rdi, rax
+       mov      rdx, qword ptr [rbp-0x38]
        mov      esi, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        nop      
-						;; size=53 bbWeight=0 PerfScore 0.00
+						;; size=55 bbWeight=0 PerfScore 0.00
 G_M56072_IG20:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 982, prolog size 51, PerfScore 113.29, instruction count 220, allocated bytes for code 982 (MethodHash=6a1d24f7) for method System.Data.DataSet:WriteXmlSchema(System.Xml.XmlWriter,int,System.Converter`2[System.Type,System.String]):this (FullOpts)
+; Total bytes of code 958, prolog size 50, PerfScore 109.92, instruction count 217, allocated bytes for code 958 (MethodHash=6a1d24f7) for method System.Data.DataSet:WriteXmlSchema(System.Xml.XmlWriter,int,System.Converter`2[System.Type,System.String]):this (FullOpts)
-21 (-2.76 % of base) - System.Data.Common.DbDataAdapter:Update(System.Data.DataTable):int:this
 ; Assembly listing for method System.Data.Common.DbDataAdapter:Update(System.Data.DataTable):int:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 19 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  8,  6.50)     ref  ->  rbx         this class-hnd single-def <System.Data.Common.DbDataAdapter>
-;  V01 arg1         [V01,T01] (  7,  5.50)     ref  ->  r15         class-hnd single-def <System.Data.DataTable>
-;  V02 loc0         [V02,T23] (  2,  1   )    long  ->  [rbp-0x30]  do-not-enreg[Z] EH-live
-;  V03 loc1         [V03,T05] (  5,  4   )     ref  ->  r12         class-hnd <System.Data.Common.DataTableMapping>
+;  V00 this         [V00,T00] (  8,  6.50)     ref  ->  [rbp-0x48]  this class-hnd EH-live single-def <System.Data.Common.DbDataAdapter>
+;  V01 arg1         [V01,T01] (  7,  5.50)     ref  ->  rbx         class-hnd single-def <System.Data.DataTable>
+;  V02 loc0         [V02,T23] (  2,  1   )    long  ->  [rbp-0x38]  do-not-enreg[Z] EH-live
+;  V03 loc1         [V03,T05] (  5,  4   )     ref  ->  r14         class-hnd <System.Data.Common.DataTableMapping>
 ;* V04 loc2         [V04    ] (  0,  0   )     int  ->  zero-ref   
-;  V05 loc3         [V05,T20] (  2,  2   )     int  ->  r15        
+;  V05 loc3         [V05,T20] (  2,  2   )     int  ->  rbx        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T14] (  2,  3   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
-;  V08 tmp2         [V08,T02] (  6,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Data.Common.DataTableMapping>
-;  V09 tmp3         [V09,T09] (  4,  3   )    long  ->  r13         "Inline return value spill temp"
-;  V10 tmp4         [V10,T16] (  2,  3   )     int  ->  r12         "Inlining Arg"
+;  V07 tmp1         [V07,T14] (  2,  3   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
+;  V08 tmp2         [V08,T02] (  6,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Data.Common.DataTableMapping>
+;  V09 tmp3         [V09,T09] (  4,  3   )    long  ->  r12         "Inline return value spill temp"
+;  V10 tmp4         [V10,T16] (  2,  3   )     int  ->  r13         "Inlining Arg"
 ;  V11 tmp5         [V11,T10] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
 ;* V12 tmp6         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
-;  V13 tmp7         [V13    ] (  2,  2   )     ref  ->  [rbp-0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
+;  V13 tmp7         [V13    ] (  2,  2   )     ref  ->  [rbp-0x40]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
 ;* V14 tmp8         [V14    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
-;  V15 tmp9         [V15,T03] (  7,  4   )     int  ->  [rbp-0x3C]  "Inline return value spill temp"
-;  V16 tmp10        [V16,T15] (  2,  3   )     ref  ->  [rbp-0x48]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
-;  V17 tmp11        [V17,T07] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "Inlining Arg" <System.Data.Common.DataTableMappingCollection>
+;  V15 tmp9         [V15,T03] (  7,  4   )     int  ->  r13         "Inline return value spill temp"
+;  V16 tmp10        [V16,T15] (  2,  3   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V17 tmp11        [V17,T07] (  4,  4   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.Data.Common.DataTableMappingCollection>
 ;  V18 tmp12        [V18,T11] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Data.Common.DataTableMapping]>
-;  V19 tmp13        [V19,T17] (  2,  2   )     ref  ->  [rbp-0x50]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
+;  V19 tmp13        [V19,T17] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V20 tmp14        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
 ;  V21 tmp15        [V21,T08] (  5,  3   )     ref  ->  rsi         single-def "spilling varStr"
 ;* V22 tmp16        [V22,T22] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;  V23 tmp17        [V23,T12] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Data.Common.DataTableMappingCollection>
 ;  V24 tmp18        [V24,T24] (  2,  1   )     int  ->  rax         "Inline stloc first use temp"
 ;  V25 tmp19        [V25,T06] (  5,  4   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
 ;* V26 tmp20        [V26,T26] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp21        [V27,T27] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
 ;  V28 tmp22        [V28,T18] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V29 tmp23        [V29,T19] (  2,  2   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V30 tmp24        [V30,T13] (  3,  3   )     ref  ->  rdi         single-def "arr expr"
-;  V31 PSPSym       [V31,T25] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
-;  V32 cse0         [V32,T04] (  6,  4   )     ref  ->  r14         multi-def "CSE #01: moderate"
+;  V31 PSPSym       [V31,T25] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
+;  V32 cse0         [V32,T04] (  6,  4   )     ref  ->  r15         multi-def "CSE #01: moderate"
 ;  V33 cse1         [V33,T21] (  3,  1.50)     ref  ->  rdi         "CSE #03: moderate"
 ;
-; Lcl frame size = 56
+; Lcl frame size = 40
 
 G_M50985_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 56
-       lea      rbp, [rsp+0x60]
+       sub      rsp, 40
+       lea      rbp, [rsp+0x50]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
-       mov      qword ptr [rbp-0x60], rsp
-       mov      rbx, rdi
-       mov      r15, rsi
-						;; size=35 bbWeight=1 PerfScore 9.50
+       mov      qword ptr [rbp-0x40], rax
+       mov      qword ptr [rbp-0x50], rsp
+       mov      qword ptr [rbp-0x30], rdi
+       mov      gword ptr [rbp-0x48], rdi
+       mov      rbx, rsi
+						;; size=40 bbWeight=1 PerfScore 11.25
 G_M50985_IG02:
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      r14, gword ptr [rdi]
-       mov      r13, r14
-       mov      r12d, dword ptr [rbx+0x2C]
-       cmp      byte  ptr [r14+0x9D], 0
+       mov      rax, 0xD1FFAB1E      ; const ptr
+       mov      r15, gword ptr [rax]
+       mov      r14, r15
+       mov      r13d, dword ptr [rdi+0x2C]
+       cmp      byte  ptr [r15+0x9D], 0
        jne      SHORT G_M50985_IG04
 						;; size=30 bbWeight=1 PerfScore 8.50
 G_M50985_IG03:
-       xor      r13d, r13d
+       xor      r12d, r12d
        jmp      SHORT G_M50985_IG05
 						;; size=5 bbWeight=0.50 PerfScore 1.12
 G_M50985_IG04:
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
-       mov      dword ptr [rax+0x08], r12d
-       mov      gword ptr [rbp-0x38], rax
-       lea      rdx, bword ptr [rbp-0x38]
+       mov      dword ptr [rax+0x08], r13d
+       mov      gword ptr [rbp-0x40], rax
+       lea      rdx, bword ptr [rbp-0x40]
        mov      ecx, 1
        xor      rdi, rdi
        mov      rsi, 0xD1FFAB1E      ; '<comm.DbDataAdapter.Update|API> {0}, dataTable'
        mov      rax, 0xD1FFAB1E      ; code for System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
        call     [rax]System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
        mov      rsi, rax
-       mov      rdi, r13
+       mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataCommonEventSource:EnterScope(System.String):long:this
        call     [rax]System.Data.DataCommonEventSource:EnterScope(System.String):long:this
-       mov      r13, rax
+       mov      r12, rax
 						;; size=77 bbWeight=0.50 PerfScore 5.88
 G_M50985_IG05:
-       mov      qword ptr [rbp-0x30], r13
+       mov      qword ptr [rbp-0x38], r12
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M50985_IG06:
-       test     r15, r15
-       je       G_M50985_IG24
-       xor      r12, r12
-       mov      rax, gword ptr [r15+0x70]
-       mov      gword ptr [rbp-0x48], rax
-       cmp      gword ptr [rbx+0x18], 0
+       test     rbx, rbx
+       je       G_M50985_IG22
+       xor      r14, r14
+       mov      r13, gword ptr [rbx+0x70]
+       mov      rdi, gword ptr [rbp-0x48]
+       cmp      gword ptr [rdi+0x18], 0
        je       SHORT G_M50985_IG08
 						;; size=27 bbWeight=1 PerfScore 8.50
 G_M50985_IG07:
-       mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Data.Common.DataAdapter:get_TableMappings():System.Data.Common.DataTableMappingCollection:this
-       call     [rcx]System.Data.Common.DataAdapter:get_TableMappings():System.Data.Common.DataTableMappingCollection:this
+       mov      rax, 0xD1FFAB1E      ; code for System.Data.Common.DataAdapter:get_TableMappings():System.Data.Common.DataTableMappingCollection:this
+       call     [rax]System.Data.Common.DataAdapter:get_TableMappings():System.Data.Common.DataTableMappingCollection:this
        mov      rdi, rax
-       mov      rsi, gword ptr [rbp-0x48]
+       mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Data.Common.DataTableMappingCollection:IndexOfDataSetTable(System.String):int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Data.Common.DataTableMappingCollection:IndexOfDataSetTable(System.String):int:this
+       mov      r13d, eax
        jmp      SHORT G_M50985_IG09
-						;; size=38 bbWeight=0.50 PerfScore 6.50
+						;; size=37 bbWeight=0.50 PerfScore 6.12
 G_M50985_IG08:
-       mov      eax, -1
-						;; size=5 bbWeight=0.50 PerfScore 0.12
+       mov      r13d, -1
+						;; size=6 bbWeight=0.50 PerfScore 0.12
 G_M50985_IG09:
-       mov      dword ptr [rbp-0x3C], eax
-       cmp      eax, -1
+       cmp      r13d, -1
        je       SHORT G_M50985_IG11
-						;; size=8 bbWeight=1 PerfScore 2.25
+						;; size=6 bbWeight=1 PerfScore 1.25
 G_M50985_IG10:
-       mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Data.Common.DataAdapter:get_TableMappings():System.Data.Common.DataTableMappingCollection:this
-       call     [rcx]System.Data.Common.DataAdapter:get_TableMappings():System.Data.Common.DataTableMappingCollection:this
-       mov      r12, rax
-       cmp      byte  ptr [r12], r12b
-       mov      rdi, r12
-       mov      esi, dword ptr [rbp-0x3C]
+       mov      rdi, gword ptr [rbp-0x48]
+       mov      rax, 0xD1FFAB1E      ; code for System.Data.Common.DataAdapter:get_TableMappings():System.Data.Common.DataTableMappingCollection:this
+       call     [rax]System.Data.Common.DataAdapter:get_TableMappings():System.Data.Common.DataTableMappingCollection:this
+       mov      r14, rax
+       cmp      byte  ptr [r14], r14b
+       mov      rdi, r14
+       mov      esi, r13d
        mov      rax, 0xD1FFAB1E      ; code for System.Data.Common.DataTableMappingCollection:RangeCheck(int):this
        call     [rax]System.Data.Common.DataTableMappingCollection:RangeCheck(int):this
-       mov      rdi, gword ptr [r12+0x08]
-       mov      r12d, dword ptr [rbp-0x3C]
-       cmp      r12d, dword ptr [rdi+0x10]
-       jae      G_M50985_IG23
+       mov      rdi, gword ptr [r14+0x08]
+       cmp      r13d, dword ptr [rdi+0x10]
+       jae      G_M50985_IG21
        mov      rdi, gword ptr [rdi+0x08]
-       cmp      r12d, dword ptr [rdi+0x08]
-       jae      G_M50985_IG20
-       mov      eax, r12d
-       mov      r12, gword ptr [rdi+8*rax+0x10]
-						;; size=81 bbWeight=0.50 PerfScore 13.25
+       cmp      r13d, dword ptr [rdi+0x08]
+       jae      G_M50985_IG18
+       mov      eax, r13d
+       mov      r14, gword ptr [rdi+8*rax+0x10]
+						;; size=76 bbWeight=0.50 PerfScore 12.75
 G_M50985_IG11:
-       test     r12, r12
-       jne      G_M50985_IG19
+       test     r14, r14
+       jne      G_M50985_IG17
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M50985_IG12:
-       cmp      dword ptr [rbx+0x24], 3
-       je       G_M50985_IG22
+       mov      rdi, gword ptr [rbp-0x48]
+       cmp      dword ptr [rdi+0x24], 3
+       je       G_M50985_IG20
        mov      rdi, 0xD1FFAB1E      ; System.Data.Common.DataTableMapping
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
-       mov      rax, gword ptr [r15+0x70]
-       mov      gword ptr [rbp-0x50], rax
-       mov      rdi, gword ptr [r12+0x08]
+       mov      r14, rax
+       mov      r13, gword ptr [rbx+0x70]
+       mov      rdi, gword ptr [r14+0x08]
        test     rdi, rdi
-       mov      rax, gword ptr [rbp-0x50]
-       je       SHORT G_M50985_IG18
-       mov      rsi, gword ptr [r12+0x20]
+       je       SHORT G_M50985_IG16
+       mov      rsi, gword ptr [r14+0x20]
        test     rsi, rsi
-       je       SHORT G_M50985_IG17
-						;; size=60 bbWeight=0.50 PerfScore 8.00
+       je       SHORT G_M50985_IG15
+						;; size=54 bbWeight=0.50 PerfScore 7.50
 G_M50985_IG13:
        cmp      dword ptr [rsi+0x08], 5
-       jne      SHORT G_M50985_IG16
+       jne      SHORT G_M50985_IG15
 						;; size=6 bbWeight=0.25 PerfScore 1.00
 G_M50985_IG14:
-       mov      rcx, 0xD1FFAB1E
-       xor      rcx, qword ptr [rsi+0x0C]
+       mov      rax, 0xD1FFAB1E
+       xor      rax, qword ptr [rsi+0x0C]
        mov      esi, dword ptr [rsi+0x12]
        xor      esi, 0xD1FFAB1E
-       or       rsi, rcx
-       je       SHORT G_M50985_IG18
+       or       rsi, rax
+       je       SHORT G_M50985_IG16
 						;; size=28 bbWeight=0.12 PerfScore 0.84
 G_M50985_IG15:
        cmp      byte  ptr [rdi], dil
        mov      rsi, 0xD1FFAB1E      ; 'Table'
-       mov      rcx, 0xD1FFAB1E      ; code for System.Data.Common.DataTableMappingCollection:IndexOf(System.String):int:this
-       call     [rcx]System.Data.Common.DataTableMappingCollection:IndexOf(System.String):int:this
+       mov      rax, 0xD1FFAB1E      ; code for System.Data.Common.DataTableMappingCollection:IndexOf(System.String):int:this
+       call     [rax]System.Data.Common.DataTableMappingCollection:IndexOf(System.String):int:this
        cmp      eax, -1
-       mov      rax, gword ptr [rbp-0x50]
-       je       SHORT G_M50985_IG18
-       jmp      SHORT G_M50985_IG21
-						;; size=36 bbWeight=0.50 PerfScore 5.38
+       jne      SHORT G_M50985_IG19
+						;; size=30 bbWeight=0.50 PerfScore 3.88
 G_M50985_IG16:
-       jmp      SHORT G_M50985_IG15
-						;; size=2 bbWeight=0.12 PerfScore 0.25
-G_M50985_IG17:
-       jmp      SHORT G_M50985_IG15
-						;; size=2 bbWeight=0.25 PerfScore 0.50
-G_M50985_IG18:
        mov      rdi, 0xD1FFAB1E      ; 'Table'
-       mov      gword ptr [r12+0x20], rdi
-       lea      rdi, bword ptr [r12+0x18]
-       mov      rsi, rax
+       mov      gword ptr [r14+0x20], rdi
+       lea      rdi, bword ptr [r14+0x18]
+       mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
-						;; size=28 bbWeight=0.50 PerfScore 1.50
-G_M50985_IG19:
-       mov      rdi, rbx
-       mov      rsi, r15
-       mov      rdx, r12
+						;; size=26 bbWeight=0.50 PerfScore 1.50
+G_M50985_IG17:
+       mov      rdi, gword ptr [rbp-0x48]
+       mov      rsi, rbx
+       mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Data.Common.DbDataAdapter:UpdateFromDataTable(System.Data.DataTable,System.Data.Common.DataTableMapping):int:this
        call     [rax]System.Data.Common.DbDataAdapter:UpdateFromDataTable(System.Data.DataTable,System.Data.Common.DataTableMapping):int:this
-       mov      r15d, eax
-       jmp      G_M50985_IG25
-						;; size=29 bbWeight=1 PerfScore 6.25
-G_M50985_IG20:
+       mov      ebx, eax
+       jmp      G_M50985_IG23
+						;; size=29 bbWeight=1 PerfScore 7.00
+G_M50985_IG18:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
-G_M50985_IG21:
+G_M50985_IG19:
        mov      edi, 0xC47D
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Data.Common.ADP:TablesUniqueSourceTable(System.String):System.Exception
        call     [rax]System.Data.Common.ADP:TablesUniqueSourceTable(System.String):System.Exception
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=44 bbWeight=0 PerfScore 0.00
-G_M50985_IG22:
-       mov      rdi, gword ptr [r15+0x70]
+G_M50985_IG20:
+       mov      rdi, gword ptr [rbx+0x70]
        mov      rax, 0xD1FFAB1E      ; code for System.Data.Common.ADP:MissingTableMappingDestination(System.String):System.InvalidOperationException
        call     [rax]System.Data.Common.ADP:MissingTableMappingDestination(System.String):System.InvalidOperationException
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=25 bbWeight=0 PerfScore 0.00
-G_M50985_IG23:
+G_M50985_IG21:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
-G_M50985_IG24:
+G_M50985_IG22:
        mov      edi, 0xE5AE
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Data.Common.ADP:ArgumentNull(System.String):System.ArgumentNullException
        call     [rax]System.Data.Common.ADP:ArgumentNull(System.String):System.ArgumentNullException
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=44 bbWeight=0 PerfScore 0.00
-G_M50985_IG25:
-       mov      rdi, r14
-       mov      rdx, r13
+G_M50985_IG23:
+       mov      rdi, r15
+       mov      rdx, r12
        mov      esi, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
-       mov      eax, r15d
-						;; size=26 bbWeight=1 PerfScore 4.25
-G_M50985_IG26:
-       add      rsp, 56
+       mov      eax, ebx
+						;; size=25 bbWeight=1 PerfScore 4.25
+G_M50985_IG24:
+       add      rsp, 40
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M50985_IG27:
+G_M50985_IG25:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0x60]
+       lea      rbp, [rbp+0x50]
 						;; size=22 bbWeight=0 PerfScore 0.00
-G_M50985_IG28:
+G_M50985_IG26:
        mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      r14, gword ptr [rdi]
-       mov      rdi, r14
+       mov      r15, gword ptr [rdi]
+       mov      rdi, r15
        cmp      byte  ptr [rdi], dil
-       mov      rdx, qword ptr [rbp-0x30]
+       mov      rdx, qword ptr [rbp-0x38]
        mov      esi, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        nop      
 						;; size=41 bbWeight=0 PerfScore 0.00
-G_M50985_IG29:
+G_M50985_IG27:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 761, prolog size 35, PerfScore 90.09, instruction count 191, allocated bytes for code 761 (MethodHash=efb638d6) for method System.Data.Common.DbDataAdapter:Update(System.Data.DataTable):int:this (FullOpts)
+; Total bytes of code 740, prolog size 40, PerfScore 87.97, instruction count 185, allocated bytes for code 740 (MethodHash=efb638d6) for method System.Data.Common.DbDataAdapter:Update(System.Data.DataTable):int:this (FullOpts)
-21 (-2.05 % of base) - System.Data.DataTable:WriteXml(System.String,int,ubyte):this
 ; Assembly listing for method System.Data.DataTable:WriteXml(System.String,int,ubyte):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 34 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T06] (  4,  4   )     ref  ->  r15         this class-hnd single-def <System.Data.DataTable>
+;  V00 this         [V00,T06] (  4,  4   )     ref  ->  [rbp-0x60]  this class-hnd EH-live single-def <System.Data.DataTable>
 ;  V01 arg1         [V01,T04] (  5,  4.50)     ref  ->  rbx         class-hnd single-def <System.String>
-;  V02 arg2         [V02,T10] (  4,  3.50)     int  ->  r14         single-def
-;  V03 arg3         [V03,T12] (  3,  3   )   ubyte  ->  r13         single-def
-;  V04 loc0         [V04,T17] (  3,  2   )    long  ->  [rbp-0x30]  do-not-enreg[Z] EH-live
-;  V05 loc1         [V05,T29] (  3,  0   )     ref  ->  [rbp-0x60]  class-hnd exact EH-live single-def <System.Xml.XmlTextWriter>
+;  V02 arg2         [V02,T10] (  4,  3.50)     int  ->  r15         single-def
+;  V03 arg3         [V03,T12] (  3,  3   )   ubyte  ->  r14         single-def
+;  V04 loc0         [V04,T17] (  3,  2   )    long  ->  [rbp-0x38]  do-not-enreg[Z] EH-live
+;  V05 loc1         [V05,T29] (  3,  0   )     ref  ->  [rbp-0x68]  class-hnd exact EH-live single-def <System.Xml.XmlTextWriter>
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T11] (  3,  5   )     ref  ->  r12         class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
-;  V08 tmp2         [V08,T00] ( 16, 31   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextWriter>
-;  V09 tmp3         [V09,T18] (  3,  2   )    long  ->  rcx         "Inline return value spill temp"
-;  V10 tmp4         [V10,T16] (  2,  3   )     int  ->  [rbp-0x34]  spill-single-def "Inlining Arg"
-;  V11 tmp5         [V11,T13] (  3,  3   )     ref  ->  [rbp-0x68]  class-hnd exact spill-single-def "Single-def Box Helper" <System.Int32>
+;  V07 tmp1         [V07,T11] (  3,  5   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
+;  V08 tmp2         [V08,T00] ( 16, 31   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextWriter>
+;  V09 tmp3         [V09,T18] (  3,  2   )    long  ->  rax         "Inline return value spill temp"
+;  V10 tmp4         [V10,T16] (  2,  3   )     int  ->  r12         "Inlining Arg"
+;  V11 tmp5         [V11,T13] (  3,  3   )     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "Single-def Box Helper" <System.Int32>
 ;  V12 tmp6         [V12,T14] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Data.XmlWriteMode>
 ;* V13 tmp7         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
 ;  V14 tmp8         [V14    ] (  5,  2.50)  struct (24) [rbp-0x50]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.ThreeObjects>
 ;* V15 tmp9         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Int32>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.XmlWriteMode>
 ;* V17 tmp11        [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.__Canon]>
 ;* V18 tmp12        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Int32>
 ;* V19 tmp13        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.XmlWriteMode>
 ;* V20 tmp14        [V20    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
-;  V21 tmp15        [V21,T01] (  4,  8   )     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.FileStream>
+;  V21 tmp15        [V21,T01] (  4,  8   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.IO.FileStream>
 ;* V22 tmp16        [V22    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V24 tmp18        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 tmp19        [V25    ] (  0,  0   )     int  ->  zero-ref   
 ;* V26 tmp20        [V26    ] (  0,  0   )     int  ->  zero-ref   
 ;* V27 tmp21        [V27    ] (  0,  0   )     int  ->  zero-ref   
 ;* V28 tmp22        [V28,T23] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V30 tmp24        [V30    ] (  0,  0   )     int  ->  zero-ref   
 ;* V31 tmp25        [V31    ] (  0,  0   )     int  ->  zero-ref   
 ;* V32 tmp26        [V32    ] (  0,  0   )     int  ->  zero-ref   
 ;* V33 tmp27        [V33    ] (  0,  0   )     int  ->  zero-ref   
 ;* V34 tmp28        [V34    ] (  0,  0   )     int  ->  zero-ref   
 ;* V35 tmp29        [V35    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Nullable`1[int]>
 ;  V36 tmp30        [V36,T19] (  2,  2   )     ref  ->  rax         class-hnd single-def "Inline return value spill temp" <System.IO.Strategies.FileStreamStrategy>
 ;* V37 tmp31        [V37    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Nullable`1[int]>
 ;* V38 tmp32        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.IO.Strategies.FileStreamStrategy>
 ;  V39 tmp33        [V39,T07] (  3,  6   )     ref  ->  [rbp-0x78]  class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.Strategies.UnixFileStreamStrategy>
 ;  V40 tmp34        [V40,T20] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inline return value spill temp" <System.IO.Strategies.FileStreamStrategy>
 ;  V41 tmp35        [V41,T02] (  4,  8   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.IO.Strategies.BufferedFileStreamStrategy>
-;  V42 tmp36        [V42,T08] (  3,  6   )     ref  ->  [rbp-0x80]  class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.StreamWriter>
+;  V42 tmp36        [V42,T08] (  3,  6   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamWriter>
 ;  V43 tmp37        [V43,T03] (  4,  8   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlTextEncoder>
 ;* V44 tmp38        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.IO.TextWriter>
 ;* V45 tmp39        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.XmlTextEncoder>
 ;* V46 tmp40        [V46    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;  V47 tmp41        [V47,T05] (  6,  6   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
 ;* V48 tmp42        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V49 tmp43        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V50 tmp44        [V50,T27] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V51 tmp45        [V51,T28] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
 ;* V52 tmp46        [V52    ] (  0,  0   )   ubyte  ->  zero-ref    "field V35.hasValue (fldOffset=0x0)" P-INDEP
 ;* V53 tmp47        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V35.value (fldOffset=0x4)" P-INDEP
 ;* V54 tmp48        [V54,T24] (  0,  0   )   ubyte  ->  zero-ref    "field V37.hasValue (fldOffset=0x0)" P-INDEP
 ;* V55 tmp49        [V55,T25] (  0,  0   )     int  ->  zero-ref    "field V37.value (fldOffset=0x4)" P-INDEP
 ;  V56 tmp50        [V56,T21] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V57 tmp51        [V57,T09] (  3,  6   )  struct ( 8) [rbp-0x58]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[int]>
-;  V58 PSPSym       [V58,T26] (  1,  1   )    long  ->  [rbp-0x90]  do-not-enreg[V] "PSPSym"
-;  V59 cse0         [V59,T15] (  3,  3   )     ref  ->  rdi         "CSE #05: moderate"
+;  V58 PSPSym       [V58,T26] (  1,  1   )    long  ->  [rbp-0x80]  do-not-enreg[V] "PSPSym"
+;  V59 cse0         [V59,T15] (  3,  3   )     ref  ->  rax         "CSE #05: moderate"
 ;* V60 cse1         [V60,T22] (  0,  0   )   byref  ->  zero-ref    multi-def "CSE #02: moderate"
 ;
-; Lcl frame size = 120
+; Lcl frame size = 104
 
 G_M13520_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 120
-       lea      rbp, [rsp+0xA0]
+       sub      rsp, 104
+       lea      rbp, [rsp+0x90]
        vxorps   xmm8, xmm8, xmm8
        vmovdqa  xmmword ptr [rbp-0x50], xmm8
        xor      eax, eax
        mov      qword ptr [rbp-0x40], rax
-       mov      qword ptr [rbp-0x90], rsp
-       mov      r15, rdi
+       mov      qword ptr [rbp-0x80], rsp
+       mov      qword ptr [rbp-0x30], rdi
+       mov      gword ptr [rbp-0x60], rdi
        mov      rbx, rsi
-       mov      r14d, edx
-       mov      r13d, ecx
-						;; size=57 bbWeight=1 PerfScore 12.33
+       mov      r15d, edx
+       mov      r14d, ecx
+						;; size=59 bbWeight=1 PerfScore 14.08
 G_M13520_IG02:
-       mov      rdi, 0xD1FFAB1E      ; global ptr
-       test     byte  ptr [rdi], 1
+       mov      rax, 0xD1FFAB1E      ; global ptr
+       test     byte  ptr [rax], 1
        je       G_M13520_IG15
 						;; size=19 bbWeight=1 PerfScore 4.25
 G_M13520_IG03:
-       mov      rdi, 0xD1FFAB1E      ; data for System.Data.DataCommonEventSource:Log
-       mov      rdi, gword ptr [rdi]
-       mov      r12, rdi
-       mov      eax, dword ptr [r15+0x1C0]
-       mov      dword ptr [rbp-0x34], eax
-       cmp      byte  ptr [r12], r12b
-       cmp      byte  ptr [rdi+0x9D], 0
+       mov      rax, 0xD1FFAB1E      ; data for System.Data.DataCommonEventSource:Log
+       mov      rax, gword ptr [rax]
+       mov      r13, rax
+       mov      r12d, dword ptr [rdi+0x1C0]
+       cmp      byte  ptr [r13], r13b
+       cmp      byte  ptr [rax+0x9D], 0
        jne      SHORT G_M13520_IG05
-						;; size=39 bbWeight=1 PerfScore 12.50
+						;; size=36 bbWeight=1 PerfScore 11.50
 G_M13520_IG04:
-       xor      ecx, ecx
-       jmp      G_M13520_IG06
-						;; size=7 bbWeight=0.50 PerfScore 1.12
+       xor      eax, eax
+       jmp      SHORT G_M13520_IG06
+						;; size=4 bbWeight=0.50 PerfScore 1.12
 G_M13520_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x68], rax
-       mov      edi, dword ptr [rbp-0x34]
-       mov      dword ptr [rax+0x08], edi
+       mov      gword ptr [rbp-0x70], rax
+       mov      dword ptr [rax+0x08], r12d
        mov      rdi, 0xD1FFAB1E      ; System.Data.XmlWriteMode
        call     CORINFO_HELP_NEWSFAST
-       mov      dword ptr [rax+0x08], r14d
+       mov      dword ptr [rax+0x08], r15d
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0x50], xmm0
        vmovdqu  xmmword ptr [rbp-0x48], xmm0
-       mov      rdx, gword ptr [rbp-0x68]
-       mov      gword ptr [rbp-0x50], rdx
+       mov      r12, gword ptr [rbp-0x70]
+       mov      gword ptr [rbp-0x50], r12
        mov      gword ptr [rbp-0x48], rbx
        mov      gword ptr [rbp-0x40], rax
        lea      rdx, bword ptr [rbp-0x50]
        mov      ecx, 3
        xor      rdi, rdi
        mov      rsi, 0xD1FFAB1E      ; '<ds.DataTable.WriteXml|API> {0}, fileName='{1}', mode={2}'
        mov      rax, 0xD1FFAB1E      ; code for System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
        call     [rax]System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
        mov      rsi, rax
-       mov      rdi, r12
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataCommonEventSource:EnterScope(System.String):long:this
        call     [rax]System.Data.DataCommonEventSource:EnterScope(System.String):long:this
-       mov      rcx, rax
-						;; size=128 bbWeight=0.50 PerfScore 10.67
+						;; size=123 bbWeight=0.50 PerfScore 10.04
 G_M13520_IG06:
-       mov      qword ptr [rbp-0x30], rcx
+       mov      qword ptr [rbp-0x38], rax
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M13520_IG07:
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlTextWriter
        call     CORINFO_HELP_NEWSFAST
-       mov      r12, rax
+       mov      r13, rax
        mov      rdi, 0xD1FFAB1E      ; System.IO.FileStream
        call     CORINFO_HELP_NEWFAST
-       mov      gword ptr [rbp-0x70], rax
+       mov      r12, rax
        xor      edi, edi
        mov      qword ptr [rsp], rdi
        mov      rdi, rbx
        mov      esi, 2
        mov      edx, 2
        mov      ecx, 1
        mov      r8d, 0x1000
        xor      r9d, r9d
-       mov      r10, 0xD1FFAB1E      ; code for System.IO.Strategies.FileStreamHelpers:ValidateArguments(System.String,int,int,int,int,int,long)
-       call     [r10]System.IO.Strategies.FileStreamHelpers:ValidateArguments(System.String,int,int,int,int,int,long)
+       mov      rax, 0xD1FFAB1E      ; code for System.IO.Strategies.FileStreamHelpers:ValidateArguments(System.String,int,int,int,int,int,long)
+       call     [rax]System.IO.Strategies.FileStreamHelpers:ValidateArguments(System.String,int,int,int,int,int,long)
        mov      rdi, 0xD1FFAB1E      ; System.IO.Strategies.UnixFileStreamStrategy
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x78], rax
        xor      esi, esi
        mov      qword ptr [rsp], rsi
        mov      byte  ptr [rbp-0x58], 0
-						;; size=112 bbWeight=1 PerfScore 14.25
+						;; size=110 bbWeight=1 PerfScore 13.50
 G_M13520_IG08:
        mov      dword ptr [rbp-0x54], esi
        mov      rsi, qword ptr [rbp-0x58]
        mov      qword ptr [rsp+0x08], rsi
        mov      rsi, rbx
        mov      rdi, rax
        mov      edx, 2
        mov      ecx, 2
        mov      r8d, 1
        xor      r9d, r9d
        mov      r10, 0xD1FFAB1E      ; code for System.IO.Strategies.OSFileStreamStrategy:.ctor(System.String,int,int,int,int,long,System.Nullable`1[int]):this
        call     [r10]System.IO.Strategies.OSFileStreamStrategy:.ctor(System.String,int,int,int,int,long,System.Nullable`1[int]):this
        mov      rdi, 0xD1FFAB1E      ; System.IO.Strategies.BufferedFileStreamStrategy
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        lea      rdi, bword ptr [rbx+0x18]
        mov      rsi, gword ptr [rbp-0x78]
        call     CORINFO_HELP_ASSIGN_REF
        mov      dword ptr [rbx+0x28], 0x1000
        mov      rsi, rbx
-       mov      rdi, gword ptr [rbp-0x70]
+       mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.IO.Strategies.FileStreamHelpers:WrapIfDerivedType(System.IO.FileStream,System.IO.Strategies.FileStreamStrategy):System.IO.Strategies.FileStreamStrategy
        call     [rax]System.IO.Strategies.FileStreamHelpers:WrapIfDerivedType(System.IO.FileStream,System.IO.Strategies.FileStreamStrategy):System.IO.Strategies.FileStreamStrategy
-       mov      rbx, gword ptr [rbp-0x70]
-       lea      rdi, bword ptr [rbx+0x10]
+       lea      rdi, bword ptr [r12+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rdi, r12
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextWriter:.ctor():this
        call     [rax]System.Xml.XmlTextWriter:.ctor():this
        xor      rdi, rdi
-       mov      gword ptr [r12+0x20], rdi
+       mov      gword ptr [r13+0x20], rdi
        mov      rdi, 0xD1FFAB1E      ; System.IO.StreamWriter
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x80], rax
+       mov      rbx, rax
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      rdx, gword ptr [rdx]
-       mov      rdi, rax
-       mov      rsi, rbx
+       mov      rdi, rbx
+       mov      rsi, r12
        mov      ecx, 0x400
        xor      r8d, r8d
-       mov      r9, 0xD1FFAB1E      ; code for System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
-       call     [r9]System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
-       lea      rdi, bword ptr [r12+0x10]
-       mov      rsi, gword ptr [rbp-0x80]
+       mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
+       call     [rax]System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
+       lea      rdi, bword ptr [r13+0x10]
+       mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Xml.XmlTextEncoder
-       call     CORINFO_HELP_NEWSFAST
-						;; size=233 bbWeight=1 PerfScore 37.25
+						;; size=219 bbWeight=1 PerfScore 33.00
 G_M13520_IG09:
+       call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
-       mov      rsi, gword ptr [r12+0x10]
+       mov      rsi, gword ptr [r13+0x10]
        lea      rdi, bword ptr [rbx+0x08]
        call     CORINFO_HELP_ASSIGN_REF
        mov      word  ptr [rbx+0x18], 34
-       lea      rdi, bword ptr [r12+0x18]
+       lea      rdi, bword ptr [r13+0x18]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
-       mov      rdi, gword ptr [r12+0x18]
-       movzx    rsi, word  ptr [r12+0x7C]
+       mov      rdi, gword ptr [r13+0x18]
+       movzx    rsi, word  ptr [r13+0x7C]
        mov      word  ptr [rdi+0x18], si
-       mov      gword ptr [rbp-0x60], r12
-						;; size=55 bbWeight=1 PerfScore 12.50
+       mov      gword ptr [rbp-0x68], r13
+						;; size=56 bbWeight=1 PerfScore 13.50
 G_M13520_IG10:
-       mov      dword ptr [r12+0x60], 1
-       mov      byte  ptr [r12+0x80], 1
-       mov      rdi, r12
+       mov      dword ptr [r13+0x60], 1
+       mov      byte  ptr [r13+0x80], 1
+       mov      rdi, r13
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextWriter:StartDocument(int):this
        call     [rax]System.Xml.XmlTextWriter:StartDocument(int):this
-       movzx    rcx, r13b
-       mov      rdi, r15
-       mov      rsi, r12
-       mov      edx, r14d
+       movzx    rcx, r14b
+       mov      rdi, gword ptr [rbp-0x60]
+       mov      rsi, r13
+       mov      edx, r15d
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataTable:WriteXml(System.Xml.XmlWriter,int,ubyte):this
        call     [rax]System.Data.DataTable:WriteXml(System.Xml.XmlWriter,int,ubyte):this
-       mov      rdi, r12
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextWriter:WriteEndDocument():this
        call     [rax]System.Xml.XmlTextWriter:WriteEndDocument():this
        nop      
-						;; size=79 bbWeight=1 PerfScore 13.75
+						;; size=78 bbWeight=1 PerfScore 14.50
 G_M13520_IG11:
-       mov      rdi, r12
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextWriter:get_WriteState():int:this
        call     [rax]System.Xml.XmlTextWriter:get_WriteState():int:this
        cmp      eax, 5
        je       SHORT G_M13520_IG13
 						;; size=20 bbWeight=1 PerfScore 4.75
 G_M13520_IG12:
-       mov      rdi, r12
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextWriter:Close():this
        call     [rax]System.Xml.XmlTextWriter:Close():this
        nop      
 						;; size=16 bbWeight=0.50 PerfScore 1.88
 G_M13520_IG13:
        mov      rdi, 0xD1FFAB1E      ; static handle
        mov      rdi, gword ptr [rdi]
        cmp      byte  ptr [rdi], dil
-       mov      rdx, qword ptr [rbp-0x30]
+       mov      rdx, qword ptr [rbp-0x38]
        mov      esi, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        nop      
 						;; size=38 bbWeight=1 PerfScore 10.00
 G_M13520_IG14:
-       add      rsp, 120
+       add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M13520_IG15:
        mov      rdi, 0xD1FFAB1E      ; System.Data.DataCommonEventSource
        call     CORINFO_HELP_GET_NONGCSTATIC_BASE
+       mov      rdi, gword ptr [rbp-0x60]
        jmp      G_M13520_IG03
-						;; size=20 bbWeight=0 PerfScore 0.00
+						;; size=24 bbWeight=0 PerfScore 0.00
 G_M13520_IG16:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
-       lea      rbp, [rbp+0xA0]
+       lea      rbp, [rbp+0x90]
 						;; size=30 bbWeight=0 PerfScore 0.00
 G_M13520_IG17:
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextWriter:get_WriteState():int:this
        call     [rax]System.Xml.XmlTextWriter:get_WriteState():int:this
        cmp      eax, 5
        je       SHORT G_M13520_IG18
-       mov      rdi, gword ptr [rbp-0x60]
+       mov      rdi, gword ptr [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Xml.XmlTextWriter:Close():this
        call     [rax]System.Xml.XmlTextWriter:Close():this
 						;; size=37 bbWeight=0 PerfScore 0.00
 G_M13520_IG18:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
 G_M13520_IG19:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 G_M13520_IG20:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
-       lea      rbp, [rbp+0xA0]
+       lea      rbp, [rbp+0x90]
 						;; size=30 bbWeight=0 PerfScore 0.00
 G_M13520_IG21:
        mov      rdi, 0xD1FFAB1E      ; System.Data.DataCommonEventSource
        call     CORINFO_HELP_GET_NONGCSTATIC_BASE
        mov      rdi, 0xD1FFAB1E      ; data for System.Data.DataCommonEventSource:Log
        mov      rdi, gword ptr [rdi]
        cmp      byte  ptr [rdi], dil
-       mov      rdx, qword ptr [rbp-0x30]
+       mov      rdx, qword ptr [rbp-0x38]
        mov      esi, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        nop      
 						;; size=53 bbWeight=0 PerfScore 0.00
 G_M13520_IG22:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1023, prolog size 57, PerfScore 140.50, instruction count 237, allocated bytes for code 1023 (MethodHash=3a88cb2f) for method System.Data.DataTable:WriteXml(System.String,int,ubyte):this (FullOpts)
+; Total bytes of code 1002, prolog size 59, PerfScore 137.38, instruction count 235, allocated bytes for code 1002 (MethodHash=3a88cb2f) for method System.Data.DataTable:WriteXml(System.String,int,ubyte):this (FullOpts)
-16 (-3.53 % of base) - System.Net.Sockets.NetworkStream:Read(System.Span`1[ubyte]):int:this
 ; Assembly listing for method System.Net.Sockets.NetworkStream:Read(System.Span`1[ubyte]):int:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  8,  5   )     ref  ->  rbx         this class-hnd single-def <System.Net.Sockets.NetworkStream>
+;  V00 this         [V00,T00] (  8,  5   )     ref  ->  [rbp-0x30]  this class-hnd EH-live single-def <System.Net.Sockets.NetworkStream>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Span`1[ubyte]>
 ;* V02 loc0         [V02    ] (  0,  0   )     int  ->  zero-ref   
-;  V03 loc1         [V03,T07] (  3,  0   )     ref  ->  [rbp-0x30]  must-init class-hnd EH-live single-def <System.Exception>
+;  V03 loc1         [V03,T07] (  3,  0   )     ref  ->  [rbp-0x38]  must-init class-hnd EH-live single-def <System.Exception>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V05 tmp1         [V05,T12] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
 ;  V06 tmp2         [V06,T08] (  3,  0   )     ref  ->  rsi         class-hnd single-def "dup spill" <System.Exception>
 ;* V07 tmp3         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V08 tmp4         [V08,T11] (  3,  0   )     int  ->  rax        
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V10 tmp6         [V10,T09] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
 ;* V11 tmp7         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V12 tmp8         [V12,T03] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
+;  V12 tmp8         [V12,T03] (  3,  3   )     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
 ;  V13 tmp9         [V13    ] (  3,  1   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V14 tmp10        [V14,T05] (  2,  1   )     int  ->  rax         "Inline stloc first use temp"
 ;  V15 tmp11        [V15,T10] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Net.Sockets.SocketException>
 ;  V16 tmp12        [V16,T15] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;  V17 tmp13        [V17,T01] (  3,  2   )   byref  ->  r15         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-;  V18 tmp14        [V18,T02] (  3,  2   )     int  ->  r14         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;  V17 tmp13        [V17,T01] (  3,  2   )   byref  ->  rbx         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V18 tmp14        [V18,T02] (  3,  2   )     int  ->  r15         single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;  V19 tmp15        [V19,T13] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V20 tmp16        [V20,T14] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V21 PSPSym       [V21,T06] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
-;  V22 cse0         [V22,T04] (  3,  2.50)    long  ->  r13         "CSE #01: aggressive"
+;  V22 cse0         [V22,T04] (  3,  2.50)    long  ->  r14         "CSE #01: aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M62985_IG01:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
        lea      rbp, [rsp+0x40]
        xor      eax, eax
-       mov      qword ptr [rbp-0x30], rax
+       mov      qword ptr [rbp-0x38], rax
        mov      qword ptr [rbp-0x40], rsp
-       mov      rbx, rdi
-       mov      r15, rsi
-       mov      r14d, edx
-						;; size=36 bbWeight=1 PerfScore 8.75
+       mov      qword ptr [rbp-0x20], rdi
+       mov      gword ptr [rbp-0x30], rdi
+       mov      rbx, rsi
+       mov      r15d, edx
+						;; size=39 bbWeight=1 PerfScore 9.50
 G_M62985_IG02:
-       mov      r13, qword ptr [rbx]
+       mov      r14, qword ptr [rdi]
        mov      rsi, 0xD1FFAB1E      ; System.Net.Sockets.NetworkStream
-       cmp      r13, rsi
+       cmp      r14, rsi
        je       SHORT G_M62985_IG05
 						;; size=18 bbWeight=1 PerfScore 3.50
 G_M62985_IG03:
-       mov      rsi, r15
-       mov      edx, r14d
-       mov      rdi, rbx
+       mov      rsi, rbx
+       mov      edx, r15d
        mov      rax, 0xD1FFAB1E      ; code for System.IO.Stream:Read(System.Span`1[ubyte]):int:this
        call     [rax]System.IO.Stream:Read(System.Span`1[ubyte]):int:this
        nop      
-						;; size=22 bbWeight=0.50 PerfScore 2.12
+						;; size=19 bbWeight=0.50 PerfScore 2.00
 G_M62985_IG04:
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0.50 PerfScore 1.88
+						;; size=11 bbWeight=0.50 PerfScore 1.62
 G_M62985_IG05:
-       cmp      dword ptr [rbx+0x18], 0
+       cmp      dword ptr [rdi+0x18], 0
        jne      G_M62985_IG10
-       mov      rdi, rbx
-       mov      rax, qword ptr [r13+0x40]
+       mov      rax, qword ptr [r14+0x40]
        call     [rax+0x28]System.IO.Stream:get_CanRead():ubyte:this
        test     eax, eax
        je       SHORT G_M62985_IG09
-						;; size=24 bbWeight=0.50 PerfScore 5.25
+						;; size=21 bbWeight=0.50 PerfScore 5.12
 G_M62985_IG06:
-       mov      rdi, gword ptr [rbx+0x10]
-       cmp      byte  ptr [rdi], dil
-       mov      rsi, r15
-       mov      edx, r14d
+       mov      rdi, gword ptr [rbp-0x30]
+       mov      rcx, gword ptr [rdi+0x10]
+       cmp      byte  ptr [rcx], cl
+       mov      rsi, rbx
+       mov      edx, r15d
        lea      r8, [rbp-0x28]
+       mov      rdi, rcx
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:Receive(System.Span`1[ubyte],int,byref):int:this
        call     [rax]System.Net.Sockets.Socket:Receive(System.Span`1[ubyte],int,byref):int:this
        cmp      dword ptr [rbp-0x28], 0
        je       SHORT G_M62985_IG08
-						;; size=37 bbWeight=0.50 PerfScore 6.25
+						;; size=43 bbWeight=0.50 PerfScore 6.88
 G_M62985_IG07:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Sockets.SocketException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      esi, dword ptr [rbp-0x28]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.SocketException:.ctor(int):this
        call     [rax]System.Net.Sockets.SocketException:.ctor(int):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=45 bbWeight=0 PerfScore 0.00
 G_M62985_IG08:
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0.50 PerfScore 1.88
+						;; size=11 bbWeight=0.50 PerfScore 1.62
 G_M62985_IG09:
        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_writeonlystream():System.String
        call     [rax]System.SR:get_net_writeonlystream():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
        call     [rax]System.InvalidOperationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M62985_IG10:
-       mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowObjectDisposedException(System.Object)
        call     [rax]System.ThrowHelper:ThrowObjectDisposedException(System.Object)
        int3     
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=13 bbWeight=0 PerfScore 0.00
 G_M62985_IG11:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M62985_IG12:
        mov      rdi, 0xD1FFAB1E      ; System.Exception
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        mov      rsi, rax
        test     rsi, rsi
        jne      SHORT G_M62985_IG13
        xor      eax, eax
        jmp      SHORT G_M62985_IG14
 						;; size=34 bbWeight=0 PerfScore 0.00
 G_M62985_IG13:
-       mov      gword ptr [rbp-0x30], rsi
-       mov      rsi, gword ptr [rbp-0x30]
+       mov      gword ptr [rbp-0x38], rsi
+       mov      rsi, gword ptr [rbp-0x38]
        mov      rdi, 0xD1FFAB1E      ; System.OutOfMemoryException
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        sete     al
        movzx    rax, al
 						;; size=39 bbWeight=0 PerfScore 0.00
 G_M62985_IG14:
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0 PerfScore 0.00
+						;; size=11 bbWeight=0 PerfScore 0.00
 G_M62985_IG15:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M62985_IG16:
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_io_readfailure():System.String
        call     [rax]System.SR:get_net_io_readfailure():System.String
        mov      rdi, rax
-       mov      rsi, gword ptr [rbp-0x30]
+       mov      rsi, gword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.NetworkStream:WrapException(System.String,System.Exception):System.IO.IOException
        call     [rax]System.Net.Sockets.NetworkStream:WrapException(System.String,System.Exception):System.IO.IOException
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=40 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 453, prolog size 36, PerfScore 29.62, instruction count 130, allocated bytes for code 453 (MethodHash=629709f6) for method System.Net.Sockets.NetworkStream:Read(System.Span`1[ubyte]):int:this (FullOpts)
+; Total bytes of code 437, prolog size 39, PerfScore 30.25, instruction count 124, allocated bytes for code 437 (MethodHash=629709f6) for method System.Net.Sockets.NetworkStream:Read(System.Span`1[ubyte]):int:this (FullOpts)
-16 (-3.53 % of base) - System.Net.Sockets.NetworkStream:Write(System.ReadOnlySpan`1[ubyte]):this
 ; Assembly listing for method System.Net.Sockets.NetworkStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 2 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  8,  5   )     ref  ->  rbx         this class-hnd single-def <System.Net.Sockets.NetworkStream>
+;  V00 this         [V00,T00] (  8,  5   )     ref  ->  [rbp-0x30]  this class-hnd EH-live single-def <System.Net.Sockets.NetworkStream>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ubyte]>
-;  V02 loc0         [V02,T06] (  3,  0   )     ref  ->  [rbp-0x30]  must-init class-hnd EH-live single-def <System.Exception>
+;  V02 loc0         [V02,T06] (  3,  0   )     ref  ->  [rbp-0x38]  must-init class-hnd EH-live single-def <System.Exception>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T11] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
 ;  V05 tmp2         [V05,T07] (  3,  0   )     ref  ->  rsi         class-hnd single-def "dup spill" <System.Exception>
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V07 tmp4         [V07,T10] (  3,  0   )     int  ->  rax        
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V09 tmp6         [V09,T08] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
 ;* V10 tmp7         [V10    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V11 tmp8         [V11,T03] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
+;  V11 tmp8         [V11,T03] (  3,  3   )     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
 ;  V12 tmp9         [V12    ] (  3,  1   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V13 tmp10        [V13    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V14 tmp11        [V14,T09] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Net.Sockets.SocketException>
 ;  V15 tmp12        [V15,T14] (  2,  0   )     int  ->  rsi         "Inlining Arg"
-;  V16 tmp13        [V16,T01] (  3,  2   )   byref  ->  r15         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-;  V17 tmp14        [V17,T02] (  3,  2   )     int  ->  r14         single-def "field V01._length (fldOffset=0x8)" P-INDEP
+;  V16 tmp13        [V16,T01] (  3,  2   )   byref  ->  rbx         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+;  V17 tmp14        [V17,T02] (  3,  2   )     int  ->  r15         single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;  V18 tmp15        [V18,T12] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V19 tmp16        [V19,T13] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V20 PSPSym       [V20,T05] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
-;  V21 cse0         [V21,T04] (  3,  2.50)    long  ->  r13         "CSE #01: aggressive"
+;  V21 cse0         [V21,T04] (  3,  2.50)    long  ->  r14         "CSE #01: aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M13673_IG01:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
        lea      rbp, [rsp+0x40]
        xor      eax, eax
-       mov      qword ptr [rbp-0x30], rax
+       mov      qword ptr [rbp-0x38], rax
        mov      qword ptr [rbp-0x40], rsp
-       mov      rbx, rdi
-       mov      r15, rsi
-       mov      r14d, edx
-						;; size=36 bbWeight=1 PerfScore 8.75
+       mov      qword ptr [rbp-0x20], rdi
+       mov      gword ptr [rbp-0x30], rdi
+       mov      rbx, rsi
+       mov      r15d, edx
+						;; size=39 bbWeight=1 PerfScore 9.50
 G_M13673_IG02:
-       mov      r13, qword ptr [rbx]
+       mov      r14, qword ptr [rdi]
        mov      rsi, 0xD1FFAB1E      ; System.Net.Sockets.NetworkStream
-       cmp      r13, rsi
+       cmp      r14, rsi
        je       SHORT G_M13673_IG05
 						;; size=18 bbWeight=1 PerfScore 3.50
 G_M13673_IG03:
-       mov      rsi, r15
-       mov      edx, r14d
-       mov      rdi, rbx
+       mov      rsi, rbx
+       mov      edx, r15d
        mov      rax, 0xD1FFAB1E      ; code for System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this
        call     [rax]System.IO.Stream:Write(System.ReadOnlySpan`1[ubyte]):this
        nop      
-						;; size=22 bbWeight=0.50 PerfScore 2.12
+						;; size=19 bbWeight=0.50 PerfScore 2.00
 G_M13673_IG04:
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0.50 PerfScore 1.88
+						;; size=11 bbWeight=0.50 PerfScore 1.62
 G_M13673_IG05:
-       cmp      dword ptr [rbx+0x18], 0
+       cmp      dword ptr [rdi+0x18], 0
        jne      G_M13673_IG10
-       mov      rdi, rbx
-       mov      rax, qword ptr [r13+0x40]
+       mov      rax, qword ptr [r14+0x40]
        call     [rax+0x30]System.IO.Stream:get_CanWrite():ubyte:this
        test     eax, eax
        je       SHORT G_M13673_IG09
-						;; size=24 bbWeight=0.50 PerfScore 5.25
+						;; size=21 bbWeight=0.50 PerfScore 5.12
 G_M13673_IG06:
-       mov      rdi, gword ptr [rbx+0x10]
-       cmp      byte  ptr [rdi], dil
-       mov      rsi, r15
-       mov      edx, r14d
+       mov      rdi, gword ptr [rbp-0x30]
+       mov      rcx, gword ptr [rdi+0x10]
+       cmp      byte  ptr [rcx], cl
+       mov      rsi, rbx
+       mov      edx, r15d
        lea      r8, [rbp-0x28]
+       mov      rdi, rcx
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:Send(System.ReadOnlySpan`1[ubyte],int,byref):int:this
        call     [rax]System.Net.Sockets.Socket:Send(System.ReadOnlySpan`1[ubyte],int,byref):int:this
        cmp      dword ptr [rbp-0x28], 0
        je       SHORT G_M13673_IG08
-						;; size=37 bbWeight=0.50 PerfScore 6.25
+						;; size=43 bbWeight=0.50 PerfScore 6.88
 G_M13673_IG07:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Sockets.SocketException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      esi, dword ptr [rbp-0x28]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.SocketException:.ctor(int):this
        call     [rax]System.Net.Sockets.SocketException:.ctor(int):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=45 bbWeight=0 PerfScore 0.00
 G_M13673_IG08:
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0.50 PerfScore 1.88
+						;; size=11 bbWeight=0.50 PerfScore 1.62
 G_M13673_IG09:
        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_readonlystream():System.String
        call     [rax]System.SR:get_net_readonlystream():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
        call     [rax]System.InvalidOperationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M13673_IG10:
-       mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowObjectDisposedException(System.Object)
        call     [rax]System.ThrowHelper:ThrowObjectDisposedException(System.Object)
        int3     
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=13 bbWeight=0 PerfScore 0.00
 G_M13673_IG11:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M13673_IG12:
        mov      rdi, 0xD1FFAB1E      ; System.Exception
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        mov      rsi, rax
        test     rsi, rsi
        jne      SHORT G_M13673_IG13
        xor      eax, eax
        jmp      SHORT G_M13673_IG14
 						;; size=34 bbWeight=0 PerfScore 0.00
 G_M13673_IG13:
-       mov      gword ptr [rbp-0x30], rsi
-       mov      rsi, gword ptr [rbp-0x30]
+       mov      gword ptr [rbp-0x38], rsi
+       mov      rsi, gword ptr [rbp-0x38]
        mov      rdi, 0xD1FFAB1E      ; System.OutOfMemoryException
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        sete     al
        movzx    rax, al
 						;; size=39 bbWeight=0 PerfScore 0.00
 G_M13673_IG14:
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0 PerfScore 0.00
+						;; size=11 bbWeight=0 PerfScore 0.00
 G_M13673_IG15:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M13673_IG16:
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_io_writefailure():System.String
        call     [rax]System.SR:get_net_io_writefailure():System.String
        mov      rdi, rax
-       mov      rsi, gword ptr [rbp-0x30]
+       mov      rsi, gword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.NetworkStream:WrapException(System.String,System.Exception):System.IO.IOException
        call     [rax]System.Net.Sockets.NetworkStream:WrapException(System.String,System.Exception):System.IO.IOException
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=40 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 453, prolog size 36, PerfScore 29.62, instruction count 130, allocated bytes for code 453 (MethodHash=a7d1ca96) for method System.Net.Sockets.NetworkStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
+; Total bytes of code 437, prolog size 39, PerfScore 30.25, instruction count 124, allocated bytes for code 437 (MethodHash=a7d1ca96) for method System.Net.Sockets.NetworkStream:Write(System.ReadOnlySpan`1[ubyte]):this (FullOpts)
-14 (-1.37 % of base) - System.Data.DataSet:EnableConstraints():this
 ; Assembly listing for method System.Data.DataSet:EnableConstraints():this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 18 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T14] (  6,  5   )     ref  ->  rbx         this class-hnd single-def <System.Data.DataSet>
+;  V00 this         [V00,T14] (  6,  5   )     ref  ->  [rbp-0x38]  this class-hnd EH-live single-def <System.Data.DataSet>
 ;  V01 loc0         [V01,T24] (  3,  2   )    long  ->  [rbp-0x28]  do-not-enreg[Z] EH-live
-;  V02 loc1         [V02,T01] (  8, 42   )   ubyte  ->  r15        
-;  V03 loc2         [V03,T11] (  4, 10   )     ref  ->  r14         class-hnd exact single-def <System.Data.ConstraintEnumerator>
+;  V02 loc1         [V02,T01] (  8, 42   )   ubyte  ->  rbx        
+;  V03 loc2         [V03,T11] (  4, 10   )     ref  ->  r15         class-hnd exact single-def <System.Data.ConstraintEnumerator>
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Data.Constraint>
-;  V05 loc4         [V05,T09] (  5, 11   )     ref  ->  [rbp-0x38]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
-;  V06 loc5         [V06,T04] (  5, 28   )     ref  ->  [rbp-0x40]  do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
-;  V07 loc6         [V07,T02] (  5, 40   )     ref  ->  r14         class-hnd <System.Data.DataColumn>
+;  V05 loc4         [V05,T09] (  5, 11   )     ref  ->  [rbp-0x40]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
+;  V06 loc5         [V06,T04] (  5, 28   )     ref  ->  [rbp-0x48]  do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
+;  V07 loc6         [V07,T02] (  5, 40   )     ref  ->  r15         class-hnd <System.Data.DataColumn>
 ;  V08 loc7         [V08,T13] ( 12,  8.50)     ref  ->  registers   class-hnd <System.IDisposable>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T18] (  3,  5   )     ref  ->  r15         class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
-;  V11 tmp2         [V11,T10] (  4,  8   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Data.ConstraintEnumerator>
-;  V12 tmp3         [V12,T25] (  3,  2   )    long  ->  r13         "Inline return value spill temp"
-;  V13 tmp4         [V13,T23] (  2,  3   )     int  ->  r14         "Inlining Arg"
+;  V10 tmp1         [V10,T18] (  3,  5   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
+;  V11 tmp2         [V11,T10] (  4,  8   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Data.ConstraintEnumerator>
+;  V12 tmp3         [V12,T25] (  3,  2   )    long  ->  r14         "Inline return value spill temp"
+;  V13 tmp4         [V13,T23] (  2,  3   )     int  ->  r15         "Inlining Arg"
 ;  V14 tmp5         [V14,T21] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
 ;* V15 tmp6         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
 ;  V16 tmp7         [V16    ] (  2,  2   )     ref  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
 ;* V18 tmp9         [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V19 tmp10        [V19,T29] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V20 tmp11        [V20,T26] (  2,  2   )     ref  ->  rax         single-def
-;  V21 tmp12        [V21,T20] (  2,  4   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Data.DataTableCollection>
+;  V21 tmp12        [V21,T20] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.Data.DataTableCollection>
 ;* V22 tmp13        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataTableCollection>
 ;* V23 tmp14        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Data.DataTable>
 ;* V24 tmp15        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
 ;  V25 tmp16        [V25,T15] (  6,  6   )     ref  ->  rdi         class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
 ;* V26 tmp17        [V26,T31] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V27 tmp18        [V27,T32] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
 ;  V28 tmp19        [V28,T27] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
-;  V29 tmp20        [V29,T16] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
+;  V29 tmp20        [V29,T16] (  3,  6   )     ref  ->  rax         single-def "argument with side effect"
 ;  V30 tmp21        [V30,T05] (  3, 24   )     ref  ->  rdi         "argument with side effect"
-;  V31 tmp22        [V31,T17] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
+;  V31 tmp22        [V31,T17] (  3,  6   )     ref  ->  rax         single-def "argument with side effect"
 ;  V32 tmp23        [V32,T12] (  3,  9   )     ref  ->  rax         "argument with side effect"
 ;  V33 tmp24        [V33,T08] (  3, 12   )     ref  ->  rdi         "argument with side effect"
 ;  V34 tmp25        [V34,T03] (  3, 36   )     ref  ->  rax         "argument with side effect"
 ;  V35 PSPSym       [V35,T30] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V36 cse0         [V36,T22] (  3,  3   )     ref  ->  rdi         "CSE #05: moderate"
+;  V36 cse0         [V36,T22] (  3,  3   )     ref  ->  rax         "CSE #05: moderate"
 ;* V37 cse1         [V37,T28] (  0,  0   )   byref  ->  zero-ref    multi-def "CSE #02: moderate"
 ;  V38 rat0         [V38,T07] (  5, 15   )     ref  ->  rcx         "replacement local"
 ;  V39 rat1         [V39,T19] (  3,  5   )    long  ->  rdi         "CSE for expectedClsNode"
-;  V40 rat2         [V40,T00] (  5, 60   )     ref  ->  r14         "replacement local"
+;  V40 rat2         [V40,T00] (  5, 60   )     ref  ->  r15         "replacement local"
 ;  V41 rat3         [V41,T06] (  3, 20   )    long  ->  rdi         "CSE for expectedClsNode"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 56
 
 G_M62029_IG01:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 48
+       sub      rsp, 56
        lea      rbp, [rsp+0x50]
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0x50], rsp
-       mov      rbx, rdi
-						;; size=30 bbWeight=1 PerfScore 8.25
+       mov      qword ptr [rbp-0x20], rdi
+       mov      gword ptr [rbp-0x38], rdi
+						;; size=33 bbWeight=1 PerfScore 9.00
 G_M62029_IG02:
-       mov      rdi, 0xD1FFAB1E      ; global ptr
-       test     byte  ptr [rdi], 1
+       mov      rax, 0xD1FFAB1E      ; global ptr
+       test     byte  ptr [rax], 1
        je       G_M62029_IG28
 						;; size=19 bbWeight=1 PerfScore 4.25
 G_M62029_IG03:
-       mov      rdi, 0xD1FFAB1E      ; data for System.Data.DataCommonEventSource:Log
-       mov      rdi, gword ptr [rdi]
-       mov      r15, rdi
-       mov      r14d, dword ptr [rbx+0x94]
-       cmp      byte  ptr [r15], r15b
-       cmp      byte  ptr [rdi+0x9D], 0
+       mov      rax, 0xD1FFAB1E      ; data for System.Data.DataCommonEventSource:Log
+       mov      rax, gword ptr [rax]
+       mov      rbx, rax
+       mov      r15d, dword ptr [rdi+0x94]
+       cmp      byte  ptr [rbx], bl
+       cmp      byte  ptr [rax+0x9D], 0
        jne      SHORT G_M62029_IG05
-						;; size=35 bbWeight=1 PerfScore 11.50
+						;; size=34 bbWeight=1 PerfScore 11.50
 G_M62029_IG04:
-       xor      r13d, r13d
+       xor      r14d, r14d
        jmp      SHORT G_M62029_IG06
 						;; size=5 bbWeight=0.50 PerfScore 1.12
 G_M62029_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
-       mov      dword ptr [rax+0x08], r14d
+       mov      dword ptr [rax+0x08], r15d
        mov      gword ptr [rbp-0x30], rax
        lea      rdx, bword ptr [rbp-0x30]
        mov      ecx, 1
        xor      rdi, rdi
        mov      rsi, 0xD1FFAB1E      ; '<ds.DataSet.EnableConstraints|INFO> {0}'
        mov      rax, 0xD1FFAB1E      ; code for System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
        call     [rax]System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
        mov      rsi, rax
-       mov      rdi, r15
+       mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataCommonEventSource:EnterScope(System.String):long:this
        call     [rax]System.Data.DataCommonEventSource:EnterScope(System.String):long:this
-       mov      r13, rax
+       mov      r14, rax
 						;; size=77 bbWeight=0.50 PerfScore 5.88
 G_M62029_IG06:
-       mov      qword ptr [rbp-0x28], r13
+       mov      qword ptr [rbp-0x28], r14
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M62029_IG07:
-       xor      r15d, r15d
+       xor      ebx, ebx
        mov      rdi, 0xD1FFAB1E      ; System.Data.ConstraintEnumerator
        call     CORINFO_HELP_NEWSFAST
-       mov      r14, rax
-       mov      rdi, gword ptr [rbx+0x20]
-       mov      rdi, gword ptr [rdi+0x10]
-       mov      rax, qword ptr [rdi]
+       mov      r15, rax
+       mov      rdi, gword ptr [rbp-0x38]
+       mov      rax, gword ptr [rdi+0x20]
+       mov      rax, gword ptr [rax+0x10]
+       mov      rdi, rax
+       mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x58]
        call     [rax]System.Collections.ArrayList:GetEnumerator():System.Collections.IEnumerator:this
-       lea      rdi, bword ptr [r14+0x08]
+       lea      rdi, bword ptr [r15+0x08]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        xor      rdi, rdi
-       mov      gword ptr [r14+0x18], rdi
-       mov      rdi, r14
+       mov      gword ptr [r15+0x18], rdi
+       mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Data.ConstraintEnumerator:GetNext():ubyte:this
        call     [rax]System.Data.ConstraintEnumerator:GetNext():ubyte:this
        test     eax, eax
        je       SHORT G_M62029_IG09
-						;; size=75 bbWeight=1 PerfScore 20.50
+						;; size=81 bbWeight=1 PerfScore 21.75
 G_M62029_IG08:
-       mov      rdi, gword ptr [r14+0x18]
+       mov      rdi, gword ptr [r15+0x18]
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x10]System.Data.Constraint:IsConstraintViolated():ubyte:this
-       or       eax, r15d
-       movzx    r15, al
-       mov      rdi, r14
+       or       eax, ebx
+       movzx    rbx, al
+       mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Data.ConstraintEnumerator:GetNext():ubyte:this
        call     [rax]System.Data.ConstraintEnumerator:GetNext():ubyte:this
        test     eax, eax
        jne      SHORT G_M62029_IG08
-						;; size=40 bbWeight=4 PerfScore 57.00
+						;; size=38 bbWeight=4 PerfScore 57.00
 G_M62029_IG09:
-       mov      rdi, gword ptr [rbx+0x20]
-       mov      rdi, gword ptr [rdi+0x10]
-       mov      rax, qword ptr [rdi]
+       mov      rdi, gword ptr [rbp-0x38]
+       mov      rax, gword ptr [rdi+0x20]
+       mov      rax, gword ptr [rax+0x10]
+       mov      rdi, rax
+       mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x58]
        call     [rax]System.Collections.ArrayList:GetEnumerator():System.Collections.IEnumerator:this
-       mov      gword ptr [rbp-0x38], rax
-						;; size=21 bbWeight=1 PerfScore 12.00
+       mov      gword ptr [rbp-0x40], rax
+						;; size=28 bbWeight=1 PerfScore 13.25
 G_M62029_IG10:
-       mov      rax, gword ptr [rbp-0x38]
+       mov      rax, gword ptr [rbp-0x40]
        mov      rdi, rax
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
        call     [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
        test     eax, eax
        je       G_M62029_IG22
 						;; size=28 bbWeight=8 PerfScore 46.00
 G_M62029_IG11:
-       mov      rdi, gword ptr [rbp-0x38]
+       mov      rdi, gword ptr [rbp-0x40]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:get_Current():System.Object:this
        call     [r11]System.Collections.IEnumerator:get_Current():System.Object:this
        mov      rcx, rax
        test     rcx, rcx
        je       SHORT G_M62029_IG14
 						;; size=25 bbWeight=2 PerfScore 11.50
 G_M62029_IG12:
        mov      rdi, 0xD1FFAB1E      ; System.Data.DataTable
        cmp      qword ptr [rcx], rdi
        je       SHORT G_M62029_IG14
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M62029_IG13:
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
        mov      rcx, rax
 						;; size=18 bbWeight=0.50 PerfScore 1.88
 G_M62029_IG14:
        mov      rdi, gword ptr [rcx+0x30]
        mov      rdi, gword ptr [rdi+0x10]
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x58]
        call     [rax]System.Collections.ArrayList:GetEnumerator():System.Collections.IEnumerator:this
-       mov      gword ptr [rbp-0x40], rax
+       mov      gword ptr [rbp-0x48], rax
 						;; size=21 bbWeight=2 PerfScore 24.00
 G_M62029_IG15:
-       mov      rdi, gword ptr [rbp-0x40]
+       mov      rdi, gword ptr [rbp-0x48]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
        call     [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
        test     eax, eax
-       je       G_M62029_IG21
-						;; size=25 bbWeight=16 PerfScore 88.00
+       je       SHORT G_M62029_IG21
+						;; size=21 bbWeight=16 PerfScore 88.00
 G_M62029_IG16:
-       mov      rdi, gword ptr [rbp-0x40]
+       mov      rdi, gword ptr [rbp-0x48]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.IEnumerator:get_Current():System.Object:this
        call     [r11]System.Collections.IEnumerator:get_Current():System.Object:this
-       mov      r14, rax
-       test     r14, r14
+       mov      r15, rax
+       test     r15, r15
        je       SHORT G_M62029_IG19
 						;; size=25 bbWeight=8 PerfScore 46.00
 G_M62029_IG17:
        mov      rdi, 0xD1FFAB1E      ; System.Data.DataColumn
-       cmp      qword ptr [r14], rdi
+       cmp      qword ptr [r15], rdi
        je       SHORT G_M62029_IG19
 						;; size=15 bbWeight=4 PerfScore 17.00
 G_M62029_IG18:
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
-       mov      r14, rax
+       mov      r15, rax
 						;; size=18 bbWeight=2 PerfScore 7.50
 G_M62029_IG19:
-       cmp      byte  ptr [r14+0xC0], 0
+       cmp      byte  ptr [r15+0xC0], 0
        jne      SHORT G_M62029_IG20
-       mov      rdi, r14
+       mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataColumn:IsNotAllowDBNullViolated():ubyte:this
        call     [rax]System.Data.DataColumn:IsNotAllowDBNullViolated():ubyte:this
-       or       eax, r15d
-       movzx    r15, al
-						;; size=32 bbWeight=8 PerfScore 64.00
+       or       eax, ebx
+       movzx    rbx, al
+						;; size=30 bbWeight=8 PerfScore 64.00
 G_M62029_IG20:
-       cmp      dword ptr [r14+0xA8], 0
+       cmp      dword ptr [r15+0xA8], 0
        jl       SHORT G_M62029_IG15
-       mov      rdi, r14
+       mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataColumn:IsMaxLengthViolated():ubyte:this
        call     [rax]System.Data.DataColumn:IsMaxLengthViolated():ubyte:this
-       or       eax, r15d
-       movzx    r15, al
+       or       eax, ebx
+       movzx    rbx, al
        jmp      G_M62029_IG15
-						;; size=37 bbWeight=8 PerfScore 80.00
+						;; size=35 bbWeight=8 PerfScore 80.00
 G_M62029_IG21:
-       mov      rsi, gword ptr [rbp-0x40]
+       mov      rsi, gword ptr [rbp-0x48]
        mov      rdi, 0xD1FFAB1E      ; System.IDisposable
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
        call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
        test     rax, rax
        je       G_M62029_IG10
        mov      rcx, rax
        mov      rdi, rcx
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
        jmp      G_M62029_IG10
 						;; size=59 bbWeight=2 PerfScore 23.00
 G_M62029_IG22:
-       mov      rsi, gword ptr [rbp-0x38]
+       mov      rsi, gword ptr [rbp-0x40]
        mov      rdi, 0xD1FFAB1E      ; System.IDisposable
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
        call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
        test     rax, rax
        je       SHORT G_M62029_IG24
 						;; size=31 bbWeight=1 PerfScore 5.75
 G_M62029_IG23:
        mov      rdi, rax
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=16 bbWeight=0.50 PerfScore 1.75
 G_M62029_IG24:
-       test     r15d, r15d
+       test     ebx, ebx
        je       SHORT G_M62029_IG26
-						;; size=5 bbWeight=1 PerfScore 1.25
+						;; size=4 bbWeight=1 PerfScore 1.25
 G_M62029_IG25:
-       mov      rdi, rbx
+       mov      rdi, gword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Data.DataSet:FailedEnableConstraints():this
        call     [rax]System.Data.DataSet:FailedEnableConstraints():this
        int3     
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=17 bbWeight=0 PerfScore 0.00
 G_M62029_IG26:
        mov      rdi, 0xD1FFAB1E      ; static handle
        mov      rdi, gword ptr [rdi]
        cmp      byte  ptr [rdi], dil
        mov      rdx, qword ptr [rbp-0x28]
        mov      esi, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        nop      
 						;; size=38 bbWeight=1 PerfScore 10.00
 G_M62029_IG27:
-       add      rsp, 48
+       add      rsp, 56
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=1 PerfScore 3.75
+						;; size=11 bbWeight=1 PerfScore 3.25
 G_M62029_IG28:
        mov      rdi, 0xD1FFAB1E      ; System.Data.DataCommonEventSource
        call     CORINFO_HELP_GET_NONGCSTATIC_BASE
+       mov      rdi, gword ptr [rbp-0x38]
        jmp      G_M62029_IG03
-						;; size=20 bbWeight=0 PerfScore 0.00
+						;; size=24 bbWeight=0 PerfScore 0.00
 G_M62029_IG29:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x50]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M62029_IG30:
-       mov      rsi, gword ptr [rbp-0x40]
+       mov      rsi, gword ptr [rbp-0x48]
        mov      rdi, 0xD1FFAB1E      ; System.IDisposable
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
        call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
        test     rax, rax
        je       SHORT G_M62029_IG31
        mov      rdi, rax
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=47 bbWeight=0 PerfScore 0.00
 G_M62029_IG31:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
 G_M62029_IG32:
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0 PerfScore 0.00
+						;; size=11 bbWeight=0 PerfScore 0.00
 G_M62029_IG33:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x50]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M62029_IG34:
-       mov      rsi, gword ptr [rbp-0x38]
+       mov      rsi, gword ptr [rbp-0x40]
        mov      rdi, 0xD1FFAB1E      ; System.IDisposable
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
        call     [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
        test     rax, rax
        je       SHORT G_M62029_IG35
        mov      rdi, rax
        mov      r11, 0xD1FFAB1E      ; code for System.IDisposable:Dispose():this
        call     [r11]System.IDisposable:Dispose():this
 						;; size=47 bbWeight=0 PerfScore 0.00
 G_M62029_IG35:
        nop      
 						;; size=1 bbWeight=0 PerfScore 0.00
 G_M62029_IG36:
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0 PerfScore 0.00
+						;; size=11 bbWeight=0 PerfScore 0.00
 G_M62029_IG37:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x50]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M62029_IG38:
        mov      rdi, 0xD1FFAB1E      ; System.Data.DataCommonEventSource
        call     CORINFO_HELP_GET_NONGCSTATIC_BASE
        mov      rdi, 0xD1FFAB1E      ; data for System.Data.DataCommonEventSource:Log
        mov      rdi, gword ptr [rdi]
        cmp      byte  ptr [rdi], dil
        mov      rdx, qword ptr [rbp-0x28]
        mov      esi, 3
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
        nop      
 						;; size=53 bbWeight=0 PerfScore 0.00
 G_M62029_IG39:
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0 PerfScore 0.00
+						;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1020, prolog size 30, PerfScore 557.12, instruction count 255, allocated bytes for code 1020 (MethodHash=b0c00db2) for method System.Data.DataSet:EnableConstraints():this (FullOpts)
+; Total bytes of code 1006, prolog size 33, PerfScore 559.88, instruction count 253, allocated bytes for code 1006 (MethodHash=b0c00db2) for method System.Data.DataSet:EnableConstraints():this (FullOpts)
-14 (-0.86 % of base) - System.DirectoryServices.Protocols.LdapConnection:BeginSendRequest(System.DirectoryServices.Protocols.DirectoryRequest,System.TimeSpan,int,System.AsyncCallback,System.Object):System.IAsyncResult:this
 ; Assembly listing for method System.DirectoryServices.Protocols.LdapConnection:BeginSendRequest(System.DirectoryServices.Protocols.DirectoryRequest,System.TimeSpan,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 22 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T04] (  9,  5   )     ref  ->  r14         this class-hnd single-def <System.DirectoryServices.Protocols.LdapConnection>
 ;  V01 arg1         [V01,T01] ( 12,  8.50)     ref  ->  rbx         class-hnd single-def <System.DirectoryServices.Protocols.DirectoryRequest>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.TimeSpan>
 ;  V03 arg3         [V03,T03] (  8,  6.50)     int  ->  r15         single-def
 ;  V04 arg4         [V04,T06] (  5,  3.50)     ref  ->  r13         class-hnd single-def <System.AsyncCallback>
 ;  V05 arg5         [V05,T07] (  4,  3   )     ref  ->  r12         class-hnd single-def <System.Object>
-;  V06 loc0         [V06    ] (  6,  4.50)     int  ->  [rbp-0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op
-;  V07 loc1         [V07,T13] (  4,  2   )     int  ->  [rbp-0x34] 
-;  V08 loc2         [V08,T05] ( 11,  5.50)     int  ->  [rbp-0x38] 
+;  V06 loc0         [V06    ] (  6,  4.50)     int  ->  [rbp-0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V07 loc1         [V07,T13] (  4,  2   )     int  ->  [rbp-0x3C] 
+;  V08 loc2         [V08,T05] ( 11,  5.50)     int  ->  [rbp-0x40] 
 ;  V09 loc3         [V09,T12] (  4,  2   )     ref  ->  r15         class-hnd exact single-def <System.DirectoryServices.Protocols.LdapRequestState>
 ;* V10 loc4         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.DirectoryServices.Protocols.LdapAsyncResult>
 ;  V11 loc5         [V11,T18] (  2,  1   )   ubyte  ->  r15         single-def
 ;* V12 loc6         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.DirectoryServices.Protocols.LdapPartialAsyncResult>
 ;  V13 OutArgs      [V13    ] (  1,  1   )  struct (24) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V14 tmp1         [V14,T19] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ComponentModel.InvalidEnumArgumentException>
-;  V15 tmp2         [V15,T00] ( 14, 14   )     ref  ->  [rbp-0xF8]  class-hnd exact spill-single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.LdapPartialAsyncResult>
+;  V15 tmp2         [V15,T00] ( 14, 14   )     ref  ->  [rbp-0x100]  class-hnd exact spill-single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.LdapPartialAsyncResult>
 ;* V16 tmp3         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.DirectoryServices.Protocols.LdapRequestState>
-;  V17 tmp4         [V17,T02] (  9,  9   )     ref  ->  [rbp-0x100]  class-hnd exact spill-single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.LdapAsyncResult>
+;  V17 tmp4         [V17,T02] (  9,  9   )     ref  ->  [rbp-0x108]  class-hnd exact spill-single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.LdapAsyncResult>
 ;  V18 tmp5         [V18,T09] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <System.Int32>
 ;  V19 tmp6         [V19,T14] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "impImportAndPushBox" <System.Collections.Hashtable+SyncHashtable>
-;  V20 tmp7         [V20,T15] (  2,  2   )  struct (24) [rbp-0x50]  do-not-enreg[HS] must-init hidden-struct-arg "spilled call-like call argument" <System.Threading.Tasks.ValueTask`1[System.DirectoryServices.Protocols.DirectoryResponse]>
-;  V21 tmp8         [V21,T20] (  3,  0   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+;  V20 tmp7         [V20,T15] (  2,  2   )  struct (24) [rbp-0x58]  do-not-enreg[HS] must-init hidden-struct-arg "spilled call-like call argument" <System.Threading.Tasks.ValueTask`1[System.DirectoryServices.Protocols.DirectoryResponse]>
+;  V21 tmp8         [V21,T20] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
 ;  V22 tmp9         [V22,T21] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.NotSupportedException>
 ;  V23 tmp10        [V23,T22] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
 ;  V24 tmp11        [V24,T23] (  3,  0   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.ObjectDisposedException>
 ;  V25 tmp12        [V25,T24] (  2,  0   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
 ;  V26 tmp13        [V26,T10] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Threading.ManualResetEvent>
-;  V27 tmp14        [V27    ] (  1,  0.50)   ubyte  ->  [rbp-0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V28 tmp15        [V28    ] ( 11,  5.50)  struct (120) [rbp-0xD0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.DirectoryServices.Protocols.LdapConnection+<ConstructResponseAsync>d__57>
+;  V27 tmp14        [V27    ] (  1,  0.50)   ubyte  ->  [rbp-0x60]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V28 tmp15        [V28    ] ( 11,  5.50)  struct (120) [rbp-0xD8]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.DirectoryServices.Protocols.LdapConnection+<ConstructResponseAsync>d__57>
 ;  V29 tmp16        [V29,T16] (  2,  2   )     int  ->  rdi         "Inlining Arg"
 ;* V30 tmp17        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.DirectoryServices.Protocols.DirectoryResponse]>
-;  V31 tmp18        [V31,T17] (  2,  2   )     int  ->  [rbp-0xD4]  spill-single-def "Inlining Arg"
+;  V31 tmp18        [V31,T17] (  2,  2   )     int  ->  [rbp-0xDC]  spill-single-def "Inlining Arg"
 ;  V32 tmp19        [V32,T11] (  3,  3   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Threading.ManualResetEvent>
-;  V33 tmp20        [V33    ] (  1,  0.50)   ubyte  ->  [rbp-0xE0]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V34 tmp21        [V34    ] (  3,  0   )     int  ->  [rbp-0xE8]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
+;  V33 tmp20        [V33    ] (  1,  0.50)   ubyte  ->  [rbp-0xE8]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V34 tmp21        [V34    ] (  3,  0   )     int  ->  [rbp-0xF0]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
 ;  V35 tmp22        [V35,T25] (  2,  0   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
-;  V36 tmp23        [V36,T08] (  3,  2   )    long  ->  [rbp-0xF0]  single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
+;  V36 tmp23        [V36,T08] (  3,  2   )    long  ->  [rbp-0xF8]  single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
 ;* V37 tmp24        [V37    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V30.m_task (fldOffset=0x0)" P-INDEP
 ;* V38 tmp25        [V38    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V30._result (fldOffset=0x8)" P-INDEP
-;  V39 tmp26        [V39,T26] (  2,  0   )     ref  ->  rbx         single-def "argument with side effect"
+;  V39 tmp26        [V39,T26] (  2,  0   )     ref  ->  r15         single-def "argument with side effect"
 ;  V40 tmp27        [V40,T27] (  2,  0   )     ref  ->  rdx         single-def "argument with side effect"
 ;  V41 tmp28        [V41,T28] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V42 tmp29        [V42,T29] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V43 tmp30        [V43,T30] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V44 tmp31        [V44,T31] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;
 ; Lcl frame size = 248
 
 G_M32204_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 248
        lea      rbp, [rsp+0x120]
-       xor      eax, eax
-       mov      qword ptr [rbp-0xE8], rax
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu32 zmmword ptr [rbp-0xE0], zmm8
-       vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
-       vmovdqa  xmmword ptr [rbp-0x60], xmm8
-       vmovdqa  xmmword ptr [rbp-0x50], xmm8
-       vmovdqa  xmmword ptr [rbp-0x40], xmm8
-       mov      qword ptr [rbp-0x30], rax
-       mov      qword ptr [rbp-0xF0], rdx
+       vmovdqu32 zmmword ptr [rbp-0xF0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0xB0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0x70], zmm8
+       mov      qword ptr [rbp-0x30], rdi
+       mov      qword ptr [rbp-0xF8], rdx
        mov      r14, rdi
        mov      rbx, rsi
        mov      r15d, ecx
        mov      r13, r8
        mov      r12, r9
-						;; size=100 bbWeight=1 PerfScore 21.58
+						;; size=86 bbWeight=1 PerfScore 16.33
 G_M32204_IG02:
        cmp      byte  ptr [r14+0x45], 0
        jne      G_M32204_IG26
        test     rbx, rbx
        je       G_M32204_IG25
        cmp      r15d, 2
        ja       G_M32204_IG24
        test     r15d, r15d
        je       SHORT G_M32204_IG04
 						;; size=35 bbWeight=1 PerfScore 7.75
 G_M32204_IG03:
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.DirectoryServices.Protocols.SearchRequest
        mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rcx]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        je       G_M32204_IG23
 						;; size=34 bbWeight=0.50 PerfScore 2.50
 G_M32204_IG04:
        cmp      r15d, 2
        jne      SHORT G_M32204_IG06
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M32204_IG05:
        test     r13, r13
        je       G_M32204_IG22
 						;; size=9 bbWeight=0.50 PerfScore 0.62
 G_M32204_IG06:
        xor      edx, edx
-       mov      dword ptr [rbp-0x30], edx
-       lea      rdx, [rbp-0x30]
+       mov      dword ptr [rbp-0x38], edx
+       lea      rdx, [rbp-0x38]
        mov      rdi, r14
        mov      rsi, rbx
        mov      rcx, 0xD1FFAB1E      ; code for System.DirectoryServices.Protocols.LdapConnection:SendRequestHelper(System.DirectoryServices.Protocols.DirectoryRequest,byref):int:this
        call     [rcx]System.DirectoryServices.Protocols.LdapConnection:SendRequestHelper(System.DirectoryServices.Protocols.DirectoryRequest,byref):int:this
-       mov      dword ptr [rbp-0x34], eax
-       mov      dword ptr [rbp-0x38], 2
+       mov      dword ptr [rbp-0x3C], eax
+       mov      dword ptr [rbp-0x40], 2
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.DirectoryServices.Protocols.DeleteRequest
        mov      rdx, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rdx]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        je       SHORT G_M32204_IG08
 						;; size=67 bbWeight=1 PerfScore 12.50
 G_M32204_IG07:
        mov      ebx, 3
        jmp      G_M32204_IG14
 						;; size=10 bbWeight=0.50 PerfScore 1.12
 G_M32204_IG08:
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.DirectoryServices.Protocols.AddRequest
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        je       SHORT G_M32204_IG09
        xor      ebx, ebx
        jmp      G_M32204_IG14
 						;; size=37 bbWeight=0.50 PerfScore 3.62
 G_M32204_IG09:
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.DirectoryServices.Protocols.ModifyRequest
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        je       SHORT G_M32204_IG10
        mov      ebx, 1
        jmp      G_M32204_IG14
 						;; size=40 bbWeight=0.50 PerfScore 3.62
 G_M32204_IG10:
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.DirectoryServices.Protocols.SearchRequest
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        je       SHORT G_M32204_IG11
        mov      ebx, 2
        jmp      SHORT G_M32204_IG14
 						;; size=37 bbWeight=0.50 PerfScore 3.62
 G_M32204_IG11:
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.DirectoryServices.Protocols.ModifyDNRequest
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        je       SHORT G_M32204_IG12
        mov      ebx, 4
        jmp      SHORT G_M32204_IG14
 						;; size=37 bbWeight=0.50 PerfScore 3.62
 G_M32204_IG12:
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.DirectoryServices.Protocols.CompareRequest
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        je       SHORT G_M32204_IG13
        mov      ebx, 5
        jmp      SHORT G_M32204_IG14
 						;; size=37 bbWeight=0.50 PerfScore 3.62
 G_M32204_IG13:
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.DirectoryServices.Protocols.ExtendedRequest
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        mov      edi, 6
        test     rax, rax
        mov      ebx, edi
-       cmove    ebx, dword ptr [rbp-0x38]
+       cmove    ebx, dword ptr [rbp-0x40]
 						;; size=39 bbWeight=0.50 PerfScore 3.25
 G_M32204_IG14:
-       mov      eax, dword ptr [rbp-0x34]
+       mov      eax, dword ptr [rbp-0x3C]
        test     eax, eax
        jne      G_M32204_IG21
-       cmp      dword ptr [rbp-0x30], -1
+       cmp      dword ptr [rbp-0x38], -1
        je       G_M32204_IG20
        test     r15d, r15d
        jne      G_M32204_IG18
 						;; size=30 bbWeight=1 PerfScore 6.50
 G_M32204_IG15:
        mov      rdi, 0xD1FFAB1E      ; System.DirectoryServices.Protocols.LdapRequestState
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; System.DirectoryServices.Protocols.LdapAsyncResult
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0x100], rax
+       mov      gword ptr [rbp-0x108], rax
        lea      rdi, bword ptr [rax+0x20]
        mov      rsi, r12
        call     CORINFO_HELP_ASSIGN_REF
-       mov      r12, gword ptr [rbp-0x100]
+       mov      r12, gword ptr [rbp-0x108]
        lea      rdi, bword ptr [r12+0x10]
        mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Threading.ManualResetEvent
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
-       lea      r8, [rbp-0x58]
+       lea      r8, [rbp-0x60]
        mov      rdi, r13
        xor      esi, esi
        mov      edx, 1
        xor      rcx, rcx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.EventWaitHandle:CreateEventCore(ubyte,int,System.String,byref):this
        call     [rax]System.Threading.EventWaitHandle:CreateEventCore(ubyte,int,System.String,byref):this
        lea      rdi, bword ptr [r12+0x18]
        mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        mov      byte  ptr [r12+0x31], 0
        lea      rdi, bword ptr [r15+0x10]
        mov      rsi, r12
        call     CORINFO_HELP_ASSIGN_REF
        lea      rdi, bword ptr [r12+0x28]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Int32
        call     CORINFO_HELP_NEWSFAST
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdx]
-       mov      edx, dword ptr [rbp-0x30]
+       mov      edx, dword ptr [rbp-0x38]
        mov      dword ptr [rax+0x08], edx
        mov      rdx, rax
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Hashtable+SyncHashtable:Add(System.Object,System.Object):this
        call     [rax]System.Collections.Hashtable+SyncHashtable:Add(System.Object,System.Object):this
-       mov      edi, dword ptr [rbp-0x30]
+       mov      edi, dword ptr [rbp-0x38]
        vxorps   xmm0, xmm0, xmm0
-       vmovdqu  xmmword ptr [rbp-0x88], xmm0
+       vmovdqu  xmmword ptr [rbp-0x90], xmm0
 						;; size=229 bbWeight=0.50 PerfScore 16.17
 G_M32204_IG16:
-       mov      gword ptr [rbp-0xD0], r14
-       mov      dword ptr [rbp-0x98], edi
-       mov      dword ptr [rbp-0x94], ebx
-       mov      dword ptr [rbp-0x9C], 1
-       mov      rbx, qword ptr [rbp-0xF0]
-       mov      qword ptr [rbp-0x78], rbx
-       mov      byte  ptr [rbp-0x8B], 1
-       mov      byte  ptr [rbp-0x8C], 0
-       mov      dword ptr [rbp-0xA0], -1
-       lea      rdi, [rbp-0xD0]
+       mov      gword ptr [rbp-0xD8], r14
+       mov      dword ptr [rbp-0xA0], edi
+       mov      dword ptr [rbp-0x9C], ebx
+       mov      dword ptr [rbp-0xA4], 1
+       mov      rbx, qword ptr [rbp-0xF8]
+       mov      qword ptr [rbp-0x80], rbx
+       mov      byte  ptr [rbp-0x93], 1
+       mov      byte  ptr [rbp-0x94], 0
+       mov      dword ptr [rbp-0xA8], -1
+       lea      rdi, [rbp-0xD8]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.DirectoryServices.Protocols.LdapConnection+<ConstructResponseAsync>d__57](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.DirectoryServices.Protocols.LdapConnection+<ConstructResponseAsync>d__57](byref)
-       lea      rdi, [rbp-0x88]
-       lea      rsi, [rbp-0x50]
+       lea      rdi, [rbp-0x90]
+       lea      rsi, [rbp-0x58]
        mov      rdx, 0xD1FFAB1E      ; System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.DirectoryServices.Protocols.DirectoryResponse]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.__Canon]:get_Task():System.Threading.Tasks.ValueTask`1[System.__Canon]:this
        call     [rax]System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.__Canon]:get_Task():System.Threading.Tasks.ValueTask`1[System.__Canon]:this
        lea      rdi, [rsp]
-       lea      rsi, [rbp-0x50]
+       lea      rsi, [rbp-0x58]
        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
        movsq    
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.DirectoryServices.Protocols.LdapConnection:<BeginSendRequest>g__ResponseCallback|43_0(System.Threading.Tasks.ValueTask`1[System.DirectoryServices.Protocols.DirectoryResponse],System.DirectoryServices.Protocols.LdapRequestState):System.Threading.Tasks.Task
        call     [rax]System.DirectoryServices.Protocols.LdapConnection:<BeginSendRequest>g__ResponseCallback|43_0(System.Threading.Tasks.ValueTask`1[System.DirectoryServices.Protocols.DirectoryResponse],System.DirectoryServices.Protocols.LdapRequestState):System.Threading.Tasks.Task
        mov      rax, r12
 						;; size=175 bbWeight=0.50 PerfScore 15.00
 G_M32204_IG17:
        add      rsp, 248
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0.50 PerfScore 2.12
 G_M32204_IG18:
        cmp      r15d, 2
        sete     r15b
        movzx    r15, r15b
        mov      rdi, 0xD1FFAB1E      ; System.DirectoryServices.Protocols.LdapPartialAsyncResult
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0xF8], rax
-       mov      ecx, dword ptr [rbp-0x30]
-       mov      dword ptr [rbp-0xD4], ecx
+       mov      gword ptr [rbp-0x100], rax
+       mov      ecx, dword ptr [rbp-0x38]
+       mov      dword ptr [rbp-0xDC], ecx
        mov      dword ptr [rax+0x50], -1
        lea      rdi, bword ptr [rax+0x20]
        mov      rsi, r12
        call     CORINFO_HELP_ASSIGN_REF
-       mov      r12, gword ptr [rbp-0xF8]
+       mov      r12, gword ptr [rbp-0x100]
        lea      rdi, bword ptr [r12+0x10]
        mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Threading.ManualResetEvent
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
-       lea      r8, [rbp-0xE0]
+       lea      r8, [rbp-0xE8]
        mov      rdi, r13
        xor      esi, esi
        mov      edx, 1
        xor      rcx, rcx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.EventWaitHandle:CreateEventCore(ubyte,int,System.String,byref):this
        call     [rax]System.Threading.EventWaitHandle:CreateEventCore(ubyte,int,System.String,byref):this
        lea      rdi, bword ptr [r12+0x18]
        mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        mov      byte  ptr [r12+0x31], 1
-       mov      r13d, dword ptr [rbp-0xD4]
+       mov      r13d, dword ptr [rbp-0xDC]
        mov      dword ptr [r12+0x50], r13d
        lea      rdi, bword ptr [r12+0x38]
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        mov      byte  ptr [r12+0x31], 1
        mov      byte  ptr [r12+0x32], r15b
-       mov      rbx, qword ptr [rbp-0xF0]
+       mov      rbx, qword ptr [rbp-0xF8]
        mov      qword ptr [r12+0x58], rbx
        mov      rax, 0xD1FFAB1E      ; code for System.DateTime:get_Now():System.DateTime
        call     [rax]System.DateTime:get_Now():System.DateTime
        mov      qword ptr [r12+0x60], rax
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.DirectoryServices.Protocols.LdapPartialResultsProcessor:Add(System.DirectoryServices.Protocols.LdapPartialAsyncResult):this
        call     [rax]System.DirectoryServices.Protocols.LdapPartialResultsProcessor:Add(System.DirectoryServices.Protocols.LdapPartialAsyncResult):this
        mov      rax, r12
 						;; size=246 bbWeight=0.50 PerfScore 19.12
 G_M32204_IG19:
        add      rsp, 248
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0.50 PerfScore 2.12
 G_M32204_IG20:
        mov      rdi, gword ptr [r14+0x28]
        xor      edx, edx
-       mov      dword ptr [rbp-0xE8], edx
-       lea      rdx, [rbp-0xE8]
+       mov      dword ptr [rbp-0xF0], edx
+       lea      rdx, [rbp-0xF0]
        mov      esi, 49
        mov      rax, 0xD1FFAB1E      ; code for Interop+Ldap:ldap_get_option_int(System.DirectoryServices.Protocols.ConnectionHandle,int,byref):int
        call     [rax]Interop+Ldap:ldap_get_option_int(System.DirectoryServices.Protocols.ConnectionHandle,int,byref):int
-       mov      eax, dword ptr [rbp-0xE8]
+       mov      eax, dword ptr [rbp-0xF0]
        mov      r15d, eax
        mov      eax, r15d
 						;; size=48 bbWeight=0 PerfScore 0.00
 G_M32204_IG21:
        mov      rdi, r14
        mov      esi, eax
        mov      edx, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.DirectoryServices.Protocols.LdapConnection:ConstructException(int,int):System.DirectoryServices.Protocols.DirectoryException:this
        call     [rax]System.DirectoryServices.Protocols.LdapConnection:ConstructException(int,int):System.DirectoryServices.Protocols.DirectoryException:this
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M32204_IG22:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
-       mov      r14, rax
+       mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_CallBackIsNull():System.String
        call     [rax]System.SR:get_CallBackIsNull():System.String
-       mov      rbx, rax
+       mov      r15, rax
        mov      edi, 0x1A0E
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
-       mov      rsi, rbx
-       mov      rdi, r14
+       mov      rsi, r15
+       mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
-       mov      rdi, r14
+       mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=83 bbWeight=0 PerfScore 0.00
 G_M32204_IG23:
        mov      rdi, 0xD1FFAB1E      ; System.NotSupportedException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_PartialResultsNotSupported():System.String
        call     [rax]System.SR:get_PartialResultsNotSupported():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.NotSupportedException:.ctor(System.String):this
        call     [rax]System.NotSupportedException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M32204_IG24:
        mov      rdi, 0xD1FFAB1E      ; System.ComponentModel.InvalidEnumArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      edi, 0x19F6
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rsi, rax
        mov      rdi, rbx
        mov      edx, r15d
        mov      rcx, 0xD1FFAB1E      ; 'System.DirectoryServices.Protocols.PartialResultProcessing'
        mov      rax, 0xD1FFAB1E      ; code for System.ComponentModel.InvalidEnumArgumentException:.ctor(System.String,int,System.Type):this
        call     [rax]System.ComponentModel.InvalidEnumArgumentException:.ctor(System.String,int,System.Type):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=78 bbWeight=0 PerfScore 0.00
 G_M32204_IG25:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentNullException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      edi, 0x19E6
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:.ctor(System.String):this
        call     [rax]System.ArgumentNullException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=65 bbWeight=0 PerfScore 0.00
 G_M32204_IG26:
        mov      rdi, r14
        call     System.Object:GetType():System.Type:this
        mov      rbx, rax
        mov      rdi, 0xD1FFAB1E      ; System.ObjectDisposedException
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rdi, rbx
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.RuntimeType:GetCachedName(int):System.String:this
        call     [rax]System.RuntimeType:GetCachedName(int):System.String:this
        mov      rsi, rax
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.ObjectDisposedException:.ctor(System.String):this
        call     [rax]System.ObjectDisposedException:.ctor(System.String):this
        mov      rdi, r15
        call     CORINFO_HELP_THROW
        int3     
 						;; size=73 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1636, prolog size 78, PerfScore 129.75, instruction count 347, allocated bytes for code 1636 (MethodHash=f1de8233) for method System.DirectoryServices.Protocols.LdapConnection:BeginSendRequest(System.DirectoryServices.Protocols.DirectoryRequest,System.TimeSpan,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
+; Total bytes of code 1622, prolog size 64, PerfScore 124.50, instruction count 343, allocated bytes for code 1622 (MethodHash=f1de8233) for method System.DirectoryServices.Protocols.LdapConnection:BeginSendRequest(System.DirectoryServices.Protocols.DirectoryRequest,System.TimeSpan,int,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
-14 (-3.41 % of base) - System.Net.Security.SslStream:AuthenticateAsClientAsync(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken):System.Threading.Tasks.Task:this
 ; Assembly listing for method System.Net.Security.SslStream:AuthenticateAsClientAsync(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 7 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 11,  8   )     ref  ->  rbx         this class-hnd single-def <System.Net.Security.SslStream>
 ;  V01 arg1         [V01,T01] (  4,  4   )     ref  ->  r15         class-hnd single-def <System.Net.Security.SslClientAuthenticationOptions>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T03] (  3,  2.50)     ref  ->  rsi         class-hnd exact single-def "Inline stloc first use temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
 ;  V05 tmp2         [V05,T07] (  3,  2   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task>
 ;  V06 tmp3         [V06,T04] (  3,  2.50)     ref  ->  rsi         class-hnd exact single-def "Inline stloc first use temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.NetSecurityTelemetry>
-;  V08 tmp5         [V08    ] (  8,  4   )  struct (56) [rbp-0x50]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155>
+;  V08 tmp5         [V08    ] (  8,  4   )  struct (56) [rbp-0x58]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155>
 ;* V09 tmp6         [V09    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
 ;  V10 tmp7         [V10,T08] (  2,  2   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V11 tmp8         [V11,T05] (  4,  2   )     ref  ->  rax        
-;  V12 tmp9         [V12    ] (  9,  4.50)  struct (136) [rbp-0xD8]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]>
+;  V12 tmp9         [V12    ] (  9,  4.50)  struct (136) [rbp-0xE0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]>
 ;  V13 tmp10        [V13,T10] (  2,  2   )   ubyte  ->  rax         "Inlining Arg"
 ;* V14 tmp11        [V14    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
 ;  V15 tmp12        [V15,T09] (  2,  2   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V16 tmp13        [V16,T06] (  4,  2   )     ref  ->  rax        
 ;  V17 tmp14        [V17,T02] (  3,  2   )     ref  ->  r14         single-def "field V02._source (fldOffset=0x0)" P-INDEP
 ;* V18 tmp15        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09.m_task (fldOffset=0x0)" P-INDEP
 ;* V19 tmp16        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V14.m_task (fldOffset=0x0)" P-INDEP
 ;
 ; Lcl frame size = 200
 
 G_M10415_IG01:
        push     rbp
        push     r15
        push     r14
        push     rbx
        sub      rsp, 200
        lea      rbp, [rsp+0xE0]
-       xor      eax, eax
-       mov      qword ptr [rbp-0xD8], rax
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu32 zmmword ptr [rbp-0xD0], zmm8
-       vmovdqu32 zmmword ptr [rbp-0x90], zmm8
-       vmovdqa  xmmword ptr [rbp-0x50], xmm8
-       vmovdqa  xmmword ptr [rbp-0x40], xmm8
-       vmovdqa  xmmword ptr [rbp-0x30], xmm8
-       mov      qword ptr [rbp-0x20], rax
+       vmovdqu32 zmmword ptr [rbp-0xE0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0x60], zmm8
+       mov      qword ptr [rbp-0x20], rdi
        mov      rbx, rdi
        mov      r15, rsi
        mov      r14, rdx
-						;; size=83 bbWeight=1 PerfScore 18.08
+						;; size=69 bbWeight=1 PerfScore 12.83
 G_M10415_IG02:
        test     r15, r15
        je       G_M10415_IG13
        mov      rsi, gword ptr [rbx+0x20]
        test     rsi, rsi
        je       SHORT G_M10415_IG04
 						;; size=18 bbWeight=1 PerfScore 4.50
 G_M10415_IG03:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
        call     [rax]System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M10415_IG04:
        mov      rdi, gword ptr [rbx+0x38]
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslAuthenticationOptions:UpdateOptions(System.Net.Security.SslClientAuthenticationOptions):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Security.SslAuthenticationOptions:UpdateOptions(System.Net.Security.SslClientAuthenticationOptions):this
        mov      rsi, gword ptr [rbx+0x20]
        test     rsi, rsi
        je       SHORT G_M10415_IG06
 						;; size=30 bbWeight=1 PerfScore 11.75
 G_M10415_IG05:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
        call     [rax]System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M10415_IG06:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        cmp      byte  ptr [rdi+0x9D], 0
        je       SHORT G_M10415_IG09
 						;; size=22 bbWeight=1 PerfScore 6.25
 G_M10415_IG07:
        xor      edi, edi
-       mov      qword ptr [rbp-0x38], rdi
-       mov      gword ptr [rbp-0x50], rbx
-       mov      byte  ptr [rbp-0x3C], 1
-       mov      gword ptr [rbp-0x30], r14
-       mov      dword ptr [rbp-0x40], -1
-       lea      rdi, [rbp-0x50]
+       mov      qword ptr [rbp-0x40], rdi
+       mov      gword ptr [rbp-0x58], rbx
+       mov      byte  ptr [rbp-0x44], 1
+       mov      gword ptr [rbp-0x38], r14
+       mov      dword ptr [rbp-0x48], -1
+       lea      rdi, [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155](byref)
-       mov      rax, gword ptr [rbp-0x38]
+       mov      rax, gword ptr [rbp-0x40]
        test     rax, rax
        jne      SHORT G_M10415_IG08
-       lea      rdi, [rbp-0x38]
+       lea      rdi, [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
 						;; size=66 bbWeight=0.50 PerfScore 7.50
 G_M10415_IG08:
        jmp      SHORT G_M10415_IG11
 						;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M10415_IG09:
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x68]
        call     [rax+0x30]System.Net.Security.AuthenticatedStream:get_IsServer():ubyte:this
        xor      edi, edi
-       mov      qword ptr [rbp-0xC0], rdi
-       mov      gword ptr [rbp-0xD0], rbx
-       mov      byte  ptr [rbp-0xC4], al
+       mov      qword ptr [rbp-0xC8], rdi
+       mov      gword ptr [rbp-0xD8], rbx
+       mov      byte  ptr [rbp-0xCC], al
 						;; size=35 bbWeight=0.50 PerfScore 5.25
 G_M10415_IG10:
-       mov      gword ptr [rbp-0xD8], rdi
-       mov      gword ptr [rbp-0xB8], r14
-       mov      dword ptr [rbp-0xC8], -1
-       lea      rdi, [rbp-0xD8]
+       mov      gword ptr [rbp-0xE0], rdi
+       mov      gword ptr [rbp-0xC0], r14
+       mov      dword ptr [rbp-0xD0], -1
+       lea      rdi, [rbp-0xE0]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]](byref)
-       mov      rax, gword ptr [rbp-0xC0]
+       mov      rax, gword ptr [rbp-0xC8]
        test     rax, rax
        jne      SHORT G_M10415_IG11
-       lea      rdi, [rbp-0xC0]
+       lea      rdi, [rbp-0xC8]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
 						;; size=74 bbWeight=0.50 PerfScore 6.38
 G_M10415_IG11:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M10415_IG12:
        add      rsp, 200
        pop      rbx
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=14 bbWeight=1 PerfScore 3.25
 G_M10415_IG13:
        mov      edi, 0x2BFA
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 411, prolog size 74, PerfScore 67.71, instruction count 91, allocated bytes for code 411 (MethodHash=db60d750) for method System.Net.Security.SslStream:AuthenticateAsClientAsync(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)
+; Total bytes of code 397, prolog size 60, PerfScore 62.46, instruction count 87, allocated bytes for code 397 (MethodHash=db60d750) for method System.Net.Security.SslStream:AuthenticateAsClientAsync(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)
-14 (-2.85 % of base) - System.Net.Security.SslStream:AuthenticateAsClientAsync(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,int,ubyte):System.Threading.Tasks.Task:this
 ; Assembly listing for method System.Net.Security.SslStream:AuthenticateAsClientAsync(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,int,ubyte):System.Threading.Tasks.Task:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 14 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] ( 12,  9   )     ref  ->  rbx         this class-hnd single-def <System.Net.Security.SslStream>
 ;  V01 arg1         [V01,T02] (  3,  3   )     ref  ->  r15         class-hnd single-def <System.String>
 ;  V02 arg2         [V02,T03] (  3,  3   )     ref  ->  r14         class-hnd single-def <System.Security.Cryptography.X509Certificates.X509CertificateCollection>
 ;  V03 arg3         [V03,T04] (  3,  3   )     int  ->  r13         single-def
 ;  V04 arg4         [V04,T05] (  3,  3   )   ubyte  ->  r12         single-def
 ;* V05 loc0         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Net.Security.SslClientAuthenticationOptions>
 ;* V06 loc1         [V06    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Threading.CancellationToken>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T00] (  8, 16   )     ref  ->  [rbp-0xF0]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Net.Security.SslClientAuthenticationOptions>
+;  V08 tmp1         [V08,T00] (  8, 16   )     ref  ->  [rbp-0xF8]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Net.Security.SslClientAuthenticationOptions>
 ;* V09 tmp2         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp3         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V13 tmp6         [V13,T13] (  2,  2   )     int  ->  rsi        
 ;* V14 tmp7         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Threading.CancellationToken>
 ;  V16 tmp9         [V16,T06] (  3,  2.50)     ref  ->  rsi         class-hnd exact single-def "Inline stloc first use temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
 ;  V17 tmp10        [V17,T10] (  3,  2   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task>
 ;  V18 tmp11        [V18,T07] (  3,  2.50)     ref  ->  rsi         class-hnd exact single-def "Inline stloc first use temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.NetSecurityTelemetry>
-;  V20 tmp13        [V20    ] (  8,  4   )  struct (56) [rbp-0x60]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155>
+;  V20 tmp13        [V20    ] (  8,  4   )  struct (56) [rbp-0x68]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155>
 ;* V21 tmp14        [V21    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
 ;  V22 tmp15        [V22,T11] (  2,  2   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V23 tmp16        [V23,T08] (  4,  2   )     ref  ->  rax        
-;  V24 tmp17        [V24    ] (  9,  4.50)  struct (136) [rbp-0xE8]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]>
+;  V24 tmp17        [V24    ] (  9,  4.50)  struct (136) [rbp-0xF0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]>
 ;  V25 tmp18        [V25,T14] (  2,  2   )   ubyte  ->  rax         "Inlining Arg"
 ;* V26 tmp19        [V26    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
 ;  V27 tmp20        [V27,T12] (  2,  2   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V28 tmp21        [V28,T09] (  4,  2   )     ref  ->  rax        
 ;* V29 tmp22        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V06._source (fldOffset=0x0)" P-INDEP
 ;* V30 tmp23        [V30    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V15._source (fldOffset=0x0)" P-INDEP
 ;* V31 tmp24        [V31    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V21.m_task (fldOffset=0x0)" P-INDEP
 ;* V32 tmp25        [V32    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V26.m_task (fldOffset=0x0)" P-INDEP
 ;
-; Lcl frame size = 200
+; Lcl frame size = 216
 
 G_M9085_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 200
-       lea      rbp, [rsp+0xF0]
-       xor      eax, eax
-       mov      qword ptr [rbp-0xE8], rax
+       sub      rsp, 216
+       lea      rbp, [rsp+0x100]
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu32 zmmword ptr [rbp-0xE0], zmm8
-       vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
-       vmovdqa  xmmword ptr [rbp-0x60], xmm8
-       vmovdqa  xmmword ptr [rbp-0x50], xmm8
-       vmovdqa  xmmword ptr [rbp-0x40], xmm8
-       mov      qword ptr [rbp-0x30], rax
+       vmovdqu32 zmmword ptr [rbp-0xF0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0xB0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0x70], zmm8
+       mov      qword ptr [rbp-0x30], rdi
        mov      rbx, rdi
        mov      r15, rsi
        mov      r14, rdx
        mov      r13d, ecx
        mov      r12d, r8d
-						;; size=93 bbWeight=1 PerfScore 20.58
+						;; size=79 bbWeight=1 PerfScore 15.33
 G_M9085_IG02:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Security.SslClientAuthenticationOptions
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0xF0], rax
+       mov      gword ptr [rbp-0xF8], rax
        mov      word  ptr [rax+0x54], 257
        lea      rdi, bword ptr [rax+0x20]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
-       mov      r15, gword ptr [rbp-0xF0]
+       mov      r15, gword ptr [rbp-0xF8]
        lea      rdi, bword ptr [r15+0x28]
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        mov      dword ptr [r15+0x50], r13d
        test     r12b, r12b
        setne    sil
        movzx    rsi, sil
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslClientAuthenticationOptions:set_CertificateRevocationCheckMode(int):this
        call     [rax]System.Net.Security.SslClientAuthenticationOptions:set_CertificateRevocationCheckMode(int):this
        mov      rsi, gword ptr [rbx+0x38]
        mov      esi, dword ptr [rsi+0x68]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslClientAuthenticationOptions:set_EncryptionPolicy(int):this
        call     [rax]System.Net.Security.SslClientAuthenticationOptions:set_EncryptionPolicy(int):this
        mov      rsi, gword ptr [rbx+0x20]
        test     rsi, rsi
        je       SHORT G_M9085_IG04
 						;; size=120 bbWeight=1 PerfScore 24.50
 G_M9085_IG03:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
        call     [rax]System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M9085_IG04:
        mov      rdi, gword ptr [rbx+0x38]
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslAuthenticationOptions:UpdateOptions(System.Net.Security.SslClientAuthenticationOptions):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Security.SslAuthenticationOptions:UpdateOptions(System.Net.Security.SslClientAuthenticationOptions):this
        mov      rsi, gword ptr [rbx+0x20]
        test     rsi, rsi
        je       SHORT G_M9085_IG06
 						;; size=30 bbWeight=1 PerfScore 11.75
 G_M9085_IG05:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
        call     [rax]System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M9085_IG06:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        cmp      byte  ptr [rdi+0x9D], 0
        je       SHORT G_M9085_IG10
 						;; size=22 bbWeight=1 PerfScore 6.25
 G_M9085_IG07:
        xor      edi, edi
-       mov      qword ptr [rbp-0x48], rdi
-       mov      gword ptr [rbp-0x60], rbx
-       mov      byte  ptr [rbp-0x4C], 1
+       mov      qword ptr [rbp-0x50], rdi
+       mov      gword ptr [rbp-0x68], rbx
+       mov      byte  ptr [rbp-0x54], 1
 						;; size=14 bbWeight=0.50 PerfScore 1.62
 G_M9085_IG08:
-       mov      qword ptr [rbp-0x40], rdi
-       mov      dword ptr [rbp-0x50], -1
-       lea      rdi, [rbp-0x60]
+       mov      qword ptr [rbp-0x48], rdi
+       mov      dword ptr [rbp-0x58], -1
+       lea      rdi, [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155](byref)
-       mov      rax, gword ptr [rbp-0x48]
+       mov      rax, gword ptr [rbp-0x50]
        test     rax, rax
        jne      SHORT G_M9085_IG09
-       lea      rdi, [rbp-0x48]
+       lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
 						;; size=52 bbWeight=0.50 PerfScore 5.88
 G_M9085_IG09:
        jmp      SHORT G_M9085_IG13
 						;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M9085_IG10:
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x68]
        call     [rax+0x30]System.Net.Security.AuthenticatedStream:get_IsServer():ubyte:this
        xor      edi, edi
-       mov      qword ptr [rbp-0xD0], rdi
-       mov      gword ptr [rbp-0xE0], rbx
-       mov      byte  ptr [rbp-0xD4], al
+       mov      qword ptr [rbp-0xD8], rdi
+       mov      gword ptr [rbp-0xE8], rbx
+       mov      byte  ptr [rbp-0xDC], al
 						;; size=35 bbWeight=0.50 PerfScore 5.25
 G_M9085_IG11:
-       mov      gword ptr [rbp-0xE8], rdi
+       mov      gword ptr [rbp-0xF0], rdi
 						;; size=7 bbWeight=0.50 PerfScore 0.50
 G_M9085_IG12:
-       mov      qword ptr [rbp-0xC8], rdi
-       mov      dword ptr [rbp-0xD8], -1
-       lea      rdi, [rbp-0xE8]
+       mov      qword ptr [rbp-0xD0], rdi
+       mov      dword ptr [rbp-0xE0], -1
+       lea      rdi, [rbp-0xF0]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]](byref)
-       mov      rax, gword ptr [rbp-0xD0]
+       mov      rax, gword ptr [rbp-0xD8]
        test     rax, rax
        jne      SHORT G_M9085_IG13
-       lea      rdi, [rbp-0xD0]
+       lea      rdi, [rbp-0xD8]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
 						;; size=67 bbWeight=0.50 PerfScore 5.88
 G_M9085_IG13:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M9085_IG14:
-       add      rsp, 200
+       add      rsp, 216
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 491, prolog size 78, PerfScore 91.21, instruction count 111, allocated bytes for code 491 (MethodHash=9f20dc82) for method System.Net.Security.SslStream:AuthenticateAsClientAsync(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,int,ubyte):System.Threading.Tasks.Task:this (FullOpts)
+; Total bytes of code 477, prolog size 64, PerfScore 85.96, instruction count 107, allocated bytes for code 477 (MethodHash=9f20dc82) for method System.Net.Security.SslStream:AuthenticateAsClientAsync(System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,int,ubyte):System.Threading.Tasks.Task:this (FullOpts)
-14 (-3.06 % of base) - System.Net.Security.SslStream:AuthenticateAsServerAsync(System.Security.Cryptography.X509Certificates.X509Certificate,ubyte,int,ubyte):System.Threading.Tasks.Task:this
 ; Assembly listing for method System.Net.Security.SslStream:AuthenticateAsServerAsync(System.Security.Cryptography.X509Certificates.X509Certificate,ubyte,int,ubyte):System.Threading.Tasks.Task:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 14 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] ( 10,  7.50)     ref  ->  rbx         this class-hnd single-def <System.Net.Security.SslStream>
 ;  V01 arg1         [V01,T02] (  3,  3   )     ref  ->  r15         class-hnd single-def <System.Security.Cryptography.X509Certificates.X509Certificate>
 ;  V02 arg2         [V02,T03] (  3,  3   )   ubyte  ->  r14         single-def
 ;  V03 arg3         [V03,T04] (  3,  3   )     int  ->  r13         single-def
 ;  V04 arg4         [V04,T05] (  3,  3   )   ubyte  ->  r12         single-def
 ;* V05 loc0         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Net.Security.SslServerAuthenticationOptions>
 ;* V06 loc1         [V06    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Threading.CancellationToken>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T00] (  8, 16   )     ref  ->  [rbp-0xF0]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Net.Security.SslServerAuthenticationOptions>
+;  V08 tmp1         [V08,T00] (  8, 16   )     ref  ->  [rbp-0xF8]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Net.Security.SslServerAuthenticationOptions>
 ;* V09 tmp2         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp3         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V13 tmp6         [V13,T12] (  2,  2   )     int  ->  rsi        
 ;* V14 tmp7         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Threading.CancellationToken>
 ;  V16 tmp9         [V16,T09] (  3,  2   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task>
 ;  V17 tmp10        [V17,T06] (  3,  2.50)     ref  ->  rsi         class-hnd exact single-def "Inline stloc first use temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.NetSecurityTelemetry>
-;  V19 tmp12        [V19    ] (  8,  4   )  struct (56) [rbp-0x60]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155>
+;  V19 tmp12        [V19    ] (  8,  4   )  struct (56) [rbp-0x68]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155>
 ;* V20 tmp13        [V20    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
 ;  V21 tmp14        [V21,T10] (  2,  2   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V22 tmp15        [V22,T07] (  4,  2   )     ref  ->  rax        
-;  V23 tmp16        [V23    ] (  9,  4.50)  struct (136) [rbp-0xE8]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]>
+;  V23 tmp16        [V23    ] (  9,  4.50)  struct (136) [rbp-0xF0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]>
 ;  V24 tmp17        [V24,T13] (  2,  2   )   ubyte  ->  rax         "Inlining Arg"
 ;* V25 tmp18        [V25    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
 ;  V26 tmp19        [V26,T11] (  2,  2   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V27 tmp20        [V27,T08] (  4,  2   )     ref  ->  rax        
 ;* V28 tmp21        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V06._source (fldOffset=0x0)" P-INDEP
 ;* V29 tmp22        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V15._source (fldOffset=0x0)" P-INDEP
 ;* V30 tmp23        [V30    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V20.m_task (fldOffset=0x0)" P-INDEP
 ;* V31 tmp24        [V31    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V25.m_task (fldOffset=0x0)" P-INDEP
 ;
-; Lcl frame size = 200
+; Lcl frame size = 216
 
 G_M29142_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 200
-       lea      rbp, [rsp+0xF0]
-       xor      eax, eax
-       mov      qword ptr [rbp-0xE8], rax
+       sub      rsp, 216
+       lea      rbp, [rsp+0x100]
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu32 zmmword ptr [rbp-0xE0], zmm8
-       vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
-       vmovdqa  xmmword ptr [rbp-0x60], xmm8
-       vmovdqa  xmmword ptr [rbp-0x50], xmm8
-       vmovdqa  xmmword ptr [rbp-0x40], xmm8
-       mov      qword ptr [rbp-0x30], rax
+       vmovdqu32 zmmword ptr [rbp-0xF0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0xB0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0x70], zmm8
+       mov      qword ptr [rbp-0x30], rdi
        mov      rbx, rdi
        mov      r15, rsi
        mov      r14d, edx
        mov      r13d, ecx
        mov      r12d, r8d
-						;; size=93 bbWeight=1 PerfScore 20.58
+						;; size=79 bbWeight=1 PerfScore 15.33
 G_M29142_IG02:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Security.SslServerAuthenticationOptions
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0xF0], rax
+       mov      gword ptr [rbp-0xF8], rax
        mov      byte  ptr [rax+0x4D], 1
        lea      rdi, bword ptr [rax+0x20]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
-       mov      r15, gword ptr [rbp-0xF0]
+       mov      r15, gword ptr [rbp-0xF8]
        mov      byte  ptr [r15+0x4E], r14b
        mov      dword ptr [r15+0x44], r13d
        test     r12b, r12b
        setne    sil
        movzx    rsi, sil
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslServerAuthenticationOptions:set_CertificateRevocationCheckMode(int):this
        call     [rax]System.Net.Security.SslServerAuthenticationOptions:set_CertificateRevocationCheckMode(int):this
        mov      rsi, gword ptr [rbx+0x38]
        mov      esi, dword ptr [rsi+0x68]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslServerAuthenticationOptions:set_EncryptionPolicy(int):this
        call     [rax]System.Net.Security.SslServerAuthenticationOptions:set_EncryptionPolicy(int):this
        mov      rdi, gword ptr [rbx+0x38]
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslAuthenticationOptions:UpdateOptions(System.Net.Security.SslServerAuthenticationOptions):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Security.SslAuthenticationOptions:UpdateOptions(System.Net.Security.SslServerAuthenticationOptions):this
        mov      rsi, gword ptr [rbx+0x20]
        test     rsi, rsi
        je       SHORT G_M29142_IG04
 						;; size=131 bbWeight=1 PerfScore 32.25
 G_M29142_IG03:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
        call     [rax]System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M29142_IG04:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        cmp      byte  ptr [rdi+0x9D], 0
        je       SHORT G_M29142_IG08
 						;; size=22 bbWeight=1 PerfScore 6.25
 G_M29142_IG05:
        xor      edi, edi
-       mov      qword ptr [rbp-0x48], rdi
-       mov      gword ptr [rbp-0x60], rbx
-       mov      byte  ptr [rbp-0x4C], 1
+       mov      qword ptr [rbp-0x50], rdi
+       mov      gword ptr [rbp-0x68], rbx
+       mov      byte  ptr [rbp-0x54], 1
 						;; size=14 bbWeight=0.50 PerfScore 1.62
 G_M29142_IG06:
-       mov      qword ptr [rbp-0x40], rdi
-       mov      dword ptr [rbp-0x50], -1
-       lea      rdi, [rbp-0x60]
+       mov      qword ptr [rbp-0x48], rdi
+       mov      dword ptr [rbp-0x58], -1
+       lea      rdi, [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155](byref)
-       mov      rax, gword ptr [rbp-0x48]
+       mov      rax, gword ptr [rbp-0x50]
        test     rax, rax
        jne      SHORT G_M29142_IG07
-       lea      rdi, [rbp-0x48]
+       lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
 						;; size=52 bbWeight=0.50 PerfScore 5.88
 G_M29142_IG07:
        jmp      SHORT G_M29142_IG11
 						;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M29142_IG08:
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x68]
        call     [rax+0x30]System.Net.Security.AuthenticatedStream:get_IsServer():ubyte:this
        xor      edi, edi
-       mov      qword ptr [rbp-0xD0], rdi
-       mov      gword ptr [rbp-0xE0], rbx
-       mov      byte  ptr [rbp-0xD4], al
+       mov      qword ptr [rbp-0xD8], rdi
+       mov      gword ptr [rbp-0xE8], rbx
+       mov      byte  ptr [rbp-0xDC], al
 						;; size=35 bbWeight=0.50 PerfScore 5.25
 G_M29142_IG09:
-       mov      gword ptr [rbp-0xE8], rdi
+       mov      gword ptr [rbp-0xF0], rdi
 						;; size=7 bbWeight=0.50 PerfScore 0.50
 G_M29142_IG10:
-       mov      qword ptr [rbp-0xC8], rdi
-       mov      dword ptr [rbp-0xD8], -1
-       lea      rdi, [rbp-0xE8]
+       mov      qword ptr [rbp-0xD0], rdi
+       mov      dword ptr [rbp-0xE0], -1
+       lea      rdi, [rbp-0xF0]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]](byref)
-       mov      rax, gword ptr [rbp-0xD0]
+       mov      rax, gword ptr [rbp-0xD8]
        test     rax, rax
        jne      SHORT G_M29142_IG11
-       lea      rdi, [rbp-0xD0]
+       lea      rdi, [rbp-0xD8]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
 						;; size=67 bbWeight=0.50 PerfScore 5.88
 G_M29142_IG11:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M29142_IG12:
-       add      rsp, 200
+       add      rsp, 216
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 457, prolog size 78, PerfScore 85.46, instruction count 103, allocated bytes for code 457 (MethodHash=eb228e29) for method System.Net.Security.SslStream:AuthenticateAsServerAsync(System.Security.Cryptography.X509Certificates.X509Certificate,ubyte,int,ubyte):System.Threading.Tasks.Task:this (FullOpts)
+; Total bytes of code 443, prolog size 64, PerfScore 80.21, instruction count 99, allocated bytes for code 443 (MethodHash=eb228e29) for method System.Net.Security.SslStream:AuthenticateAsServerAsync(System.Security.Cryptography.X509Certificates.X509Certificate,ubyte,int,ubyte):System.Threading.Tasks.Task:this (FullOpts)
-14 (-3.16 % of base) - System.Net.Security.SslStream:AuthenticateAsServerAsync(System.Security.Cryptography.X509Certificates.X509Certificate,ubyte,ubyte):System.Threading.Tasks.Task:this
 ; Assembly listing for method System.Net.Security.SslStream:AuthenticateAsServerAsync(System.Security.Cryptography.X509Certificates.X509Certificate,ubyte,ubyte):System.Threading.Tasks.Task:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 13 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] ( 10,  7.50)     ref  ->  rbx         this class-hnd single-def <System.Net.Security.SslStream>
 ;  V01 arg1         [V01,T02] (  3,  3   )     ref  ->  r15         class-hnd single-def <System.Security.Cryptography.X509Certificates.X509Certificate>
 ;  V02 arg2         [V02,T03] (  3,  3   )   ubyte  ->  r14         single-def
 ;  V03 arg3         [V03,T04] (  3,  3   )   ubyte  ->  r13         single-def
 ;* V04 loc0         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Net.Security.SslServerAuthenticationOptions>
 ;* V05 loc1         [V05    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Threading.CancellationToken>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T00] (  7, 14   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Net.Security.SslServerAuthenticationOptions>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp4         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V11 tmp5         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V12 tmp6         [V12,T11] (  2,  2   )     int  ->  rsi        
 ;* V13 tmp7         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V14 tmp8         [V14    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Threading.CancellationToken>
 ;  V15 tmp9         [V15,T08] (  3,  2   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task>
 ;  V16 tmp10        [V16,T05] (  3,  2.50)     ref  ->  rsi         class-hnd exact single-def "Inline stloc first use temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
 ;* V17 tmp11        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.NetSecurityTelemetry>
-;  V18 tmp12        [V18    ] (  8,  4   )  struct (56) [rbp-0x60]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155>
+;  V18 tmp12        [V18    ] (  8,  4   )  struct (56) [rbp-0x68]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155>
 ;* V19 tmp13        [V19    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
 ;  V20 tmp14        [V20,T09] (  2,  2   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V21 tmp15        [V21,T06] (  4,  2   )     ref  ->  rax        
-;  V22 tmp16        [V22    ] (  9,  4.50)  struct (136) [rbp-0xE8]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]>
+;  V22 tmp16        [V22    ] (  9,  4.50)  struct (136) [rbp-0xF0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]>
 ;  V23 tmp17        [V23,T12] (  2,  2   )   ubyte  ->  rax         "Inlining Arg"
 ;* V24 tmp18        [V24    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
 ;  V25 tmp19        [V25,T10] (  2,  2   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V26 tmp20        [V26,T07] (  4,  2   )     ref  ->  rax        
 ;* V27 tmp21        [V27    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V05._source (fldOffset=0x0)" P-INDEP
 ;* V28 tmp22        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V14._source (fldOffset=0x0)" P-INDEP
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V19.m_task (fldOffset=0x0)" P-INDEP
 ;* V30 tmp24        [V30    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V24.m_task (fldOffset=0x0)" P-INDEP
 ;
 ; Lcl frame size = 200
 
 G_M24585_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 200
        lea      rbp, [rsp+0xF0]
-       xor      eax, eax
-       mov      qword ptr [rbp-0xE8], rax
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu32 zmmword ptr [rbp-0xE0], zmm8
-       vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
-       vmovdqa  xmmword ptr [rbp-0x60], xmm8
-       vmovdqa  xmmword ptr [rbp-0x50], xmm8
-       vmovdqa  xmmword ptr [rbp-0x40], xmm8
-       mov      qword ptr [rbp-0x30], rax
+       vmovdqu32 zmmword ptr [rbp-0xF0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0xB0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0x70], zmm8
+       mov      qword ptr [rbp-0x30], rdi
        mov      rbx, rdi
        mov      r15, rsi
        mov      r14d, edx
        mov      r13d, ecx
-						;; size=90 bbWeight=1 PerfScore 20.33
+						;; size=76 bbWeight=1 PerfScore 15.08
 G_M24585_IG02:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Security.SslServerAuthenticationOptions
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
        mov      byte  ptr [r12+0x4D], 1
        lea      rdi, bword ptr [r12+0x20]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        mov      byte  ptr [r12+0x4E], r14b
        test     r13b, r13b
        setne    sil
        movzx    rsi, sil
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslServerAuthenticationOptions:set_CertificateRevocationCheckMode(int):this
        call     [rax]System.Net.Security.SslServerAuthenticationOptions:set_CertificateRevocationCheckMode(int):this
        mov      rsi, gword ptr [rbx+0x38]
        mov      esi, dword ptr [rsi+0x68]
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslServerAuthenticationOptions:set_EncryptionPolicy(int):this
        call     [rax]System.Net.Security.SslServerAuthenticationOptions:set_EncryptionPolicy(int):this
        mov      rdi, gword ptr [rbx+0x38]
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslAuthenticationOptions:UpdateOptions(System.Net.Security.SslServerAuthenticationOptions):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Security.SslAuthenticationOptions:UpdateOptions(System.Net.Security.SslServerAuthenticationOptions):this
        mov      rsi, gword ptr [rbx+0x20]
        test     rsi, rsi
        je       SHORT G_M24585_IG04
 						;; size=120 bbWeight=1 PerfScore 29.50
 G_M24585_IG03:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
        call     [rax]System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M24585_IG04:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        cmp      byte  ptr [rdi+0x9D], 0
        je       SHORT G_M24585_IG08
 						;; size=22 bbWeight=1 PerfScore 6.25
 G_M24585_IG05:
        xor      edi, edi
-       mov      qword ptr [rbp-0x48], rdi
-       mov      gword ptr [rbp-0x60], rbx
-       mov      byte  ptr [rbp-0x4C], 1
+       mov      qword ptr [rbp-0x50], rdi
+       mov      gword ptr [rbp-0x68], rbx
+       mov      byte  ptr [rbp-0x54], 1
 						;; size=14 bbWeight=0.50 PerfScore 1.62
 G_M24585_IG06:
-       mov      qword ptr [rbp-0x40], rdi
-       mov      dword ptr [rbp-0x50], -1
-       lea      rdi, [rbp-0x60]
+       mov      qword ptr [rbp-0x48], rdi
+       mov      dword ptr [rbp-0x58], -1
+       lea      rdi, [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155](byref)
-       mov      rax, gword ptr [rbp-0x48]
+       mov      rax, gword ptr [rbp-0x50]
        test     rax, rax
        jne      SHORT G_M24585_IG07
-       lea      rdi, [rbp-0x48]
+       lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
 						;; size=52 bbWeight=0.50 PerfScore 5.88
 G_M24585_IG07:
        jmp      SHORT G_M24585_IG11
 						;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M24585_IG08:
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x68]
        call     [rax+0x30]System.Net.Security.AuthenticatedStream:get_IsServer():ubyte:this
        xor      edi, edi
-       mov      qword ptr [rbp-0xD0], rdi
-       mov      gword ptr [rbp-0xE0], rbx
-       mov      byte  ptr [rbp-0xD4], al
+       mov      qword ptr [rbp-0xD8], rdi
+       mov      gword ptr [rbp-0xE8], rbx
+       mov      byte  ptr [rbp-0xDC], al
 						;; size=35 bbWeight=0.50 PerfScore 5.25
 G_M24585_IG09:
-       mov      gword ptr [rbp-0xE8], rdi
+       mov      gword ptr [rbp-0xF0], rdi
 						;; size=7 bbWeight=0.50 PerfScore 0.50
 G_M24585_IG10:
-       mov      qword ptr [rbp-0xC8], rdi
-       mov      dword ptr [rbp-0xD8], -1
-       lea      rdi, [rbp-0xE8]
+       mov      qword ptr [rbp-0xD0], rdi
+       mov      dword ptr [rbp-0xE0], -1
+       lea      rdi, [rbp-0xF0]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]](byref)
-       mov      rax, gword ptr [rbp-0xD0]
+       mov      rax, gword ptr [rbp-0xD8]
        test     rax, rax
        jne      SHORT G_M24585_IG11
-       lea      rdi, [rbp-0xD0]
+       lea      rdi, [rbp-0xD8]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
 						;; size=67 bbWeight=0.50 PerfScore 5.88
 G_M24585_IG11:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M24585_IG12:
        add      rsp, 200
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 443, prolog size 78, PerfScore 82.46, instruction count 100, allocated bytes for code 443 (MethodHash=f8da9ff6) for method System.Net.Security.SslStream:AuthenticateAsServerAsync(System.Security.Cryptography.X509Certificates.X509Certificate,ubyte,ubyte):System.Threading.Tasks.Task:this (FullOpts)
+; Total bytes of code 429, prolog size 64, PerfScore 77.21, instruction count 96, allocated bytes for code 429 (MethodHash=f8da9ff6) for method System.Net.Security.SslStream:AuthenticateAsServerAsync(System.Security.Cryptography.X509Certificates.X509Certificate,ubyte,ubyte):System.Threading.Tasks.Task:this (FullOpts)
-14 (-3.12 % of base) - System.Net.Security.SslStream:BeginAuthenticateAsClient(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken,System.AsyncCallback,System.Object):System.IAsyncResult:this
 ; Assembly listing for method System.Net.Security.SslStream:BeginAuthenticateAsClient(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 8 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 11,  8   )     ref  ->  rbx         this class-hnd single-def <System.Net.Security.SslStream>
 ;  V01 arg1         [V01,T01] (  4,  4   )     ref  ->  r15         class-hnd single-def <System.Net.Security.SslClientAuthenticationOptions>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
 ;  V03 arg3         [V03,T02] (  3,  3   )     ref  ->  r14         class-hnd single-def <System.AsyncCallback>
 ;  V04 arg4         [V04,T03] (  3,  3   )     ref  ->  r13         class-hnd single-def <System.Object>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T05] (  3,  2.50)     ref  ->  rsi         class-hnd exact single-def "Inline stloc first use temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
 ;  V07 tmp2         [V07,T09] (  3,  2   )     ref  ->  rdi         class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task>
 ;  V08 tmp3         [V08,T06] (  3,  2.50)     ref  ->  rsi         class-hnd exact single-def "Inline stloc first use temp" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
 ;* V09 tmp4         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.NetSecurityTelemetry>
-;  V10 tmp5         [V10    ] (  8,  4   )  struct (56) [rbp-0x60]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155>
+;  V10 tmp5         [V10    ] (  8,  4   )  struct (56) [rbp-0x68]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155>
 ;* V11 tmp6         [V11    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
 ;  V12 tmp7         [V12,T10] (  2,  2   )     ref  ->  rdi         class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V13 tmp8         [V13,T07] (  4,  2   )     ref  ->  rdi        
-;  V14 tmp9         [V14    ] (  9,  4.50)  struct (136) [rbp-0xE8]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]>
+;  V14 tmp9         [V14    ] (  9,  4.50)  struct (136) [rbp-0xF0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]>
 ;  V15 tmp10        [V15,T12] (  2,  2   )   ubyte  ->  rax         "Inlining Arg"
 ;* V16 tmp11        [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
 ;  V17 tmp12        [V17,T11] (  2,  2   )     ref  ->  rdi         class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V18 tmp13        [V18,T08] (  4,  2   )     ref  ->  rdi        
 ;  V19 tmp14        [V19,T04] (  3,  2   )     ref  ->  r12         single-def "field V02._source (fldOffset=0x0)" P-INDEP
 ;* V20 tmp15        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11.m_task (fldOffset=0x0)" P-INDEP
 ;* V21 tmp16        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V16.m_task (fldOffset=0x0)" P-INDEP
 ;
 ; Lcl frame size = 200
 
 G_M30991_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 200
        lea      rbp, [rsp+0xF0]
-       xor      eax, eax
-       mov      qword ptr [rbp-0xE8], rax
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu32 zmmword ptr [rbp-0xE0], zmm8
-       vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
-       vmovdqa  xmmword ptr [rbp-0x60], xmm8
-       vmovdqa  xmmword ptr [rbp-0x50], xmm8
-       vmovdqa  xmmword ptr [rbp-0x40], xmm8
-       mov      qword ptr [rbp-0x30], rax
+       vmovdqu32 zmmword ptr [rbp-0xF0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0xB0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0x70], zmm8
+       mov      qword ptr [rbp-0x30], rdi
        mov      rbx, rdi
        mov      r15, rsi
        mov      r12, rdx
        mov      r14, rcx
        mov      r13, r8
-						;; size=93 bbWeight=1 PerfScore 20.58
+						;; size=79 bbWeight=1 PerfScore 15.33
 G_M30991_IG02:
        test     r15, r15
        je       G_M30991_IG13
        mov      rsi, gword ptr [rbx+0x20]
        test     rsi, rsi
        je       SHORT G_M30991_IG04
 						;; size=18 bbWeight=1 PerfScore 4.50
 G_M30991_IG03:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
        call     [rax]System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M30991_IG04:
        mov      rdi, gword ptr [rbx+0x38]
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslAuthenticationOptions:UpdateOptions(System.Net.Security.SslClientAuthenticationOptions):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Security.SslAuthenticationOptions:UpdateOptions(System.Net.Security.SslClientAuthenticationOptions):this
        mov      rsi, gword ptr [rbx+0x20]
        test     rsi, rsi
        je       SHORT G_M30991_IG06
 						;; size=30 bbWeight=1 PerfScore 11.75
 G_M30991_IG05:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
        call     [rax]System.Net.Security.SslStream:<ThrowIfExceptional>g__ThrowExceptional|133_0(System.Runtime.ExceptionServices.ExceptionDispatchInfo):this
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M30991_IG06:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        cmp      byte  ptr [rdi+0x9D], 0
        je       SHORT G_M30991_IG09
 						;; size=22 bbWeight=1 PerfScore 6.25
 G_M30991_IG07:
        xor      edi, edi
-       mov      qword ptr [rbp-0x48], rdi
-       mov      gword ptr [rbp-0x60], rbx
-       mov      byte  ptr [rbp-0x4C], 1
-       mov      gword ptr [rbp-0x40], r12
-       mov      dword ptr [rbp-0x50], -1
-       lea      rdi, [rbp-0x60]
+       mov      qword ptr [rbp-0x50], rdi
+       mov      gword ptr [rbp-0x68], rbx
+       mov      byte  ptr [rbp-0x54], 1
+       mov      gword ptr [rbp-0x48], r12
+       mov      dword ptr [rbp-0x58], -1
+       lea      rdi, [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ProcessAuthenticationWithTelemetryAsync>d__155](byref)
-       mov      rdi, gword ptr [rbp-0x48]
+       mov      rdi, gword ptr [rbp-0x50]
        test     rdi, rdi
        jne      SHORT G_M30991_IG08
-       lea      rdi, [rbp-0x48]
+       lea      rdi, [rbp-0x50]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        mov      rdi, rax
 						;; size=69 bbWeight=0.50 PerfScore 7.62
 G_M30991_IG08:
        jmp      SHORT G_M30991_IG11
 						;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M30991_IG09:
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x68]
        call     [rax+0x30]System.Net.Security.AuthenticatedStream:get_IsServer():ubyte:this
        xor      edi, edi
-       mov      qword ptr [rbp-0xD0], rdi
-       mov      gword ptr [rbp-0xE0], rbx
-       mov      byte  ptr [rbp-0xD4], al
+       mov      qword ptr [rbp-0xD8], rdi
+       mov      gword ptr [rbp-0xE8], rbx
+       mov      byte  ptr [rbp-0xDC], al
 						;; size=35 bbWeight=0.50 PerfScore 5.25
 G_M30991_IG10:
-       mov      gword ptr [rbp-0xE8], rdi
-       mov      gword ptr [rbp-0xC8], r12
-       mov      dword ptr [rbp-0xD8], -1
-       lea      rdi, [rbp-0xE8]
+       mov      gword ptr [rbp-0xF0], rdi
+       mov      gword ptr [rbp-0xD0], r12
+       mov      dword ptr [rbp-0xE0], -1
+       lea      rdi, [rbp-0xF0]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Security.SslStream+<ForceAuthenticationAsync>d__158`1[System.Net.Security.AsyncReadWriteAdapter]](byref)
-       mov      rdi, gword ptr [rbp-0xD0]
+       mov      rdi, gword ptr [rbp-0xD8]
        test     rdi, rdi
        jne      SHORT G_M30991_IG11
-       lea      rdi, [rbp-0xD0]
+       lea      rdi, [rbp-0xD8]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
        mov      rdi, rax
 						;; size=77 bbWeight=0.50 PerfScore 6.50
 G_M30991_IG11:
        mov      rsi, r14
        mov      rdx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskToAsyncResult:Begin(System.Threading.Tasks.Task,System.AsyncCallback,System.Object):System.IAsyncResult
        call     [rax]System.Threading.Tasks.TaskToAsyncResult:Begin(System.Threading.Tasks.Task,System.AsyncCallback,System.Object):System.IAsyncResult
        nop      
 						;; size=19 bbWeight=1 PerfScore 4.00
 G_M30991_IG12:
        add      rsp, 200
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 G_M30991_IG13:
        mov      edi, 0x2BFA
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 449, prolog size 78, PerfScore 75.21, instruction count 103, allocated bytes for code 449 (MethodHash=b01086f0) for method System.Net.Security.SslStream:BeginAuthenticateAsClient(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
+; Total bytes of code 435, prolog size 64, PerfScore 69.96, instruction count 99, allocated bytes for code 435 (MethodHash=b01086f0) for method System.Net.Security.SslStream:BeginAuthenticateAsClient(System.Net.Security.SslClientAuthenticationOptions,System.Threading.CancellationToken,System.AsyncCallback,System.Object):System.IAsyncResult:this (FullOpts)
-14 (-1.56 % of base) - System.Net.WebClient:UploadDataAsync(System.Uri,System.String,ubyte[],System.Object):this
 ; Assembly listing for method System.Net.WebClient:UploadDataAsync(System.Uri,System.String,ubyte[],System.Object):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 4 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 16, 13   )     ref  ->  [rbp-0xD8]  this class-hnd EH-live single-def <System.Net.WebClient>
+;  V00 this         [V00,T00] ( 16, 13   )     ref  ->  [rbp-0xE0]  this class-hnd EH-live single-def <System.Net.WebClient>
 ;  V01 arg1         [V01,T02] (  5,  5   )     ref  ->  r15         class-hnd single-def <System.Uri>
 ;  V02 arg2         [V02,T03] (  5,  5   )     ref  ->  r14         class-hnd <System.String>
 ;  V03 arg3         [V03,T04] (  5,  5   )     ref  ->  r13         class-hnd single-def <ubyte[]>
 ;  V04 arg4         [V04,T07] (  3,  3   )     ref  ->  r12         class-hnd single-def <System.Object>
-;  V05 loc0         [V05,T08] (  7,  4   )     ref  ->  [rbp-0xE0]  class-hnd exact EH-live spill-single-def <System.Net.WebClient+<>c__DisplayClass178_0>
+;  V05 loc0         [V05,T08] (  7,  4   )     ref  ->  [rbp-0xE8]  class-hnd exact EH-live spill-single-def <System.Net.WebClient+<>c__DisplayClass178_0>
 ;* V06 loc1         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Net.WebRequest>
 ;  V07 loc2         [V07,T11] (  3,  3   )     int  ->  r12        
 ;* V08 loc3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Net.WebRequest>
-;  V09 loc4         [V09,T17] (  3,  0   )     ref  ->  [rbp-0xE8]  must-init class-hnd EH-live single-def <System.Exception>
+;  V09 loc4         [V09,T17] (  3,  0   )     ref  ->  [rbp-0xF0]  must-init class-hnd EH-live single-def <System.Exception>
 ;* V10 loc5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Net.UploadDataCompletedEventArgs>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Net.WebClient+<>c__DisplayClass178_0>
 ;  V13 tmp2         [V13,T05] (  3,  6   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Net.WebRequest>
 ;  V14 tmp3         [V14,T01] (  4,  8   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Action`3[ubyte[],System.Exception,System.ComponentModel.AsyncOperation]>
-;  V15 tmp4         [V15,T09] (  2,  4   )     ref  ->  [rbp-0xF0]  class-hnd exact spill-single-def "impAppendStmt" <System.ComponentModel.AsyncOperation>
+;  V15 tmp4         [V15,T09] (  2,  4   )     ref  ->  [rbp-0xF8]  class-hnd exact spill-single-def "impAppendStmt" <System.ComponentModel.AsyncOperation>
 ;  V16 tmp5         [V16,T21] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
 ;  V17 tmp6         [V17,T18] (  3,  0   )     ref  ->  rsi         class-hnd single-def "dup spill" <System.Exception>
 ;* V18 tmp7         [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V19 tmp8         [V19,T20] (  3,  0   )     int  ->  rax        
 ;* V20 tmp9         [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V21 tmp10        [V21,T22] (  2,  0   )     ref  ->  rbx         class-hnd single-def "non-inline candidate call" <System.Exception>
 ;  V22 tmp11        [V22,T24] (  2,  0   )     int  ->  r14         "non-inline candidate call"
 ;  V23 tmp12        [V23,T19] (  3,  0   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Net.UploadDataCompletedEventArgs>
 ;  V24 tmp13        [V24,T15] (  2,  2   )    long  ->  r12         "Inline return value spill temp"
 ;  V25 tmp14        [V25,T06] (  3,  6   )    long  ->  r14         "Inlining Arg"
-;  V26 tmp15        [V26    ] ( 13, 13   )  struct (168) [rbp-0xD0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.WebClient+<UploadBitsAsync>d__152>
+;  V26 tmp15        [V26    ] ( 13, 13   )  struct (168) [rbp-0xD8]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.WebClient+<UploadBitsAsync>d__152>
 ;* V27 tmp16        [V27    ] (  0,  0   )  struct (16) zero-ref    multireg-ret single-def "RetBuf for struct inline return candidates." <System.Runtime.CompilerServices.AsyncVoidMethodBuilder>
 ;  V28 tmp17        [V28,T13] (  2,  2   )     ref  ->  rax         "field V27._synchronizationContext (fldOffset=0x0)" P-INDEP
 ;  V29 tmp18        [V29,T14] (  2,  2   )     ref  ->  rdx         "field V27._builder (fldOffset=0x8)" P-INDEP
 ;  V30 tmp19        [V30,T10] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V31 tmp20        [V31,T23] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
 ;  V32 PSPSym       [V32,T16] (  1,  1   )    long  ->  [rbp-0x100]  do-not-enreg[V] "PSPSym"
 ;  V33 cse0         [V33,T12] (  3,  3   )    long  ->  r14         "CSE #02: moderate"
 ;
 ; Lcl frame size = 216
 
 G_M33035_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 216
        lea      rbp, [rsp+0x100]
-       xor      eax, eax
-       mov      qword ptr [rbp-0xE8], rax
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu32 zmmword ptr [rbp-0xE0], zmm8
-       vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
-       vmovdqa  xmmword ptr [rbp-0x60], xmm8
-       vmovdqa  xmmword ptr [rbp-0x50], xmm8
-       vmovdqa  xmmword ptr [rbp-0x40], xmm8
-       mov      qword ptr [rbp-0x30], rax
+       vmovdqu32 zmmword ptr [rbp-0xF0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0xB0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0x70], zmm8
        mov      qword ptr [rbp-0x100], rsp
-       mov      gword ptr [rbp-0xD8], rdi
+       mov      qword ptr [rbp-0x30], rdi
+       mov      gword ptr [rbp-0xE0], rdi
        mov      rbx, rdi
        mov      r15, rsi
        mov      r14, rdx
        mov      r13, rcx
        mov      r12, r8
-						;; size=107 bbWeight=1 PerfScore 22.58
+						;; size=93 bbWeight=1 PerfScore 17.33
 G_M33035_IG02:
        mov      rdi, 0xD1FFAB1E      ; System.Net.WebClient+<>c__DisplayClass178_0
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0xE0], rax
+       mov      gword ptr [rbp-0xE8], rax
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        test     r15, r15
        je       G_M33035_IG10
        test     r13, r13
        je       G_M33035_IG09
        test     r14, r14
        jne      SHORT G_M33035_IG03
        mov      rdi, rbx
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:MapToDefaultMethod(System.Uri):System.String:this
        call     [rax]System.Net.WebClient:MapToDefaultMethod(System.Uri):System.String:this
        mov      r14, rax
 						;; size=78 bbWeight=1 PerfScore 11.75
 G_M33035_IG03:
        mov      rdi, rbx
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:StartAsyncOperation(System.Object):System.ComponentModel.AsyncOperation:this
        call     [rax]System.Net.WebClient:StartAsyncOperation(System.Object):System.ComponentModel.AsyncOperation:this
-       mov      rcx, gword ptr [rbp-0xE0]
+       mov      rcx, gword ptr [rbp-0xE8]
        lea      rdi, bword ptr [rcx+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        nop      
 						;; size=38 bbWeight=1 PerfScore 6.75
 G_M33035_IG04:
        lea      rdi, bword ptr [rbx+0x50]
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        mov      r14d, dword ptr [r13+0x08]
        mov      qword ptr [rbx+0x128], r14
        mov      rdi, rbx
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:GetUri(System.Uri):System.Uri:this
        call     [rax]System.Net.WebClient:GetUri(System.Uri):System.Uri:this
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x58]
        call     [rax]System.Net.WebClient:GetWebRequest(System.Uri):System.Net.WebRequest:this
        mov      r15, rax
        lea      rdi, bword ptr [rbx+0x40]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        xor      r12d, r12d
        cmp      gword ptr [rbx+0x118], 0
        je       SHORT G_M33035_IG05
        mov      r12d, 0x2000
        cmp      r14, 0x2000
        cmovl    r12, r14
 						;; size=101 bbWeight=1 PerfScore 23.00
 G_M33035_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Action`3[ubyte[],System.Exception,System.ComponentModel.AsyncOperation]
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
-       mov      rcx, gword ptr [rbp-0xE0]
+       mov      rcx, gword ptr [rbp-0xE8]
        mov      rax, gword ptr [rcx+0x10]
-       mov      gword ptr [rbp-0xF0], rax
+       mov      gword ptr [rbp-0xF8], rax
        lea      rdi, bword ptr [r14+0x08]
        mov      rsi, rcx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient+<>c__DisplayClass178_0:<UploadDataAsync>b__0(ubyte[],System.Exception,System.ComponentModel.AsyncOperation):this
        mov      qword ptr [r14+0x18], rax
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Create():System.Runtime.CompilerServices.AsyncVoidMethodBuilder
        call     [rax]System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Create():System.Runtime.CompilerServices.AsyncVoidMethodBuilder
-       mov      gword ptr [rbp-0x68], rax
-       mov      gword ptr [rbp-0x60], rdx
-       mov      gword ptr [rbp-0xD0], rbx
-       mov      gword ptr [rbp-0xC8], r15
+       mov      gword ptr [rbp-0x70], rax
+       mov      gword ptr [rbp-0x68], rdx
+       mov      gword ptr [rbp-0xD8], rbx
+       mov      gword ptr [rbp-0xD0], r15
        xor      rdi, rdi
-       mov      gword ptr [rbp-0xA8], rdi
-       mov      gword ptr [rbp-0xA0], r13
-       mov      dword ptr [rbp-0x74], r12d
+       mov      gword ptr [rbp-0xB0], rdi
+       mov      gword ptr [rbp-0xA8], r13
+       mov      dword ptr [rbp-0x7C], r12d
 						;; size=116 bbWeight=1 PerfScore 19.00
 G_M33035_IG06:
-       mov      gword ptr [rbp-0xC0], rdi
+       mov      gword ptr [rbp-0xC8], rdi
 						;; size=7 bbWeight=1 PerfScore 1.00
 G_M33035_IG07:
-       mov      gword ptr [rbp-0xB8], rdi
-       mov      r15, gword ptr [rbp-0xF0]
-       mov      gword ptr [rbp-0xB0], r15
-       mov      gword ptr [rbp-0x98], r14
-       mov      dword ptr [rbp-0x78], -1
-       lea      rdi, [rbp-0xD0]
+       mov      gword ptr [rbp-0xC0], rdi
+       mov      r15, gword ptr [rbp-0xF8]
+       mov      gword ptr [rbp-0xB8], r15
+       mov      gword ptr [rbp-0xA0], r14
+       mov      dword ptr [rbp-0x80], -1
+       lea      rdi, [rbp-0xD8]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.WebClient+<UploadBitsAsync>d__152](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.WebClient+<UploadBitsAsync>d__152](byref)
        nop      
 						;; size=55 bbWeight=1 PerfScore 9.00
 G_M33035_IG08:
        add      rsp, 216
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 G_M33035_IG09:
        mov      edi, 481
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M33035_IG10:
        mov      edi, 447
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M33035_IG11:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x100]
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M33035_IG12:
        mov      rdi, 0xD1FFAB1E      ; System.Exception
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        mov      rsi, rax
        test     rsi, rsi
        jne      SHORT G_M33035_IG13
        xor      eax, eax
        jmp      SHORT G_M33035_IG14
 						;; size=34 bbWeight=0 PerfScore 0.00
 G_M33035_IG13:
-       mov      gword ptr [rbp-0xE8], rsi
-       mov      rsi, gword ptr [rbp-0xE8]
+       mov      gword ptr [rbp-0xF0], rsi
+       mov      rsi, gword ptr [rbp-0xF0]
        mov      rdi, 0xD1FFAB1E      ; System.OutOfMemoryException
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        sete     al
        movzx    rax, al
 						;; size=45 bbWeight=0 PerfScore 0.00
 G_M33035_IG14:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 G_M33035_IG15:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x100]
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M33035_IG16:
-       mov      rdi, gword ptr [rbp-0xE8]
+       mov      rdi, gword ptr [rbp-0xF0]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:GetExceptionToPropagate(System.Exception):System.Exception
        call     [rax]System.Net.WebClient:GetExceptionToPropagate(System.Exception):System.Exception
        mov      rbx, rax
-       mov      r15, gword ptr [rbp-0xD8]
+       mov      r15, gword ptr [rbp-0xE0]
        movzx    r14, byte  ptr [r15+0x135]
        mov      rdi, 0xD1FFAB1E      ; System.Net.UploadDataCompletedEventArgs
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
-       mov      rsi, gword ptr [rbp-0xE0]
+       mov      rsi, gword ptr [rbp-0xE8]
        mov      rdi, gword ptr [rsi+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.ComponentModel.AsyncOperation:get_UserSuppliedState():System.Object:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.ComponentModel.AsyncOperation:get_UserSuppliedState():System.Object:this
        mov      r8, rax
        mov      rdi, r13
        mov      rdx, rbx
        mov      ecx, r14d
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Net.UploadDataCompletedEventArgs:.ctor(ubyte[],System.Exception,ubyte,System.Object):this
        call     [rax]System.Net.UploadDataCompletedEventArgs:.ctor(ubyte[],System.Exception,ubyte,System.Object):this
        mov      rdx, gword ptr [r15+0xA0]
-       mov      rsi, gword ptr [rbp-0xE0]
+       mov      rsi, gword ptr [rbp-0xE8]
        mov      rsi, gword ptr [rsi+0x10]
        mov      rdi, r15
        mov      rcx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:InvokeOperationCompleted(System.ComponentModel.AsyncOperation,System.Threading.SendOrPostCallback,System.ComponentModel.AsyncCompletedEventArgs):this
        call     [rax]System.Net.WebClient:InvokeOperationCompleted(System.ComponentModel.AsyncOperation,System.Threading.SendOrPostCallback,System.ComponentModel.AsyncCompletedEventArgs):this
        lea      rax, G_M33035_IG08
 						;; size=149 bbWeight=0 PerfScore 0.00
 G_M33035_IG17:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 900, prolog size 107, PerfScore 97.33, instruction count 208, allocated bytes for code 900 (MethodHash=a6927ef4) for method System.Net.WebClient:UploadDataAsync(System.Uri,System.String,ubyte[],System.Object):this (FullOpts)
+; Total bytes of code 886, prolog size 93, PerfScore 92.08, instruction count 204, allocated bytes for code 886 (MethodHash=a6927ef4) for method System.Net.WebClient:UploadDataAsync(System.Uri,System.String,ubyte[],System.Object):this (FullOpts)
-14 (-1.53 % of base) - System.Net.WebClient:UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object):this
 ; Assembly listing for method System.Net.WebClient:UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 4 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 16, 13   )     ref  ->  [rbp-0xD8]  this class-hnd EH-live single-def <System.Net.WebClient>
+;  V00 this         [V00,T00] ( 16, 13   )     ref  ->  [rbp-0xE0]  this class-hnd EH-live single-def <System.Net.WebClient>
 ;  V01 arg1         [V01,T02] (  5,  5   )     ref  ->  r15         class-hnd single-def <System.Uri>
 ;  V02 arg2         [V02,T03] (  5,  5   )     ref  ->  r14         class-hnd <System.String>
 ;  V03 arg3         [V03,T04] (  4,  4   )     ref  ->  r13         class-hnd single-def <System.Collections.Specialized.NameValueCollection>
 ;  V04 arg4         [V04,T07] (  3,  3   )     ref  ->  r12         class-hnd single-def <System.Object>
-;  V05 loc0         [V05,T08] (  7,  4   )     ref  ->  [rbp-0xE0]  class-hnd exact EH-live spill-single-def <System.Net.WebClient+<>c__DisplayClass184_0>
+;  V05 loc0         [V05,T08] (  7,  4   )     ref  ->  [rbp-0xE8]  class-hnd exact EH-live spill-single-def <System.Net.WebClient+<>c__DisplayClass184_0>
 ;  V06 loc1         [V06,T11] (  3,  3   )     ref  ->  r13         class-hnd single-def <ubyte[]>
 ;* V07 loc2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Net.WebRequest>
 ;  V08 loc3         [V08,T12] (  3,  3   )     int  ->  r14        
 ;* V09 loc4         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Net.WebRequest>
-;  V10 loc5         [V10,T17] (  3,  0   )     ref  ->  [rbp-0xE8]  must-init class-hnd EH-live single-def <System.Exception>
+;  V10 loc5         [V10,T17] (  3,  0   )     ref  ->  [rbp-0xF0]  must-init class-hnd EH-live single-def <System.Exception>
 ;* V11 loc6         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Net.UploadValuesCompletedEventArgs>
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V13 tmp1         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Net.WebClient+<>c__DisplayClass184_0>
 ;  V14 tmp2         [V14,T05] (  3,  6   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Net.WebRequest>
 ;  V15 tmp3         [V15,T01] (  4,  8   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.Action`3[ubyte[],System.Exception,System.ComponentModel.AsyncOperation]>
-;  V16 tmp4         [V16,T09] (  2,  4   )     ref  ->  [rbp-0xF0]  class-hnd exact spill-single-def "impAppendStmt" <System.ComponentModel.AsyncOperation>
+;  V16 tmp4         [V16,T09] (  2,  4   )     ref  ->  [rbp-0xF8]  class-hnd exact spill-single-def "impAppendStmt" <System.ComponentModel.AsyncOperation>
 ;  V17 tmp5         [V17,T21] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
 ;  V18 tmp6         [V18,T18] (  3,  0   )     ref  ->  rsi         class-hnd single-def "dup spill" <System.Exception>
 ;* V19 tmp7         [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V20 tmp8         [V20,T20] (  3,  0   )     int  ->  rax        
 ;* V21 tmp9         [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V22 tmp10        [V22,T22] (  2,  0   )     ref  ->  rbx         class-hnd single-def "non-inline candidate call" <System.Exception>
 ;  V23 tmp11        [V23,T24] (  2,  0   )     int  ->  r14         "non-inline candidate call"
 ;  V24 tmp12        [V24,T19] (  3,  0   )     ref  ->  r13         class-hnd exact single-def "NewObj constructor temp" <System.Net.UploadValuesCompletedEventArgs>
 ;  V25 tmp13        [V25,T15] (  2,  2   )    long  ->  r14         "Inline return value spill temp"
 ;  V26 tmp14        [V26,T06] (  3,  6   )    long  ->  rdi         "Inlining Arg"
-;  V27 tmp15        [V27    ] ( 13, 13   )  struct (168) [rbp-0xD0]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.WebClient+<UploadBitsAsync>d__152>
+;  V27 tmp15        [V27    ] ( 13, 13   )  struct (168) [rbp-0xD8]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.WebClient+<UploadBitsAsync>d__152>
 ;* V28 tmp16        [V28    ] (  0,  0   )  struct (16) zero-ref    multireg-ret single-def "RetBuf for struct inline return candidates." <System.Runtime.CompilerServices.AsyncVoidMethodBuilder>
 ;  V29 tmp17        [V29,T13] (  2,  2   )     ref  ->  rax         "field V28._synchronizationContext (fldOffset=0x0)" P-INDEP
 ;  V30 tmp18        [V30,T14] (  2,  2   )     ref  ->  rdx         "field V28._builder (fldOffset=0x8)" P-INDEP
 ;  V31 tmp19        [V31,T10] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V32 tmp20        [V32,T23] (  2,  0   )     ref  ->   r8         single-def "argument with side effect"
 ;  V33 PSPSym       [V33,T16] (  1,  1   )    long  ->  [rbp-0x100]  do-not-enreg[V] "PSPSym"
 ;
 ; Lcl frame size = 216
 
 G_M50909_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 216
        lea      rbp, [rsp+0x100]
-       xor      eax, eax
-       mov      qword ptr [rbp-0xE8], rax
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu32 zmmword ptr [rbp-0xE0], zmm8
-       vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
-       vmovdqa  xmmword ptr [rbp-0x60], xmm8
-       vmovdqa  xmmword ptr [rbp-0x50], xmm8
-       vmovdqa  xmmword ptr [rbp-0x40], xmm8
-       mov      qword ptr [rbp-0x30], rax
+       vmovdqu32 zmmword ptr [rbp-0xF0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0xB0], zmm8
+       vmovdqu32 zmmword ptr [rbp-0x70], zmm8
        mov      qword ptr [rbp-0x100], rsp
-       mov      gword ptr [rbp-0xD8], rdi
+       mov      qword ptr [rbp-0x30], rdi
+       mov      gword ptr [rbp-0xE0], rdi
        mov      rbx, rdi
        mov      r15, rsi
        mov      r14, rdx
        mov      r13, rcx
        mov      r12, r8
-						;; size=107 bbWeight=1 PerfScore 22.58
+						;; size=93 bbWeight=1 PerfScore 17.33
 G_M50909_IG02:
        mov      rdi, 0xD1FFAB1E      ; System.Net.WebClient+<>c__DisplayClass184_0
        call     CORINFO_HELP_NEWSFAST
-       mov      gword ptr [rbp-0xE0], rax
+       mov      gword ptr [rbp-0xE8], rax
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        test     r15, r15
        je       G_M50909_IG10
        test     r13, r13
        je       G_M50909_IG09
        test     r14, r14
        jne      SHORT G_M50909_IG03
        mov      rdi, rbx
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:MapToDefaultMethod(System.Uri):System.String:this
        call     [rax]System.Net.WebClient:MapToDefaultMethod(System.Uri):System.String:this
        mov      r14, rax
 						;; size=78 bbWeight=1 PerfScore 11.75
 G_M50909_IG03:
        mov      rdi, rbx
        mov      rsi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:StartAsyncOperation(System.Object):System.ComponentModel.AsyncOperation:this
        call     [rax]System.Net.WebClient:StartAsyncOperation(System.Object):System.ComponentModel.AsyncOperation:this
-       mov      rcx, gword ptr [rbp-0xE0]
+       mov      rcx, gword ptr [rbp-0xE8]
        lea      rdi, bword ptr [rcx+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        nop      
 						;; size=38 bbWeight=1 PerfScore 6.75
 G_M50909_IG04:
        mov      rdi, rbx
        mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:GetValuesToUpload(System.Collections.Specialized.NameValueCollection):ubyte[]:this
        call     [rax]System.Net.WebClient:GetValuesToUpload(System.Collections.Specialized.NameValueCollection):ubyte[]:this
        mov      r13, rax
        lea      rdi, bword ptr [rbx+0x50]
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, rbx
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:GetUri(System.Uri):System.Uri:this
        call     [rax]System.Net.WebClient:GetUri(System.Uri):System.Uri:this
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x58]
        call     [rax]System.Net.WebClient:GetWebRequest(System.Uri):System.Net.WebRequest:this
        mov      r15, rax
        lea      rdi, bword ptr [rbx+0x40]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        xor      r14d, r14d
        cmp      gword ptr [rbx+0x118], 0
        je       SHORT G_M50909_IG05
        mov      edi, dword ptr [r13+0x08]
        mov      r14d, 0x2000
        cmp      rdi, 0x2000
        cmovl    r14, rdi
 						;; size=115 bbWeight=1 PerfScore 26.00
 G_M50909_IG05:
        mov      rdi, 0xD1FFAB1E      ; System.Action`3[ubyte[],System.Exception,System.ComponentModel.AsyncOperation]
        call     CORINFO_HELP_NEWSFAST
        mov      r12, rax
-       mov      rcx, gword ptr [rbp-0xE0]
+       mov      rcx, gword ptr [rbp-0xE8]
        mov      rax, gword ptr [rcx+0x10]
-       mov      gword ptr [rbp-0xF0], rax
+       mov      gword ptr [rbp-0xF8], rax
        lea      rdi, bword ptr [r12+0x08]
        mov      rsi, rcx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient+<>c__DisplayClass184_0:<UploadValuesAsync>b__0(ubyte[],System.Exception,System.ComponentModel.AsyncOperation):this
        mov      qword ptr [r12+0x18], rax
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Create():System.Runtime.CompilerServices.AsyncVoidMethodBuilder
        call     [rax]System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Create():System.Runtime.CompilerServices.AsyncVoidMethodBuilder
-       mov      gword ptr [rbp-0x68], rax
-       mov      gword ptr [rbp-0x60], rdx
-       mov      gword ptr [rbp-0xD0], rbx
-       mov      gword ptr [rbp-0xC8], r15
+       mov      gword ptr [rbp-0x70], rax
+       mov      gword ptr [rbp-0x68], rdx
+       mov      gword ptr [rbp-0xD8], rbx
+       mov      gword ptr [rbp-0xD0], r15
        xor      rdi, rdi
-       mov      gword ptr [rbp-0xA8], rdi
-       mov      gword ptr [rbp-0xA0], r13
-       mov      dword ptr [rbp-0x74], r14d
+       mov      gword ptr [rbp-0xB0], rdi
+       mov      gword ptr [rbp-0xA8], r13
+       mov      dword ptr [rbp-0x7C], r14d
 						;; size=118 bbWeight=1 PerfScore 19.00
 G_M50909_IG06:
-       mov      gword ptr [rbp-0xC0], rdi
+       mov      gword ptr [rbp-0xC8], rdi
 						;; size=7 bbWeight=1 PerfScore 1.00
 G_M50909_IG07:
-       mov      gword ptr [rbp-0xB8], rdi
-       mov      r15, gword ptr [rbp-0xF0]
-       mov      gword ptr [rbp-0xB0], r15
-       mov      gword ptr [rbp-0x98], r12
-       mov      dword ptr [rbp-0x78], -1
-       lea      rdi, [rbp-0xD0]
+       mov      gword ptr [rbp-0xC0], rdi
+       mov      r15, gword ptr [rbp-0xF8]
+       mov      gword ptr [rbp-0xB8], r15
+       mov      gword ptr [rbp-0xA0], r12
+       mov      dword ptr [rbp-0x80], -1
+       lea      rdi, [rbp-0xD8]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.WebClient+<UploadBitsAsync>d__152](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.WebClient+<UploadBitsAsync>d__152](byref)
        nop      
 						;; size=55 bbWeight=1 PerfScore 9.00
 G_M50909_IG08:
        add      rsp, 216
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 G_M50909_IG09:
        mov      edi, 481
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M50909_IG10:
        mov      edi, 447
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M50909_IG11:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x100]
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M50909_IG12:
        mov      rdi, 0xD1FFAB1E      ; System.Exception
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        mov      rsi, rax
        test     rsi, rsi
        jne      SHORT G_M50909_IG13
        xor      eax, eax
        jmp      SHORT G_M50909_IG14
 						;; size=34 bbWeight=0 PerfScore 0.00
 G_M50909_IG13:
-       mov      gword ptr [rbp-0xE8], rsi
-       mov      rsi, gword ptr [rbp-0xE8]
+       mov      gword ptr [rbp-0xF0], rsi
+       mov      rsi, gword ptr [rbp-0xF0]
        mov      rdi, 0xD1FFAB1E      ; System.OutOfMemoryException
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        sete     al
        movzx    rax, al
 						;; size=45 bbWeight=0 PerfScore 0.00
 G_M50909_IG14:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 G_M50909_IG15:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x100]
 						;; size=25 bbWeight=0 PerfScore 0.00
 G_M50909_IG16:
-       mov      rdi, gword ptr [rbp-0xE8]
+       mov      rdi, gword ptr [rbp-0xF0]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:GetExceptionToPropagate(System.Exception):System.Exception
        call     [rax]System.Net.WebClient:GetExceptionToPropagate(System.Exception):System.Exception
        mov      rbx, rax
-       mov      r15, gword ptr [rbp-0xD8]
+       mov      r15, gword ptr [rbp-0xE0]
        movzx    r14, byte  ptr [r15+0x135]
        mov      rdi, 0xD1FFAB1E      ; System.Net.UploadValuesCompletedEventArgs
        call     CORINFO_HELP_NEWSFAST
        mov      r13, rax
-       mov      rsi, gword ptr [rbp-0xE0]
+       mov      rsi, gword ptr [rbp-0xE8]
        mov      rdi, gword ptr [rsi+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.ComponentModel.AsyncOperation:get_UserSuppliedState():System.Object:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.ComponentModel.AsyncOperation:get_UserSuppliedState():System.Object:this
        mov      r8, rax
        mov      rdi, r13
        mov      rdx, rbx
        mov      ecx, r14d
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Net.UploadValuesCompletedEventArgs:.ctor(ubyte[],System.Exception,ubyte,System.Object):this
        call     [rax]System.Net.UploadValuesCompletedEventArgs:.ctor(ubyte[],System.Exception,ubyte,System.Object):this
        mov      rdx, gword ptr [r15+0xB0]
-       mov      rsi, gword ptr [rbp-0xE0]
+       mov      rsi, gword ptr [rbp-0xE8]
        mov      rsi, gword ptr [rsi+0x10]
        mov      rdi, r15
        mov      rcx, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.WebClient:InvokeOperationCompleted(System.ComponentModel.AsyncOperation,System.Threading.SendOrPostCallback,System.ComponentModel.AsyncCompletedEventArgs):this
        call     [rax]System.Net.WebClient:InvokeOperationCompleted(System.ComponentModel.AsyncOperation,System.Threading.SendOrPostCallback,System.ComponentModel.AsyncCompletedEventArgs):this
        lea      rax, G_M50909_IG08
 						;; size=149 bbWeight=0 PerfScore 0.00
 G_M50909_IG17:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 916, prolog size 107, PerfScore 100.33, instruction count 212, allocated bytes for code 916 (MethodHash=a4023922) for method System.Net.WebClient:UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object):this (FullOpts)
+; Total bytes of code 902, prolog size 93, PerfScore 95.08, instruction count 208, allocated bytes for code 902 (MethodHash=a4023922) for method System.Net.WebClient:UploadValuesAsync(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object):this (FullOpts)
-12 (-1.39 % of base) - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this
 ; Assembly listing for method System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 20 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] ( 24, 64   )     ref  ->  [rbp-0x68]  this class-hnd EH-live single-def <System.Net.Security.SslStream>
-;  V01 RetBuf       [V01,T20] (  4,  4   )   byref  ->  [rbp-0x70]  EH-live single-def
+;  V00 this         [V00,T02] ( 24, 64   )     ref  ->  [rbp-0x70]  this class-hnd EH-live single-def <System.Net.Security.SslStream>
+;  V01 RetBuf       [V01,T20] (  4,  4   )   byref  ->  [rbp-0x78]  EH-live single-def
 ;* V02 arg1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ubyte]>
-;  V03 loc0         [V03,T05] (  5, 18   )   ubyte  ->  [rbp-0x2C]  do-not-enreg[Z] EH-live
-;  V04 loc1         [V04,T24] (  3,  6   )   ubyte  ->  [rbp-0x30]  do-not-enreg[Z] EH-live
-;  V05 loc2         [V05    ] (  5, 21   )     ref  ->  [rbp-0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <ubyte[]>
-;  V06 loc3         [V06    ] (  9, 22   )  struct (32) [rbp-0x58]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Net.Security.ProtocolToken>
-;  V07 loc4         [V07,T10] (  4, 14   )   ubyte  ->  [rbp-0x5C]  do-not-enreg[Z] EH-live
+;  V03 loc0         [V03,T05] (  5, 18   )   ubyte  ->  [rbp-0x34]  do-not-enreg[Z] EH-live
+;  V04 loc1         [V04,T24] (  3,  6   )   ubyte  ->  [rbp-0x38]  do-not-enreg[Z] EH-live
+;  V05 loc2         [V05    ] (  5, 21   )     ref  ->  [rbp-0x40]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <ubyte[]>
+;  V06 loc3         [V06    ] (  9, 22   )  struct (32) [rbp-0x60]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Net.Security.ProtocolToken>
+;  V07 loc4         [V07,T10] (  4, 14   )   ubyte  ->  [rbp-0x64]  do-not-enreg[Z] EH-live
 ;* V08 loc5         [V08    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[ubyte]>
 ;* V09 loc6         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;  V10 OutArgs      [V10    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V11 tmp1         [V11    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;  V12 tmp2         [V12,T06] (  2, 16   )   byref  ->  rsi         "impAppendStmt"
 ;* V13 tmp3         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;  V14 tmp4         [V14,T01] (  3, 80   )     ref  ->  r13         class-hnd "dup spill" <System.Net.Security.SslStreamCertificateContext>
 ;* V15 tmp5         [V15    ] (  0,  0   )     ref  ->  zero-ref   
-;  V16 tmp6         [V16,T00] (  3,136   )     ref  ->  rax         class-hnd exact "dup spill" <System.Net.Security.SslCertificateTrust>
+;  V16 tmp6         [V16,T00] (  3,136   )     ref  ->  rdi         class-hnd exact "dup spill" <System.Net.Security.SslCertificateTrust>
 ;* V17 tmp7         [V17    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V18 tmp8         [V18    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
 ;* V19 tmp9         [V19    ] (  0,  0   )  struct ( 8) zero-ref    <System.Nullable`1[ubyte]>
-;  V20 tmp10        [V20,T36] (  2,  0   )     ref  ->  rsi         class-hnd "impAppendStmt" <System.Net.Security.SafeFreeCredentials>
-;  V21 tmp11        [V21,T37] (  2,  0   )     ref  ->  rdx         class-hnd "impAppendStmt" <System.Net.Security.SafeDeleteSslContext>
-;  V22 tmp12        [V22,T38] (  2,  0   )     ref  ->  rax         class-hnd exact "impAppendStmt" <System.Net.Security.SslAuthenticationOptions>
+;  V20 tmp10        [V20,T36] (  2,  0   )     ref  ->  rdi         class-hnd "impAppendStmt" <System.Net.Security.SafeFreeCredentials>
+;  V21 tmp11        [V21,T37] (  2,  0   )     ref  ->  rsi         class-hnd "impAppendStmt" <System.Net.Security.SafeDeleteSslContext>
+;  V22 tmp12        [V22,T38] (  2,  0   )     ref  ->  rdx         class-hnd exact "impAppendStmt" <System.Net.Security.SslAuthenticationOptions>
 ;* V23 tmp13        [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp14        [V24    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V25 tmp15        [V25    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V26 tmp16        [V26    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;  V27 tmp17        [V27,T12] (  3, 12   )     int  ->  rax        
-;  V28 tmp18        [V28,T21] (  3,  6   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Net.Security.SafeFreeCredentials>
+;  V28 tmp18        [V28,T21] (  3,  6   )     ref  ->  rdi         class-hnd single-def "dup spill" <System.Net.Security.SafeFreeCredentials>
 ;* V29 tmp19        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V30 tmp20        [V30,T25] (  2,  4   )     ref  ->  rsi         class-hnd single-def "impAppendStmt" <System.Net.Security.SafeFreeCredentials>
-;  V31 tmp21        [V31,T26] (  2,  4   )     ref  ->  rax         class-hnd single-def "impAppendStmt" <ubyte[]>
+;  V30 tmp20        [V30,T25] (  2,  4   )     ref  ->  rdi         class-hnd single-def "impAppendStmt" <System.Net.Security.SafeFreeCredentials>
+;  V31 tmp21        [V31,T26] (  2,  4   )     ref  ->  rsi         class-hnd single-def "impAppendStmt" <ubyte[]>
 ;* V32 tmp22        [V32    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V33 tmp23        [V33    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V34 tmp24        [V34    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V35 tmp25        [V35    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V36 tmp26        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V37 tmp27        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V38 tmp28        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V39 tmp29        [V39    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V40 tmp30        [V40    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V41 tmp31        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;  V42 tmp32        [V42,T33] (  4,  0   )     ref  ->  rcx         class-hnd "Inlining Arg" <ubyte[]>
 ;* V43 tmp33        [V43    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V44 tmp34        [V44    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "RetBuf for struct inline return candidates." <System.Net.SecurityStatusPal>
 ;* V45 tmp35        [V45    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V46 tmp36        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V47 tmp37        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V48 tmp38        [V48    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V49 tmp39        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V50 tmp40        [V50    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;  V51 tmp41        [V51,T07] (  2, 16   )     ref  ->  r13         class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-;  V52 tmp42        [V52,T08] (  2, 16   )     ref  ->  r12         class-hnd exact "non-inline candidate call" <System.String>
+;  V51 tmp41        [V51,T07] (  2, 16   )     ref  ->  r12         class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
+;  V52 tmp42        [V52,T08] (  2, 16   )     ref  ->  [rbp-0x80]  class-hnd exact spill-single-def "non-inline candidate call" <System.String>
 ;* V53 tmp43        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "dup spill" <System.String>
 ;  V54 tmp44        [V54,T15] (  2,  8   )     ref  ->  rdi        
 ;* V55 tmp45        [V55,T28] (  0,  0   )     int  ->  zero-ref   
 ;  V56 tmp46        [V56,T16] (  2,  8   )     ref  ->  rdx        
 ;* V57 tmp47        [V57,T27] (  0,  0   )     ref  ->  zero-ref   
 ;  V58 tmp48        [V58,T09] (  2, 16   )     ref  ->   r8         class-hnd exact "Inlining Arg" <System.String>
 ;* V59 tmp49        [V59    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V60 tmp50        [V60    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V61 tmp51        [V61    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V62 tmp52        [V62    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V63 tmp53        [V63    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V64 tmp54        [V64    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;* V65 tmp55        [V65    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
 ;  V66 tmp56        [V66,T13] (  3,  9   )   byref  ->  rbx         single-def "field V02._reference (fldOffset=0x0)" P-INDEP
 ;  V67 tmp57        [V67,T14] (  3,  9   )     int  ->  r15         single-def "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V68 tmp58        [V68    ] (  0,  0   )   ubyte  ->  zero-ref    "field V08.hasValue (fldOffset=0x0)" P-INDEP
 ;* V69 tmp59        [V69    ] (  0,  0   )   ubyte  ->  zero-ref    "field V08.value (fldOffset=0x1)" P-INDEP
 ;* V70 tmp60        [V70    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V71 tmp61        [V71    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;* V72 tmp62        [V72    ] (  0,  0   )   ubyte  ->  zero-ref    "field V18.hasValue (fldOffset=0x0)" P-INDEP
-;  V73 tmp63        [V73,T18] (  2,  8   )   ubyte  ->  rax         "field V18.value (fldOffset=0x1)" P-INDEP
+;  V73 tmp63        [V73,T18] (  2,  8   )   ubyte  ->   r9         "field V18.value (fldOffset=0x1)" P-INDEP
 ;* V74 tmp64        [V74    ] (  0,  0   )   ubyte  ->  zero-ref    "field V19.hasValue (fldOffset=0x0)" P-INDEP
-;  V75 tmp65        [V75,T04] (  3, 24   )   ubyte  ->  rax         "field V19.value (fldOffset=0x1)" P-INDEP
+;  V75 tmp65        [V75,T04] (  3, 24   )   ubyte  ->   r9         "field V19.value (fldOffset=0x1)" P-INDEP
 ;* V76 tmp66        [V76    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V77 tmp67        [V77    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V78 tmp68        [V78    ] (  0,  0   )   byref  ->  zero-ref    "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V79 tmp69        [V79    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
 ;  V80 tmp70        [V80,T34] (  3,  0   )   byref  ->   r8         "field V43._reference (fldOffset=0x0)" P-INDEP
-;  V81 tmp71        [V81,T35] (  3,  0   )     int  ->   r9         "field V43._length (fldOffset=0x8)" P-INDEP
+;  V81 tmp71        [V81,T35] (  3,  0   )     int  ->  rax         "field V43._length (fldOffset=0x8)" P-INDEP
 ;  V82 tmp72        [V82,T39] (  2,  0   )     ref  ->  rax         "field V44.Exception (fldOffset=0x0)" P-INDEP
 ;  V83 tmp73        [V83,T40] (  2,  0   )     int  ->  rdx         "field V44.ErrorCode (fldOffset=0x8)" P-INDEP
 ;* V84 tmp74        [V84    ] (  0,  0   )   byref  ->  zero-ref    "field V45._reference (fldOffset=0x0)" P-INDEP
 ;* V85 tmp75        [V85    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
 ;  V86 tmp76        [V86,T17] (  2,  8   )   byref  ->  rdx         "field V59._reference (fldOffset=0x0)" P-INDEP
 ;* V87 tmp77        [V87,T29] (  0,  0   )     int  ->  zero-ref    "field V59._length (fldOffset=0x8)" P-INDEP
-;  V88 tmp78        [V88,T22] (  3,  6   )     ref  ->  rax         single-def "argument with side effect"
-;  V89 tmp79        [V89,T23] (  3,  6   )     ref  ->  rax         single-def "argument with side effect"
-;  V90 PSPSym       [V90,T32] (  1,  1   )    long  ->  [rbp-0x80]  do-not-enreg[V] "PSPSym"
-;  V91 cse0         [V91,T11] (  3, 12   )     ref  ->  r13         "CSE #03: moderate"
-;  V92 cse1         [V92,T03] (  5, 28   )     ref  ->   r8         "CSE #01: aggressive"
+;  V88 tmp78        [V88,T22] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
+;  V89 tmp79        [V89,T23] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
+;  V90 PSPSym       [V90,T32] (  1,  1   )    long  ->  [rbp-0x90]  do-not-enreg[V] "PSPSym"
+;  V91 cse0         [V91,T11] (  3, 12   )     ref  ->  r12         "CSE #03: moderate"
+;  V92 cse1         [V92,T03] (  5, 28   )     ref  ->  rax         "CSE #01: aggressive"
 ;  V93 cse2         [V93,T19] (  6,  6   )     ref  ->   r8         "CSE #06: moderate"
-;  V94 cse3         [V94,T30] (  3,  3   )     ref  ->  rax         "CSE #04: moderate"
-;  V95 cse4         [V95,T31] (  3,  3   )     ref  ->  rax         "CSE #05: moderate"
+;  V94 cse3         [V94,T30] (  3,  3   )     ref  ->  rdi         "CSE #04: moderate"
+;  V95 cse4         [V95,T31] (  3,  3   )     ref  ->  rdi         "CSE #05: moderate"
 ;
-; Lcl frame size = 104
+; Lcl frame size = 120
 
 G_M15651_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 104
-       lea      rbp, [rsp+0x90]
-       xor      eax, eax
-       mov      qword ptr [rbp-0x58], rax
+       sub      rsp, 120
+       lea      rbp, [rsp+0xA0]
        vxorps   xmm8, xmm8, xmm8
-       vmovdqu  ymmword ptr [rbp-0x50], ymm8
-       mov      qword ptr [rbp-0x80], rsp
-       mov      gword ptr [rbp-0x68], rdi
-       mov      bword ptr [rbp-0x70], rsi
+       vmovdqu  ymmword ptr [rbp-0x60], ymm8
+       xor      eax, eax
+       mov      qword ptr [rbp-0x40], rax
+       mov      qword ptr [rbp-0x90], rsp
+       mov      qword ptr [rbp-0x30], rdi
+       mov      gword ptr [rbp-0x70], rdi
+       mov      bword ptr [rbp-0x78], rsi
+       mov      r8, rdi
        mov      r14, rsi
        mov      rbx, rdx
        mov      r15d, ecx
-						;; size=59 bbWeight=1 PerfScore 14.08
+						;; size=69 bbWeight=1 PerfScore 15.33
 G_M15651_IG02:
        xor      esi, esi
-       mov      dword ptr [rbp-0x2C], esi
+       mov      dword ptr [rbp-0x34], esi
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M15651_IG03:
-       mov      dword ptr [rbp-0x30], esi
-       mov      byte  ptr [rbp-0x4C], 1
-       cmp      gword ptr [rdi+0x50], 0
+       mov      dword ptr [rbp-0x38], esi
+       mov      byte  ptr [rbp-0x54], 1
+       cmp      gword ptr [r8+0x50], 0
        sete     sil
        movzx    rsi, sil
-       mov      dword ptr [rbp-0x5C], esi
+       mov      dword ptr [rbp-0x64], esi
 						;; size=23 bbWeight=1 PerfScore 7.25
 G_M15651_IG04:
+       mov      r8, gword ptr [rbp-0x70]
        xor      rsi, rsi
-       mov      gword ptr [rbp-0x38], rsi
-       cmp      dword ptr [rbp-0x5C], 0
+       mov      gword ptr [rbp-0x40], rsi
+       cmp      dword ptr [rbp-0x64], 0
        je       SHORT G_M15651_IG08
-						;; size=12 bbWeight=8 PerfScore 34.00
+						;; size=16 bbWeight=8 PerfScore 42.00
 G_M15651_IG05:
-       mov      rsi, gword ptr [rdi+0x38]
+       mov      rsi, gword ptr [r8+0x38]
        cmp      byte  ptr [rsi+0x6D], 0
        jne      SHORT G_M15651_IG06
-       lea      rsi, [rbp-0x38]
+       lea      rsi, [rbp-0x40]
+       mov      rdi, r8
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStream:AcquireClientCredentials(byref,ubyte):ubyte:this
        call     [rax]System.Net.Security.SslStream:AcquireClientCredentials(byref,ubyte):ubyte:this
        jmp      SHORT G_M15651_IG07
-						;; size=30 bbWeight=4 PerfScore 48.00
+						;; size=33 bbWeight=4 PerfScore 49.00
 G_M15651_IG06:
-       lea      rsi, [rbp-0x38]
+       lea      rsi, [rbp-0x40]
+       mov      rdi, r8
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStream:AcquireServerCredentials(byref):ubyte:this
        call     [rax]System.Net.Security.SslStream:AcquireServerCredentials(byref):ubyte:this
-						;; size=16 bbWeight=4 PerfScore 15.00
+						;; size=19 bbWeight=4 PerfScore 16.00
 G_M15651_IG07:
-       mov      dword ptr [rbp-0x2C], eax
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      dword ptr [rbp-0x34], eax
+       mov      r8, gword ptr [rbp-0x70]
 						;; size=7 bbWeight=4 PerfScore 8.00
 G_M15651_IG08:
-       mov      r8, gword ptr [rdi+0x38]
-       cmp      byte  ptr [r8+0x6D], 0
+       mov      rax, gword ptr [r8+0x38]
+       cmp      byte  ptr [rax+0x6D], 0
        je       SHORT G_M15651_IG12
-						;; size=11 bbWeight=8 PerfScore 48.00
+						;; size=10 bbWeight=8 PerfScore 48.00
 G_M15651_IG09:
-       mov      r13, gword ptr [r8+0x20]
+       mov      r13, gword ptr [rax+0x20]
        test     r13, r13
        jne      G_M15651_IG15
 						;; size=13 bbWeight=4 PerfScore 13.00
 G_M15651_IG10:
-       xor      eax, eax
-						;; size=2 bbWeight=16 PerfScore 4.00
+       xor      r9d, r9d
+						;; size=3 bbWeight=16 PerfScore 4.00
 G_M15651_IG11:
-       movzx    rdx, al
-       mov      dword ptr [rbp-0x30], edx
+       movzx    rdx, r9b
+       mov      dword ptr [rbp-0x38], edx
        mov      rdx, rbx
        mov      ecx, r15d
+       mov      r8, rax
+       mov      rdi, gword ptr [rbp-0x70]
        lea      rsi, bword ptr [rdi+0x50]
-       lea      rdi, [rbp-0x58]
+       lea      rdi, [rbp-0x60]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStreamPal:HandshakeInternal(byref,System.ReadOnlySpan`1[ubyte],System.Net.Security.SslAuthenticationOptions):System.Net.Security.ProtocolToken
        call     [rax]System.Net.Security.SslStreamPal:HandshakeInternal(byref,System.ReadOnlySpan`1[ubyte],System.Net.Security.SslAuthenticationOptions):System.Net.Security.ProtocolToken
-       cmp      dword ptr [rbp-0x40], 9
+       cmp      dword ptr [rbp-0x48], 9
        jne      G_M15651_IG14
        jmp      G_M15651_IG17
-						;; size=47 bbWeight=4 PerfScore 44.00
+						;; size=55 bbWeight=4 PerfScore 49.00
 G_M15651_IG12:
-       mov      rdi, gword ptr [r8+0x08]
+       mov      rdi, gword ptr [rax+0x08]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.TargetHostNameHelper:NormalizeHostName(System.String):System.String
        call     [rax]System.Net.Security.TargetHostNameHelper:NormalizeHostName(System.String):System.String
        mov      rdx, rbx
        mov      ecx, r15d
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      r8, gword ptr [rdi+0x38]
-       lea      rsi, bword ptr [rdi+0x50]
-       lea      rdi, [rbp-0x58]
+       mov      r8, gword ptr [rbp-0x70]
+       mov      r8, gword ptr [r8+0x38]
+       mov      r13, gword ptr [rbp-0x70]
+       lea      rsi, bword ptr [r13+0x50]
+       lea      rdi, [rbp-0x60]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStreamPal:HandshakeInternal(byref,System.ReadOnlySpan`1[ubyte],System.Net.Security.SslAuthenticationOptions):System.Net.Security.ProtocolToken
        call     [rax]System.Net.Security.SslStreamPal:HandshakeInternal(byref,System.ReadOnlySpan`1[ubyte],System.Net.Security.SslAuthenticationOptions):System.Net.Security.ProtocolToken
-       cmp      dword ptr [rbp-0x40], 6
+       cmp      dword ptr [rbp-0x48], 6
        jne      G_M15651_IG14
-       mov      dword ptr [rbp-0x5C], 1
-       lea      rsi, [rbp-0x38]
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      dword ptr [rbp-0x64], 1
+       lea      rsi, [rbp-0x40]
+       mov      rdi, r13
        mov      edx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStream:AcquireClientCredentials(byref,ubyte):ubyte:this
        call     [rax]System.Net.Security.SslStream:AcquireClientCredentials(byref,ubyte):ubyte:this
-       mov      dword ptr [rbp-0x2C], eax
+       mov      dword ptr [rbp-0x34], eax
        mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      r13, gword ptr [rdi]
-       cmp      byte  ptr [r13+0x9D], 0
+       mov      r12, gword ptr [rdi]
+       cmp      byte  ptr [r12+0x9D], 0
        je       SHORT G_M15651_IG13
-       mov      rdi, gword ptr [rbp-0x68]
+       mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
        call     [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
-       mov      r12, rax
+       mov      gword ptr [rbp-0x80], rax
        mov      rdi, 0xD1FFAB1E      ; 'InitializeSecurityContext() returned 'CredentialsNeeded'.'
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetEventSource:Format(System.Object):System.String
        call     [rax]System.Net.NetEventSource:Format(System.Object):System.String
        mov      r8, rax
-       mov      rdi, r13
+       mov      rdi, r12
+       mov      r12, gword ptr [rbp-0x80]
        mov      rdx, r12
        mov      esi, 1
        mov      rcx, 0xD1FFAB1E      ; 'GenerateToken'
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
-						;; size=195 bbWeight=4 PerfScore 167.00
+						;; size=203 bbWeight=4 PerfScore 172.00
 G_M15651_IG13:
-       mov      rdi, gword ptr [rbp-0x68]
-       lea      rsi, bword ptr [rdi+0x50]
+       lea      rsi, bword ptr [r13+0x50]
        xor      rdx, rdx
        xor      ecx, ecx
-       mov      r8, gword ptr [rdi+0x38]
-       lea      rdi, [rbp-0x58]
+       mov      r8, gword ptr [r13+0x38]
+       lea      rdi, [rbp-0x60]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStreamPal:HandshakeInternal(byref,System.ReadOnlySpan`1[ubyte],System.Net.Security.SslAuthenticationOptions):System.Net.Security.ProtocolToken
        call     [rax]System.Net.Security.SslStreamPal:HandshakeInternal(byref,System.ReadOnlySpan`1[ubyte],System.Net.Security.SslAuthenticationOptions):System.Net.Security.ProtocolToken
-						;; size=32 bbWeight=4 PerfScore 31.00
+       nop      
+						;; size=29 bbWeight=4 PerfScore 28.00
 G_M15651_IG14:
-       cmp      dword ptr [rbp-0x2C], 0
+       cmp      dword ptr [rbp-0x34], 0
        je       SHORT G_M15651_IG20
-       mov      rdi, gword ptr [rbp-0x68]
-       cmp      gword ptr [rdi+0x48], 0
+       mov      r13, gword ptr [rbp-0x70]
+       cmp      gword ptr [r13+0x48], 0
        je       G_M15651_IG04
        jmp      SHORT G_M15651_IG20
 						;; size=23 bbWeight=8 PerfScore 80.00
 G_M15651_IG15:
-       mov      rax, gword ptr [r13+0x08]
-       test     rax, rax
+       mov      rdi, gword ptr [r13+0x08]
+       test     rdi, rdi
        je       G_M15651_IG10
 						;; size=13 bbWeight=32 PerfScore 104.00
 G_M15651_IG16:
-       movzx    rax, byte  ptr [rax+0x18]
+       movzx    r9, byte  ptr [rdi+0x18]
        jmp      G_M15651_IG11
-						;; size=9 bbWeight=4 PerfScore 16.00
+						;; size=10 bbWeight=4 PerfScore 16.00
 G_M15651_IG17:
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rsi, gword ptr [rdi+0x48]
-       mov      rdx, gword ptr [rdi+0x50]
-       mov      rax, gword ptr [rdi+0x38]
-       mov      rcx, gword ptr [rdi+0xB8]
+       mov      r13, gword ptr [rbp-0x70]
+       mov      rdi, gword ptr [r13+0x48]
+       mov      rsi, gword ptr [r13+0x50]
+       mov      rdx, gword ptr [r13+0x38]
+       mov      rcx, gword ptr [r13+0xB8]
        test     rcx, rcx
        je       SHORT G_M15651_IG18
        lea      r8, bword ptr [rcx+0x10]
-       mov      r9d, dword ptr [rcx+0x08]
+       mov      eax, dword ptr [rcx+0x08]
        jmp      SHORT G_M15651_IG19
-						;; size=38 bbWeight=0 PerfScore 0.00
+						;; size=37 bbWeight=0 PerfScore 0.00
 G_M15651_IG18:
        xor      r8, r8
-       xor      r9d, r9d
-						;; size=6 bbWeight=0 PerfScore 0.00
+       xor      eax, eax
+						;; size=5 bbWeight=0 PerfScore 0.00
 G_M15651_IG19:
        mov      rcx, r8
-       mov      r8d, r9d
-       mov      rdi, rsi
-       mov      rsi, rdx
-       mov      rdx, rax
+       mov      r8d, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslStreamPal:SelectApplicationProtocol(System.Net.Security.SafeFreeCredentials,System.Net.Security.SafeDeleteSslContext,System.Net.Security.SslAuthenticationOptions,System.ReadOnlySpan`1[ubyte]):System.Net.SecurityStatusPal
        call     [rax]System.Net.Security.SslStreamPal:SelectApplicationProtocol(System.Net.Security.SafeFreeCredentials,System.Net.Security.SafeDeleteSslContext,System.Net.Security.SslAuthenticationOptions,System.ReadOnlySpan`1[ubyte]):System.Net.SecurityStatusPal
-       mov      gword ptr [rbp-0x48], rax
-       mov      dword ptr [rbp-0x40], edx
+       mov      gword ptr [rbp-0x50], rax
+       mov      dword ptr [rbp-0x48], edx
        int3     
-						;; size=35 bbWeight=0 PerfScore 0.00
+						;; size=26 bbWeight=0 PerfScore 0.00
 G_M15651_IG20:
        mov      rdi, rsp
        call     G_M15651_IG24
 						;; size=8 bbWeight=1 PerfScore 1.25
 G_M15651_IG21:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M15651_IG22:
-       mov      rdi, bword ptr [rbp-0x70]
-       lea      rsi, bword ptr [rbp-0x58]
+       mov      rdi, bword ptr [rbp-0x78]
+       lea      rsi, bword ptr [rbp-0x60]
        call     CORINFO_HELP_ASSIGN_BYREF
        movsq    
        call     CORINFO_HELP_ASSIGN_BYREF
        movsq    
-       mov      rax, bword ptr [rbp-0x70]
+       mov      rax, bword ptr [rbp-0x78]
 						;; size=26 bbWeight=1 PerfScore 6.50
 G_M15651_IG23:
-       add      rsp, 104
+       add      rsp, 120
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M15651_IG24:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
-       lea      rbp, [rbp+0x90]
+       lea      rbp, [rbp+0xA0]
 						;; size=30 bbWeight=1 PerfScore 9.75
 G_M15651_IG25:
-       cmp      dword ptr [rbp-0x5C], 0
+       cmp      dword ptr [rbp-0x64], 0
        je       G_M15651_IG27
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rax, gword ptr [rdi+0x48]
-       test     rax, rax
+       mov      r13, gword ptr [rbp-0x70]
+       mov      rdi, gword ptr [r13+0x48]
+       test     rdi, rdi
        je       SHORT G_M15651_IG26
-       mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.InteropServices.SafeHandle:Dispose():this
        call     [rax]System.Runtime.InteropServices.SafeHandle:Dispose():this
-						;; size=38 bbWeight=1 PerfScore 10.75
+						;; size=35 bbWeight=1 PerfScore 10.50
 G_M15651_IG26:
-       cmp      dword ptr [rbp-0x2C], 0
-       jne      G_M15651_IG27
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rax, gword ptr [rdi+0x50]
-       test     rax, rax
-       je       G_M15651_IG27
-       mov      rdi, rax
-       mov      rax, qword ptr [rax]
+       cmp      dword ptr [rbp-0x34], 0
+       jne      SHORT G_M15651_IG27
+       mov      rdi, gword ptr [r13+0x50]
+       test     rdi, rdi
+       je       SHORT G_M15651_IG27
+       mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x20]System.Runtime.InteropServices.SafeHandle:get_IsInvalid():ubyte:this
        test     eax, eax
        jne      SHORT G_M15651_IG27
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rax, gword ptr [rdi+0x48]
-       test     rax, rax
+       mov      rdi, gword ptr [r13+0x48]
+       test     rdi, rdi
        je       SHORT G_M15651_IG27
-       mov      rdi, rax
-       mov      rax, qword ptr [rax]
+       mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x20]System.Runtime.InteropServices.SafeHandle:get_IsInvalid():ubyte:this
        test     eax, eax
        jne      SHORT G_M15651_IG27
-       mov      rdi, gword ptr [rbp-0x68]
-       mov      rsi, gword ptr [rdi+0x48]
-       mov      rax, gword ptr [rbp-0x38]
-       mov      r8, gword ptr [rdi+0x38]
+       mov      rdi, gword ptr [r13+0x48]
+       mov      rsi, gword ptr [rbp-0x40]
+       mov      r8, gword ptr [r13+0x38]
        movzx    r9, byte  ptr [r8+0x70]
        mov      dword ptr [rsp], r9d
-       mov      r9d, dword ptr [rbp-0x30]
+       mov      r9d, dword ptr [rbp-0x38]
        mov      dword ptr [rsp+0x08], r9d
        cmp      dword ptr [r8+0x64], 0
        setne    r9b
        movzx    r9, r9b
        movzx    rcx, byte  ptr [r8+0x6D]
        mov      edx, dword ptr [r8+0x60]
        mov      r8d, dword ptr [r8+0x68]
-       mov      rdi, rsi
-       mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Security.SslSessionsCache:CacheCredential(System.Net.Security.SafeFreeCredentials,ubyte[],int,ubyte,int,ubyte,ubyte,ubyte)
        call     [rax]System.Net.Security.SslSessionsCache:CacheCredential(System.Net.Security.SafeFreeCredentials,ubyte[],int,ubyte,int,ubyte,ubyte,ubyte)
-						;; size=152 bbWeight=1 PerfScore 53.50
-G_M15651_IG27:
        nop      
-						;; size=1 bbWeight=1 PerfScore 0.25
-G_M15651_IG28:
+						;; size=121 bbWeight=1 PerfScore 49.75
+G_M15651_IG27:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 862, prolog size 59, PerfScore 725.33, instruction count 226, allocated bytes for code 862 (MethodHash=4b4ec2dc) for method System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
+; Total bytes of code 850, prolog size 69, PerfScore 739.33, instruction count 224, allocated bytes for code 850 (MethodHash=4b4ec2dc) for method System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (FullOpts)
-12 (-2.33 % of base) - System.Net.Sockets.NetworkStream:Read(ubyte[],int,int):int:this
 ; Assembly listing for method System.Net.Sockets.NetworkStream:Read(ubyte[],int,int):int:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7,  6   )     ref  ->  rbx         this class-hnd single-def <System.Net.Sockets.NetworkStream>
-;  V01 arg1         [V01,T01] (  5,  5   )     ref  ->  r15         class-hnd single-def <ubyte[]>
-;  V02 arg2         [V02,T02] (  5,  5   )     int  ->  r14         single-def
-;  V03 arg3         [V03,T03] (  4,  4   )     int  ->  r13         single-def
+;  V00 this         [V00,T00] (  7,  6   )     ref  ->  [rbp-0x30]  this class-hnd EH-live single-def <System.Net.Sockets.NetworkStream>
+;  V01 arg1         [V01,T01] (  5,  5   )     ref  ->  rbx         class-hnd single-def <ubyte[]>
+;  V02 arg2         [V02,T02] (  5,  5   )     int  ->  r15         single-def
+;  V03 arg3         [V03,T03] (  4,  4   )     int  ->  r14         single-def
 ;* V04 loc0         [V04    ] (  0,  0   )     int  ->  zero-ref   
-;  V05 loc1         [V05,T07] (  3,  0   )     ref  ->  [rbp-0x30]  must-init class-hnd EH-live single-def <System.Exception>
+;  V05 loc1         [V05,T07] (  3,  0   )     ref  ->  [rbp-0x38]  must-init class-hnd EH-live single-def <System.Exception>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T12] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
 ;  V08 tmp2         [V08,T08] (  3,  0   )     ref  ->  rsi         class-hnd single-def "dup spill" <System.Exception>
 ;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V10 tmp4         [V10,T11] (  3,  0   )     int  ->  rax        
 ;* V11 tmp5         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V12 tmp6         [V12,T09] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
 ;* V13 tmp7         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp8         [V14,T04] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
+;  V14 tmp8         [V14,T04] (  3,  6   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
 ;  V15 tmp9         [V15    ] (  3,  2   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V16 tmp10        [V16,T05] (  2,  2   )     int  ->  rax        
 ;  V17 tmp11        [V17,T10] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Net.Sockets.SocketException>
 ;  V18 tmp12        [V18,T15] (  2,  0   )     int  ->  rsi         "Inlining Arg"
 ;  V19 tmp13        [V19,T13] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V20 tmp14        [V20,T14] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V21 PSPSym       [V21,T06] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M21791_IG01:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
        lea      rbp, [rsp+0x40]
        xor      eax, eax
-       mov      qword ptr [rbp-0x30], rax
+       mov      qword ptr [rbp-0x38], rax
        mov      qword ptr [rbp-0x40], rsp
-       mov      rbx, rdi
-       mov      r15, rsi
-       mov      r14d, edx
-       mov      r13d, ecx
-						;; size=39 bbWeight=1 PerfScore 9.00
+       mov      qword ptr [rbp-0x20], rdi
+       mov      gword ptr [rbp-0x30], rdi
+       mov      rbx, rsi
+       mov      r15d, edx
+       mov      r14d, ecx
+						;; size=42 bbWeight=1 PerfScore 9.75
 G_M21791_IG02:
-       test     r15, r15
+       test     rbx, rbx
        je       G_M21791_IG10
-       test     r14d, r14d
+       test     r15d, r15d
        jl       G_M21791_IG09
-       mov      edi, dword ptr [r15+0x08]
-       sub      edi, r14d
-       movsxd   rdi, edi
-       mov      eax, r13d
-       cmp      rdi, rax
+       mov      eax, dword ptr [rbx+0x08]
+       sub      eax, r15d
+       cdqe     
+       mov      ecx, r14d
+       cmp      rax, rcx
        jl       G_M21791_IG08
-       cmp      dword ptr [rbx+0x18], 0
+       cmp      dword ptr [rdi+0x18], 0
        jne      G_M21791_IG07
-       mov      rdi, rbx
-       mov      rax, qword ptr [rbx]
+       mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x28]System.IO.Stream:get_CanRead():ubyte:this
        test     eax, eax
        je       SHORT G_M21791_IG06
-						;; size=67 bbWeight=1 PerfScore 19.00
+						;; size=62 bbWeight=1 PerfScore 18.75
 G_M21791_IG03:
-       mov      rdi, gword ptr [rbx+0x10]
-       cmp      byte  ptr [rdi], dil
+       mov      rdi, gword ptr [rbp-0x30]
+       mov      rsi, gword ptr [rdi+0x10]
+       cmp      byte  ptr [rsi], sil
        lea      r9, [rbp-0x28]
-       mov      rsi, r15
-       mov      edx, r14d
-       mov      ecx, r13d
+       mov      rdi, rsi
+       mov      rsi, rbx
+       mov      edx, r15d
+       mov      ecx, r14d
        xor      r8d, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:Receive(ubyte[],int,int,int,byref):int:this
        call     [rax]System.Net.Sockets.Socket:Receive(ubyte[],int,int,int,byref):int:this
        cmp      dword ptr [rbp-0x28], 0
        je       SHORT G_M21791_IG05
-						;; size=41 bbWeight=1 PerfScore 12.75
+						;; size=48 bbWeight=1 PerfScore 14.00
 G_M21791_IG04:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Sockets.SocketException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      esi, dword ptr [rbp-0x28]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.SocketException:.ctor(int):this
        call     [rax]System.Net.Sockets.SocketException:.ctor(int):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=45 bbWeight=0 PerfScore 0.00
 G_M21791_IG05:
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=1 PerfScore 3.75
+						;; size=11 bbWeight=1 PerfScore 3.25
 G_M21791_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_writeonlystream():System.String
        call     [rax]System.SR:get_net_writeonlystream():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
        call     [rax]System.InvalidOperationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M21791_IG07:
-       mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowObjectDisposedException(System.Object)
        call     [rax]System.ThrowHelper:ThrowObjectDisposedException(System.Object)
        int3     
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=13 bbWeight=0 PerfScore 0.00
 G_M21791_IG08:
        mov      edi, 27
        mov      esi, 16
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        int3     
 						;; size=23 bbWeight=0 PerfScore 0.00
 G_M21791_IG09:
        mov      edi, 90
        mov      esi, 13
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        int3     
 						;; size=23 bbWeight=0 PerfScore 0.00
 G_M21791_IG10:
        mov      edi, 88
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M21791_IG11:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M21791_IG12:
        mov      rdi, 0xD1FFAB1E      ; System.Exception
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        mov      rsi, rax
        test     rsi, rsi
        jne      SHORT G_M21791_IG13
        xor      eax, eax
        jmp      SHORT G_M21791_IG14
 						;; size=34 bbWeight=0 PerfScore 0.00
 G_M21791_IG13:
-       mov      gword ptr [rbp-0x30], rsi
-       mov      rsi, gword ptr [rbp-0x30]
+       mov      gword ptr [rbp-0x38], rsi
+       mov      rsi, gword ptr [rbp-0x38]
        mov      rdi, 0xD1FFAB1E      ; System.OutOfMemoryException
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        sete     al
        movzx    rax, al
 						;; size=39 bbWeight=0 PerfScore 0.00
 G_M21791_IG14:
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0 PerfScore 0.00
+						;; size=11 bbWeight=0 PerfScore 0.00
 G_M21791_IG15:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M21791_IG16:
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_io_readfailure():System.String
        call     [rax]System.SR:get_net_io_readfailure():System.String
        mov      rdi, rax
-       mov      rsi, gword ptr [rbp-0x30]
+       mov      rsi, gword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.NetworkStream:WrapException(System.String,System.Exception):System.IO.IOException
        call     [rax]System.Net.Sockets.NetworkStream:WrapException(System.String,System.Exception):System.IO.IOException
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=40 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 514, prolog size 39, PerfScore 44.50, instruction count 140, allocated bytes for code 514 (MethodHash=8b38aae0) for method System.Net.Sockets.NetworkStream:Read(ubyte[],int,int):int:this (FullOpts)
+; Total bytes of code 502, prolog size 42, PerfScore 45.75, instruction count 136, allocated bytes for code 502 (MethodHash=8b38aae0) for method System.Net.Sockets.NetworkStream:Read(ubyte[],int,int):int:this (FullOpts)
-12 (-2.33 % of base) - System.Net.Sockets.NetworkStream:Write(ubyte[],int,int):this
 ; Assembly listing for method System.Net.Sockets.NetworkStream:Write(ubyte[],int,int):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 2 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  7,  6   )     ref  ->  rbx         this class-hnd single-def <System.Net.Sockets.NetworkStream>
-;  V01 arg1         [V01,T01] (  5,  5   )     ref  ->  r15         class-hnd single-def <ubyte[]>
-;  V02 arg2         [V02,T02] (  5,  5   )     int  ->  r14         single-def
-;  V03 arg3         [V03,T03] (  4,  4   )     int  ->  r13         single-def
-;  V04 loc0         [V04,T06] (  3,  0   )     ref  ->  [rbp-0x30]  must-init class-hnd EH-live single-def <System.Exception>
+;  V00 this         [V00,T00] (  7,  6   )     ref  ->  [rbp-0x30]  this class-hnd EH-live single-def <System.Net.Sockets.NetworkStream>
+;  V01 arg1         [V01,T01] (  5,  5   )     ref  ->  rbx         class-hnd single-def <ubyte[]>
+;  V02 arg2         [V02,T02] (  5,  5   )     int  ->  r15         single-def
+;  V03 arg3         [V03,T03] (  4,  4   )     int  ->  r14         single-def
+;  V04 loc0         [V04,T06] (  3,  0   )     ref  ->  [rbp-0x38]  must-init class-hnd EH-live single-def <System.Exception>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T11] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Object>
 ;  V07 tmp2         [V07,T07] (  3,  0   )     ref  ->  rsi         class-hnd single-def "dup spill" <System.Exception>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V09 tmp4         [V09,T10] (  3,  0   )     int  ->  rax        
 ;* V10 tmp5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V11 tmp6         [V11,T08] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
 ;* V12 tmp7         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V13 tmp8         [V13,T04] (  3,  6   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
+;  V13 tmp8         [V13,T04] (  3,  6   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
 ;  V14 tmp9         [V14    ] (  3,  2   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V15 tmp10        [V15    ] (  0,  0   )     int  ->  zero-ref   
 ;  V16 tmp11        [V16,T09] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Net.Sockets.SocketException>
 ;  V17 tmp12        [V17,T14] (  2,  0   )     int  ->  rsi         "Inlining Arg"
 ;  V18 tmp13        [V18,T12] (  2,  0   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V19 tmp14        [V19,T13] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V20 PSPSym       [V20,T05] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M43417_IG01:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
        lea      rbp, [rsp+0x40]
        xor      eax, eax
-       mov      qword ptr [rbp-0x30], rax
+       mov      qword ptr [rbp-0x38], rax
        mov      qword ptr [rbp-0x40], rsp
-       mov      rbx, rdi
-       mov      r15, rsi
-       mov      r14d, edx
-       mov      r13d, ecx
-						;; size=39 bbWeight=1 PerfScore 9.00
+       mov      qword ptr [rbp-0x20], rdi
+       mov      gword ptr [rbp-0x30], rdi
+       mov      rbx, rsi
+       mov      r15d, edx
+       mov      r14d, ecx
+						;; size=42 bbWeight=1 PerfScore 9.75
 G_M43417_IG02:
-       test     r15, r15
+       test     rbx, rbx
        je       G_M43417_IG10
-       test     r14d, r14d
+       test     r15d, r15d
        jl       G_M43417_IG09
-       mov      edi, dword ptr [r15+0x08]
-       sub      edi, r14d
-       movsxd   rdi, edi
-       mov      eax, r13d
-       cmp      rdi, rax
+       mov      eax, dword ptr [rbx+0x08]
+       sub      eax, r15d
+       cdqe     
+       mov      ecx, r14d
+       cmp      rax, rcx
        jl       G_M43417_IG08
-       cmp      dword ptr [rbx+0x18], 0
+       cmp      dword ptr [rdi+0x18], 0
        jne      G_M43417_IG07
-       mov      rdi, rbx
-       mov      rax, qword ptr [rbx]
+       mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x30]System.IO.Stream:get_CanWrite():ubyte:this
        test     eax, eax
        je       SHORT G_M43417_IG06
-						;; size=67 bbWeight=1 PerfScore 19.00
+						;; size=62 bbWeight=1 PerfScore 18.75
 G_M43417_IG03:
-       mov      rdi, gword ptr [rbx+0x10]
-       cmp      byte  ptr [rdi], dil
+       mov      rdi, gword ptr [rbp-0x30]
+       mov      rsi, gword ptr [rdi+0x10]
+       cmp      byte  ptr [rsi], sil
        lea      r9, [rbp-0x28]
-       mov      rsi, r15
-       mov      edx, r14d
-       mov      ecx, r13d
+       mov      rdi, rsi
+       mov      rsi, rbx
+       mov      edx, r15d
+       mov      ecx, r14d
        xor      r8d, r8d
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.Socket:Send(ubyte[],int,int,int,byref):int:this
        call     [rax]System.Net.Sockets.Socket:Send(ubyte[],int,int,int,byref):int:this
        cmp      dword ptr [rbp-0x28], 0
        je       SHORT G_M43417_IG05
-						;; size=41 bbWeight=1 PerfScore 12.75
+						;; size=48 bbWeight=1 PerfScore 14.00
 G_M43417_IG04:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Sockets.SocketException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      esi, dword ptr [rbp-0x28]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.SocketException:.ctor(int):this
        call     [rax]System.Net.Sockets.SocketException:.ctor(int):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=45 bbWeight=0 PerfScore 0.00
 G_M43417_IG05:
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=1 PerfScore 3.75
+						;; size=11 bbWeight=1 PerfScore 3.25
 G_M43417_IG06:
        mov      rdi, 0xD1FFAB1E      ; System.InvalidOperationException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_readonlystream():System.String
        call     [rax]System.SR:get_net_readonlystream():System.String
        mov      rsi, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.InvalidOperationException:.ctor(System.String):this
        call     [rax]System.InvalidOperationException:.ctor(System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=57 bbWeight=0 PerfScore 0.00
 G_M43417_IG07:
-       mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowObjectDisposedException(System.Object)
        call     [rax]System.ThrowHelper:ThrowObjectDisposedException(System.Object)
        int3     
-						;; size=16 bbWeight=0 PerfScore 0.00
+						;; size=13 bbWeight=0 PerfScore 0.00
 G_M43417_IG08:
        mov      edi, 27
        mov      esi, 16
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        int3     
 						;; size=23 bbWeight=0 PerfScore 0.00
 G_M43417_IG09:
        mov      edi, 90
        mov      esi, 13
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        int3     
 						;; size=23 bbWeight=0 PerfScore 0.00
 G_M43417_IG10:
        mov      edi, 88
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M43417_IG11:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M43417_IG12:
        mov      rdi, 0xD1FFAB1E      ; System.Exception
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        mov      rsi, rax
        test     rsi, rsi
        jne      SHORT G_M43417_IG13
        xor      eax, eax
        jmp      SHORT G_M43417_IG14
 						;; size=34 bbWeight=0 PerfScore 0.00
 G_M43417_IG13:
-       mov      gword ptr [rbp-0x30], rsi
-       mov      rsi, gword ptr [rbp-0x30]
+       mov      gword ptr [rbp-0x38], rsi
+       mov      rsi, gword ptr [rbp-0x38]
        mov      rdi, 0xD1FFAB1E      ; System.OutOfMemoryException
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        sete     al
        movzx    rax, al
 						;; size=39 bbWeight=0 PerfScore 0.00
 G_M43417_IG14:
-       add      rsp, 16
+       add      rsp, 8
        pop      rbx
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=0 PerfScore 0.00
+						;; size=11 bbWeight=0 PerfScore 0.00
 G_M43417_IG15:
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
-						;; size=23 bbWeight=0 PerfScore 0.00
+						;; size=18 bbWeight=0 PerfScore 0.00
 G_M43417_IG16:
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_io_writefailure():System.String
        call     [rax]System.SR:get_net_io_writefailure():System.String
        mov      rdi, rax
-       mov      rsi, gword ptr [rbp-0x30]
+       mov      rsi, gword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Sockets.NetworkStream:WrapException(System.String,System.Exception):System.IO.IOException
        call     [rax]System.Net.Sockets.NetworkStream:WrapException(System.String,System.Exception):System.IO.IOException
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=40 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 514, prolog size 39, PerfScore 44.50, instruction count 140, allocated bytes for code 514 (MethodHash=1eb35666) for method System.Net.Sockets.NetworkStream:Write(ubyte[],int,int):this (FullOpts)
+; Total bytes of code 502, prolog size 42, PerfScore 45.75, instruction count 136, allocated bytes for code 502 (MethodHash=1eb35666) for method System.Net.Sockets.NetworkStream:Write(ubyte[],int,int):this (FullOpts)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment