Skip to content

Instantly share code, notes, and snippets.

@MihuBot
Created December 1, 2024 03:53
Show Gist options
  • Save MihuBot/a415c280bc58fc3df81912e97c014815 to your computer and use it in GitHub Desktop.
Save MihuBot/a415c280bc58fc3df81912e97c014815 to your computer and use it in GitHub Desktop.

Top method regressions

111 (264.29 % of base) - System.Resources.Extensions.BinaryFormat.SerializationInfoExtensions:UpdateValue(System.Runtime.Serialization.SerializationInfo,System.String,System.Object,System.Type)
 ; Assembly listing for method System.Resources.Extensions.BinaryFormat.SerializationInfoExtensions:UpdateValue(System.Runtime.Serialization.SerializationInfo,System.String,System.Object,System.Type) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
-; rsp based frame
-; fully interruptible
+; rbp based frame
+; partially interruptible
 ; No PGO data
+; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  3,  3   )     ref  ->  rdi         class-hnd single-def <System.Runtime.Serialization.SerializationInfo>
-;  V01 arg1         [V01,T02] (  3,  3   )     ref  ->   r8         class-hnd single-def <System.String>
-;  V02 arg2         [V02,T03] (  3,  3   )     ref  ->  rax         class-hnd single-def <System.Object>
-;  V03 arg3         [V03,T04] (  3,  3   )     ref  ->   r9         class-hnd single-def <System.Type>
+;  V00 arg0         [V00,T00] (  6,  4.50)     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.SerializationInfo>
+;  V01 arg1         [V01,T01] (  4,  3.50)     ref  ->  r15         class-hnd single-def <System.String>
+;  V02 arg2         [V02,T02] (  4,  3   )     ref  ->  r14         class-hnd single-def <System.Object>
+;  V03 arg3         [V03,T03] (  4,  3   )     ref  ->  r13         class-hnd single-def <System.Type>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 rat0         [V05,T00] (  3,  6   )     ref  ->  r10         "delegate invoke call"
+;  V05 tmp1         [V05,T04] (  4,  3   )     int  ->  r12         "Inline stloc first use temp"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
-G_M13005_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       mov      r8, rsi
-       ; gcrRegs +[r8]
-       mov      rax, rdx
-       ; gcrRegs +[rax]
-       mov      r9, rcx
-       ; gcrRegs +[r9]
-						;; size=9 bbWeight=1 PerfScore 0.75
-G_M13005_IG02:        ; bbWeight=1, gcrefRegs=0381 {rax rdi r8 r9}, byrefRegs=0000 {}, byref
+G_M13005_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+       push     rbp
+       push     r15
+       push     r14
+       push     r13
+       push     r12
+       push     rbx
+       push     rax
+       lea      rbp, [rsp+0x30]
+       mov      rbx, rdi
+       ; gcrRegs +[rbx]
+       mov      r15, rsi
+       ; gcrRegs +[r15]
+       mov      r14, rdx
+       ; gcrRegs +[r14]
+       mov      r13, rcx
+       ; gcrRegs +[r13]
+						;; size=28 bbWeight=1 PerfScore 8.50
+G_M13005_IG02:        ; bbWeight=1, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, rbx
        ; gcrRegs +[rdi]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      r10, gword ptr [rsi]
-       ; gcrRegs +[r10]
-       mov      rsi, rdi
+       mov      rsi, r15
        ; gcrRegs +[rsi]
-       mov      rdx, r8
+       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:FindElement(System.String):int:this
+       call     [rax]System.Runtime.Serialization.SerializationInfo:FindElement(System.String):int:this
+       ; gcrRegs -[rsi rdi]
+       mov      r12d, eax
+       test     r12d, r12d
+       jl       SHORT G_M13005_IG05
+						;; size=26 bbWeight=1 PerfScore 5.25
+G_M13005_IG03:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r15]
+       mov      rdi, gword ptr [rbx+0x10]
+       ; gcrRegs +[rdi]
+       movsxd   rsi, r12d
+       mov      rdx, r14
        ; gcrRegs +[rdx]
-       mov      rcx, rax
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
+       call     [rax]CORINFO_HELP_ARRADDR_ST
+       ; gcrRegs -[rdx rdi r14]
+       mov      rdi, gword ptr [rbx+0x18]
+       ; gcrRegs +[rdi]
+       movsxd   rsi, r12d
+       mov      rdx, r13
+       ; gcrRegs +[rdx]
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
+       call     [rax]CORINFO_HELP_ARRADDR_ST
+       ; gcrRegs -[rdx rbx rdi r13]
+       nop      
+						;; size=45 bbWeight=0.50 PerfScore 5.88
+G_M13005_IG04:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
+       pop      r12
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+						;; size=15 bbWeight=0.50 PerfScore 2.12
+G_M13005_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[rbx r13-r15]
+       mov      rdi, rbx
+       ; gcrRegs +[rdi]
+       mov      rsi, r15
+       ; gcrRegs +[rsi]
+       mov      rdx, r14
+       ; gcrRegs +[rdx]
+       mov      rcx, r13
        ; gcrRegs +[rcx]
-       mov      r8, r9
-       mov      rdi, gword ptr [r10+0x08]
-						;; size=29 bbWeight=1 PerfScore 5.25
-G_M13005_IG03:        ; bbWeight=1, epilog, nogc, extend
-       tail.jmp [r10+0x18]System.Action`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:Invoke(System.__Canon,System.__Canon,System.__Canon,System.__Canon):this
-						;; size=4 bbWeight=1 PerfScore 2.00
+       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:AddValueInternal(System.String,System.Object,System.Type):this
+						;; size=22 bbWeight=0.50 PerfScore 0.62
+G_M13005_IG06:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
+       pop      r12
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       tail.jmp [rax]System.Runtime.Serialization.SerializationInfo:AddValueInternal(System.String,System.Object,System.Type):this
+						;; size=17 bbWeight=0.50 PerfScore 2.62
 
-; Total bytes of code 42, prolog size 9, PerfScore 8.00, instruction count 11, allocated bytes for code 42 (MethodHash=8b40cd32) for method System.Resources.Extensions.BinaryFormat.SerializationInfoExtensions:UpdateValue(System.Runtime.Serialization.SerializationInfo,System.String,System.Object,System.Type) (FullOpts)
+; Total bytes of code 153, prolog size 16, PerfScore 25.00, instruction count 51, allocated bytes for code 153 (MethodHash=8b40cd32) for method System.Resources.Extensions.BinaryFormat.SerializationInfoExtensions:UpdateValue(System.Runtime.Serialization.SerializationInfo,System.String,System.Object,System.Type) (FullOpts)
 ; ============================================================
111 (264.29 % of base) - System.Runtime.Serialization.SerializationInfoExtensions:UpdateValue(System.Runtime.Serialization.SerializationInfo,System.String,System.Object,System.Type)
 ; Assembly listing for method System.Runtime.Serialization.SerializationInfoExtensions:UpdateValue(System.Runtime.Serialization.SerializationInfo,System.String,System.Object,System.Type) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
-; rsp based frame
-; fully interruptible
+; rbp based frame
+; partially interruptible
 ; No PGO data
+; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  3,  3   )     ref  ->  rdi         class-hnd single-def <System.Runtime.Serialization.SerializationInfo>
-;  V01 arg1         [V01,T02] (  3,  3   )     ref  ->   r8         class-hnd single-def <System.String>
-;  V02 arg2         [V02,T03] (  3,  3   )     ref  ->  rax         class-hnd single-def <System.Object>
-;  V03 arg3         [V03,T04] (  3,  3   )     ref  ->   r9         class-hnd single-def <System.Type>
+;  V00 arg0         [V00,T00] (  6,  4.50)     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.SerializationInfo>
+;  V01 arg1         [V01,T01] (  4,  3.50)     ref  ->  r15         class-hnd single-def <System.String>
+;  V02 arg2         [V02,T02] (  4,  3   )     ref  ->  r14         class-hnd single-def <System.Object>
+;  V03 arg3         [V03,T03] (  4,  3   )     ref  ->  r13         class-hnd single-def <System.Type>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 rat0         [V05,T00] (  3,  6   )     ref  ->  r10         "delegate invoke call"
+;  V05 tmp1         [V05,T04] (  4,  3   )     int  ->  r12         "Inline stloc first use temp"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
-G_M23470_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-       mov      r8, rsi
-       ; gcrRegs +[r8]
-       mov      rax, rdx
-       ; gcrRegs +[rax]
-       mov      r9, rcx
-       ; gcrRegs +[r9]
-						;; size=9 bbWeight=1 PerfScore 0.75
-G_M23470_IG02:        ; bbWeight=1, gcrefRegs=0381 {rax rdi r8 r9}, byrefRegs=0000 {}, byref
+G_M23470_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+       push     rbp
+       push     r15
+       push     r14
+       push     r13
+       push     r12
+       push     rbx
+       push     rax
+       lea      rbp, [rsp+0x30]
+       mov      rbx, rdi
+       ; gcrRegs +[rbx]
+       mov      r15, rsi
+       ; gcrRegs +[r15]
+       mov      r14, rdx
+       ; gcrRegs +[r14]
+       mov      r13, rcx
+       ; gcrRegs +[r13]
+						;; size=28 bbWeight=1 PerfScore 8.50
+G_M23470_IG02:        ; bbWeight=1, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+       mov      rdi, rbx
        ; gcrRegs +[rdi]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      r10, gword ptr [rsi]
-       ; gcrRegs +[r10]
-       mov      rsi, rdi
+       mov      rsi, r15
        ; gcrRegs +[rsi]
-       mov      rdx, r8
+       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:FindElement(System.String):int:this
+       call     [rax]System.Runtime.Serialization.SerializationInfo:FindElement(System.String):int:this
+       ; gcrRegs -[rsi rdi]
+       mov      r12d, eax
+       test     r12d, r12d
+       jl       SHORT G_M23470_IG05
+						;; size=26 bbWeight=1 PerfScore 5.25
+G_M23470_IG03:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r15]
+       mov      rdi, gword ptr [rbx+0x10]
+       ; gcrRegs +[rdi]
+       movsxd   rsi, r12d
+       mov      rdx, r14
        ; gcrRegs +[rdx]
-       mov      rcx, rax
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
+       call     [rax]CORINFO_HELP_ARRADDR_ST
+       ; gcrRegs -[rdx rdi r14]
+       mov      rdi, gword ptr [rbx+0x18]
+       ; gcrRegs +[rdi]
+       movsxd   rsi, r12d
+       mov      rdx, r13
+       ; gcrRegs +[rdx]
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
+       call     [rax]CORINFO_HELP_ARRADDR_ST
+       ; gcrRegs -[rdx rbx rdi r13]
+       nop      
+						;; size=45 bbWeight=0.50 PerfScore 5.88
+G_M23470_IG04:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
+       pop      r12
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+						;; size=15 bbWeight=0.50 PerfScore 2.12
+G_M23470_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[rbx r13-r15]
+       mov      rdi, rbx
+       ; gcrRegs +[rdi]
+       mov      rsi, r15
+       ; gcrRegs +[rsi]
+       mov      rdx, r14
+       ; gcrRegs +[rdx]
+       mov      rcx, r13
        ; gcrRegs +[rcx]
-       mov      r8, r9
-       mov      rdi, gword ptr [r10+0x08]
-						;; size=29 bbWeight=1 PerfScore 5.25
-G_M23470_IG03:        ; bbWeight=1, epilog, nogc, extend
-       tail.jmp [r10+0x18]System.Action`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:Invoke(System.__Canon,System.__Canon,System.__Canon,System.__Canon):this
-						;; size=4 bbWeight=1 PerfScore 2.00
+       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:AddValueInternal(System.String,System.Object,System.Type):this
+						;; size=22 bbWeight=0.50 PerfScore 0.62
+G_M23470_IG06:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
+       pop      r12
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       tail.jmp [rax]System.Runtime.Serialization.SerializationInfo:AddValueInternal(System.String,System.Object,System.Type):this
+						;; size=17 bbWeight=0.50 PerfScore 2.62
 
-; Total bytes of code 42, prolog size 9, PerfScore 8.00, instruction count 11, allocated bytes for code 42 (MethodHash=36f5a451) for method System.Runtime.Serialization.SerializationInfoExtensions:UpdateValue(System.Runtime.Serialization.SerializationInfo,System.String,System.Object,System.Type) (FullOpts)
+; Total bytes of code 153, prolog size 16, PerfScore 25.00, instruction count 51, allocated bytes for code 153 (MethodHash=36f5a451) for method System.Runtime.Serialization.SerializationInfoExtensions:UpdateValue(System.Runtime.Serialization.SerializationInfo,System.String,System.Object,System.Type) (FullOpts)
 ; ============================================================
89 (86.41 % of base) - System.Resources.Extensions.BinaryFormat.Deserializer.SerializationInfoValueUpdater:UpdateValue(System.Collections.Generic.IDictionary`2[System.Formats.Nrbf.SerializationRecordId,System.Object]):this
 ; Assembly listing for method System.Resources.Extensions.BinaryFormat.Deserializer.SerializationInfoValueUpdater:UpdateValue(System.Collections.Generic.IDictionary`2[System.Formats.Nrbf.SerializationRecordId,System.Object]):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
+; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  5,  5   )     ref  ->  rbx         this class-hnd single-def <System.Resources.Extensions.BinaryFormat.Deserializer.SerializationInfoValueUpdater>
 ;  V01 arg1         [V01,T02] (  3,  3   )     ref  ->  rdi         class-hnd single-def <System.Collections.Generic.IDictionary`2[System.Formats.Nrbf.SerializationRecordId,System.Object]>
-;  V02 loc0         [V02,T06] (  3,  3   )     ref  ->  r15         class-hnd single-def <System.__Canon>
+;  V02 loc0         [V02,T05] (  4,  3   )     ref  ->  r15         class-hnd single-def <System.__Canon>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Formats.Nrbf.SerializationRecordId>
-;* V05 tmp2         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Runtime.Serialization.SerializationInfo>
-;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.String>
-;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.RuntimeType>
-;* V08 tmp5         [V08    ] (  0,  0   )     int  ->  zero-ref    "field V04._id (fldOffset=0x0)" P-INDEP
-;  V09 tmp6         [V09,T03] (  2,  4   )     ref  ->   r8         single-def "argument with side effect"
-;  V10 tmp7         [V10,T04] (  2,  4   )     ref  ->  r14         single-def "argument with side effect"
-;  V11 tmp8         [V11,T05] (  2,  4   )     ref  ->  rbx         single-def "argument with side effect"
-;  V12 rat0         [V12,T01] (  3,  6   )     ref  ->  rax         "delegate invoke call"
+;  V05 tmp2         [V05,T01] (  5,  7   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.Runtime.Serialization.SerializationInfo>
+;  V06 tmp3         [V06,T03] (  3,  5   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V07 tmp4         [V07,T04] (  3,  4   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
+;  V08 tmp5         [V08,T06] (  4,  3   )     int  ->  r12         single-def "Inline stloc first use temp"
+;* V09 tmp6         [V09    ] (  0,  0   )     int  ->  zero-ref    "field V04._id (fldOffset=0x0)" P-INDEP
 ;
 ; Lcl frame size = 8
 
-G_M5755_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+G_M5755_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
+       push     r13
+       push     r12
        push     rbx
        push     rax
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
        mov      rdi, rsi
        ; gcrRegs +[rdi]
-						;; size=18 bbWeight=1 PerfScore 6.00
-G_M5755_IG02:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
+						;; size=22 bbWeight=1 PerfScore 8.00
+G_M5755_IG02:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        mov      esi, dword ptr [rbx+0x08]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IDictionary`2[System.Formats.Nrbf.SerializationRecordId,System.__Canon]:get_Item(System.Formats.Nrbf.SerializationRecordId):System.__Canon:this
        call     [r11]System.Collections.Generic.IDictionary`2[System.Formats.Nrbf.SerializationRecordId,System.__Canon]:get_Item(System.Formats.Nrbf.SerializationRecordId):System.__Canon:this
        ; gcrRegs -[rdi] +[rax]
        mov      r15, rax
        ; gcrRegs +[r15]
        mov      r14, gword ptr [rbx+0x10]
        ; gcrRegs +[r14]
        mov      rbx, gword ptr [rbx+0x18]
        mov      rdi, r15
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; code for System.Object:GetType():System.Type:this
        ; gcrRegs -[rax]
        call     [rax]System.Object:GetType():System.Type:this
        ; gcrRegs -[rdi] +[rax]
-       mov      r8, rax
-       ; gcrRegs +[r8]
-       mov      rsi, r14
-       ; gcrRegs +[rsi]
-       mov      rdx, rbx
-       ; gcrRegs +[rdx]
-       mov      rcx, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rcx]
-       mov      rcx, r15
-       ; gcrRegs +[rcx]
-       mov      rdi, gword ptr [rax+0x08]
+       mov      r13, rax
+       ; gcrRegs +[r13]
+       mov      rdi, r14
        ; gcrRegs +[rdi]
-						;; size=71 bbWeight=1 PerfScore 18.25
-G_M5755_IG03:        ; bbWeight=1, epilog, nogc, extend
+       mov      rsi, rbx
+       ; gcrRegs +[rsi]
+       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:FindElement(System.String):int:this
+       ; gcrRegs -[rax]
+       call     [rax]System.Runtime.Serialization.SerializationInfo:FindElement(System.String):int:this
+       ; gcrRegs -[rsi rdi]
+       mov      r12d, eax
+       test     r12d, r12d
+       jl       SHORT G_M5755_IG05
+						;; size=71 bbWeight=1 PerfScore 18.50
+G_M5755_IG03:        ; bbWeight=0.50, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rbx]
+       mov      rdi, gword ptr [r14+0x10]
+       ; gcrRegs +[rdi]
+       movsxd   rsi, r12d
+       mov      rdx, r15
+       ; gcrRegs +[rdx]
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
+       call     [rax]CORINFO_HELP_ARRADDR_ST
+       ; gcrRegs -[rdx rdi r15]
+       mov      rdi, gword ptr [r14+0x18]
+       ; gcrRegs +[rdi]
+       movsxd   rsi, r12d
+       mov      rdx, r13
+       ; gcrRegs +[rdx]
+       mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
+       call     [rax]CORINFO_HELP_ARRADDR_ST
+       ; gcrRegs -[rdx rdi r13-r14]
+       nop      
+						;; size=45 bbWeight=0.50 PerfScore 5.88
+G_M5755_IG04:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 8
        pop      rbx
+       pop      r12
+       pop      r13
        pop      r14
        pop      r15
        pop      rbp
-       tail.jmp [rax+0x18]System.Action`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:Invoke(System.__Canon,System.__Canon,System.__Canon,System.__Canon):this
-						;; size=14 bbWeight=1 PerfScore 4.25
+       ret      
+						;; size=15 bbWeight=0.50 PerfScore 2.12
+G_M5755_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs +[rbx r13-r15]
+       mov      rdi, r14
+       ; gcrRegs +[rdi]
+       mov      rsi, rbx
+       ; gcrRegs +[rsi]
+       mov      rdx, r15
+       ; gcrRegs +[rdx]
+       mov      rcx, r13
+       ; gcrRegs +[rcx]
+       mov      rax, 0xD1FFAB1E      ; code for System.Runtime.Serialization.SerializationInfo:AddValueInternal(System.String,System.Object,System.Type):this
+						;; size=22 bbWeight=0.50 PerfScore 0.62
+G_M5755_IG06:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
+       pop      r12
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       tail.jmp [rax]System.Runtime.Serialization.SerializationInfo:AddValueInternal(System.String,System.Object,System.Type):this
+						;; size=17 bbWeight=0.50 PerfScore 2.62
 
-; Total bytes of code 103, prolog size 12, PerfScore 28.50, instruction count 30, allocated bytes for code 103 (MethodHash=ba42e984) for method System.Resources.Extensions.BinaryFormat.Deserializer.SerializationInfoValueUpdater:UpdateValue(System.Collections.Generic.IDictionary`2[System.Formats.Nrbf.SerializationRecordId,System.Object]):this (FullOpts)
+; Total bytes of code 192, prolog size 16, PerfScore 37.75, instruction count 59, allocated bytes for code 192 (MethodHash=ba42e984) for method System.Resources.Extensions.BinaryFormat.Deserializer.SerializationInfoValueUpdater:UpdateValue(System.Collections.Generic.IDictionary`2[System.Formats.Nrbf.SerializationRecordId,System.Object]):this (FullOpts)
 ; ============================================================
78 (89.66 % of base) - Microsoft.Extensions.Http.Logging.LogHelper:LogRequestFailed(Microsoft.Extensions.Logging.ILogger,System.TimeSpan,System.Net.Http.HttpRequestException)
 ; Assembly listing for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestFailed(Microsoft.Extensions.Logging.ILogger,System.TimeSpan,System.Net.Http.HttpRequestException) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  3,  3   )     ref  ->  rdi         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
+;  V00 arg0         [V00,T00] (  4,  3.50)     ref  ->  rbx         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
-;  V02 arg2         [V02,T02] (  3,  3   )     ref  ->  rdx         class-hnd single-def <System.Net.Http.HttpRequestException>
+;  V02 arg2         [V02,T02] (  3,  2.50)     ref  ->  r15         class-hnd single-def <System.Net.Http.HttpRequestException>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T05] (  4,  2.50)  double  ->  mm0         "Inline return value spill temp"
+;  V04 tmp1         [V04,T06] (  4,  2   )  double  ->  [rbp-0x20]  "Inline return value spill temp"
 ;  V05 tmp2         [V05,T04] (  4,  3   )  double  ->  mm0         "Inline stloc first use temp"
-;  V06 tmp3         [V06,T03] (  2,  2   )    long  ->  rsi         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
-;  V07 cse0         [V07,T07] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
-;  V08 cse1         [V08,T06] (  3,  2.50)  double  ->  mm1         "CSE #01: aggressive"
-;  V09 rat0         [V09,T00] (  3,  6   )     ref  ->  rax         "delegate invoke call"
+;  V06 tmp3         [V06,T01] (  3,  5   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[double]>
+;  V07 tmp4         [V07,T03] (  2,  2   )    long  ->  rsi         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
+;  V08 cse0         [V08,T07] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
+;  V09 cse1         [V09,T05] (  3,  2.50)  double  ->  mm1         "CSE #01: aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M17470_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       mov      rbp, rsp
-						;; size=4 bbWeight=1 PerfScore 1.25
-G_M17470_IG02:        ; bbWeight=1, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rdx rdi]
+       push     r15
+       push     r14
+       push     rbx
+       push     rax
+       lea      rbp, [rsp+0x20]
+       mov      rbx, rdi
+       ; gcrRegs +[rbx]
+       mov      r15, rdx
+       ; gcrRegs +[r15]
+						;; size=18 bbWeight=1 PerfScore 6.00
+G_M17470_IG02:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        vxorps   xmm0, xmm0, xmm0
        vcvtsi2sd xmm0, xmm0, rsi
        vdivsd   xmm0, xmm0, qword ptr [reloc @RWD00]
        vmovsd   xmm1, qword ptr [reloc @RWD08]
        vucomisd xmm0, xmm1
        ja       SHORT G_M17470_IG05
 						;; size=31 bbWeight=1 PerfScore 26.33
-G_M17470_IG03:        ; bbWeight=0.50, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
+G_M17470_IG03:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        vmovsd   xmm1, qword ptr [reloc @RWD16]
        vucomisd xmm1, xmm0
        ja       SHORT G_M17470_IG04
+       vmovsd   qword ptr [rbp-0x20], xmm0
        jmp      SHORT G_M17470_IG06
-						;; size=16 bbWeight=0.50 PerfScore 4.00
-G_M17470_IG04:        ; bbWeight=0.50, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
+						;; size=21 bbWeight=0.50 PerfScore 4.50
+G_M17470_IG04:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        vmovaps  xmm0, xmm1
+       vmovsd   qword ptr [rbp-0x20], xmm0
        jmp      SHORT G_M17470_IG06
-						;; size=6 bbWeight=0.50 PerfScore 1.12
-G_M17470_IG05:        ; bbWeight=0.50, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref
-       vmovaps  xmm0, xmm1
-						;; size=4 bbWeight=0.50 PerfScore 0.12
-G_M17470_IG06:        ; bbWeight=1, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref
+						;; size=11 bbWeight=0.50 PerfScore 1.62
+G_M17470_IG05:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+       vmovsd   qword ptr [rbp-0x20], xmm1
+						;; size=5 bbWeight=0.50 PerfScore 0.50
+G_M17470_IG06:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rsi]
-       ; gcrRegs +[rax]
-       mov      rsi, rdi
+       mov      rsi, gword ptr [rsi]
        ; gcrRegs +[rsi]
-       mov      rdi, gword ptr [rax+0x08]
-       call     [rax+0x18]System.Action`3[System.__Canon,double,System.__Canon]:Invoke(System.__Canon,double,System.__Canon):this
-       ; gcrRegs -[rax rdx rsi rdi]
+       mov      r14, gword ptr [rsi+0x18]
+       ; gcrRegs +[r14]
+       mov      esi, dword ptr [r14+0x10]
+       ; gcrRegs -[rsi]
+       mov      rdi, rbx
+       ; gcrRegs +[rdi]
+       mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       ; gcrRegs -[rdi]
+       test     eax, eax
+       je       SHORT G_M17470_IG08
+						;; size=41 bbWeight=1 PerfScore 11.00
+G_M17470_IG07:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
+       mov      rdi, r14
+       ; gcrRegs +[rdi]
+       mov      rsi, rbx
+       ; gcrRegs +[rsi]
+       vmovsd   xmm0, qword ptr [rbp-0x20]
+       mov      rdx, r15
+       ; gcrRegs +[rdx]
+       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[double]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,System.Exception):this
+       call     [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[double]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,System.Exception):this
+       ; gcrRegs -[rdx rbx rsi rdi r14-r15]
+						;; size=26 bbWeight=0.50 PerfScore 3.50
+G_M17470_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
-						;; size=24 bbWeight=1 PerfScore 7.75
-G_M17470_IG07:        ; bbWeight=1, epilog, nogc, extend
+						;; size=1 bbWeight=1 PerfScore 0.25
+G_M17470_IG09:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
+       pop      r14
+       pop      r15
        pop      rbp
        ret      
-						;; size=2 bbWeight=1 PerfScore 1.50
+						;; size=11 bbWeight=1 PerfScore 3.25
 RWD00  	dq	40C3880000000000h	;        10000
 RWD08  	dq	430A36E2EB1C4328h	; 9.22337204e+14
 RWD16  	dq	C30A36E2EB1C4328h	; -9.22337204e+14
 
 
-; Total bytes of code 87, prolog size 4, PerfScore 42.08, instruction count 23, allocated bytes for code 87 (MethodHash=bb4cbbc1) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestFailed(Microsoft.Extensions.Logging.ILogger,System.TimeSpan,System.Net.Http.HttpRequestException) (FullOpts)
+; Total bytes of code 165, prolog size 12, PerfScore 56.96, instruction count 45, allocated bytes for code 165 (MethodHash=bb4cbbc1) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestFailed(Microsoft.Extensions.Logging.ILogger,System.TimeSpan,System.Net.Http.HttpRequestException) (FullOpts)
 ; ============================================================
78 (89.66 % of base) - Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineFailed(Microsoft.Extensions.Logging.ILogger,System.TimeSpan,System.Net.Http.HttpRequestException)
 ; Assembly listing for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineFailed(Microsoft.Extensions.Logging.ILogger,System.TimeSpan,System.Net.Http.HttpRequestException) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T01] (  3,  3   )     ref  ->  rdi         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
+;  V00 arg0         [V00,T00] (  4,  3.50)     ref  ->  rbx         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
-;  V02 arg2         [V02,T02] (  3,  3   )     ref  ->  rdx         class-hnd single-def <System.Net.Http.HttpRequestException>
+;  V02 arg2         [V02,T02] (  3,  2.50)     ref  ->  r15         class-hnd single-def <System.Net.Http.HttpRequestException>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T05] (  4,  2.50)  double  ->  mm0         "Inline return value spill temp"
+;  V04 tmp1         [V04,T06] (  4,  2   )  double  ->  [rbp-0x20]  "Inline return value spill temp"
 ;  V05 tmp2         [V05,T04] (  4,  3   )  double  ->  mm0         "Inline stloc first use temp"
-;  V06 tmp3         [V06,T03] (  2,  2   )    long  ->  rsi         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
-;  V07 cse0         [V07,T07] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
-;  V08 cse1         [V08,T06] (  3,  2.50)  double  ->  mm1         "CSE #01: aggressive"
-;  V09 rat0         [V09,T00] (  3,  6   )     ref  ->  rax         "delegate invoke call"
+;  V06 tmp3         [V06,T01] (  3,  5   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[double]>
+;  V07 tmp4         [V07,T03] (  2,  2   )    long  ->  rsi         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
+;  V08 cse0         [V08,T07] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
+;  V09 cse1         [V09,T05] (  3,  2.50)  double  ->  mm1         "CSE #01: aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M19484_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       mov      rbp, rsp
-						;; size=4 bbWeight=1 PerfScore 1.25
-G_M19484_IG02:        ; bbWeight=1, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rdx rdi]
+       push     r15
+       push     r14
+       push     rbx
+       push     rax
+       lea      rbp, [rsp+0x20]
+       mov      rbx, rdi
+       ; gcrRegs +[rbx]
+       mov      r15, rdx
+       ; gcrRegs +[r15]
+						;; size=18 bbWeight=1 PerfScore 6.00
+G_M19484_IG02:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        vxorps   xmm0, xmm0, xmm0
        vcvtsi2sd xmm0, xmm0, rsi
        vdivsd   xmm0, xmm0, qword ptr [reloc @RWD00]
        vmovsd   xmm1, qword ptr [reloc @RWD08]
        vucomisd xmm0, xmm1
        ja       SHORT G_M19484_IG05
 						;; size=31 bbWeight=1 PerfScore 26.33
-G_M19484_IG03:        ; bbWeight=0.50, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
+G_M19484_IG03:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        vmovsd   xmm1, qword ptr [reloc @RWD16]
        vucomisd xmm1, xmm0
        ja       SHORT G_M19484_IG04
+       vmovsd   qword ptr [rbp-0x20], xmm0
        jmp      SHORT G_M19484_IG06
-						;; size=16 bbWeight=0.50 PerfScore 4.00
-G_M19484_IG04:        ; bbWeight=0.50, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref, isz
+						;; size=21 bbWeight=0.50 PerfScore 4.50
+G_M19484_IG04:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        vmovaps  xmm0, xmm1
+       vmovsd   qword ptr [rbp-0x20], xmm0
        jmp      SHORT G_M19484_IG06
-						;; size=6 bbWeight=0.50 PerfScore 1.12
-G_M19484_IG05:        ; bbWeight=0.50, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref
-       vmovaps  xmm0, xmm1
-						;; size=4 bbWeight=0.50 PerfScore 0.12
-G_M19484_IG06:        ; bbWeight=1, gcrefRegs=0084 {rdx rdi}, byrefRegs=0000 {}, byref
+						;; size=11 bbWeight=0.50 PerfScore 1.62
+G_M19484_IG05:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+       vmovsd   qword ptr [rbp-0x20], xmm1
+						;; size=5 bbWeight=0.50 PerfScore 0.50
+G_M19484_IG06:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rsi]
-       ; gcrRegs +[rax]
-       mov      rsi, rdi
+       mov      rsi, gword ptr [rsi]
        ; gcrRegs +[rsi]
-       mov      rdi, gword ptr [rax+0x08]
-       call     [rax+0x18]System.Action`3[System.__Canon,double,System.__Canon]:Invoke(System.__Canon,double,System.__Canon):this
-       ; gcrRegs -[rax rdx rsi rdi]
+       mov      r14, gword ptr [rsi+0x18]
+       ; gcrRegs +[r14]
+       mov      esi, dword ptr [r14+0x10]
+       ; gcrRegs -[rsi]
+       mov      rdi, rbx
+       ; gcrRegs +[rdi]
+       mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       ; gcrRegs -[rdi]
+       test     eax, eax
+       je       SHORT G_M19484_IG08
+						;; size=41 bbWeight=1 PerfScore 11.00
+G_M19484_IG07:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
+       mov      rdi, r14
+       ; gcrRegs +[rdi]
+       mov      rsi, rbx
+       ; gcrRegs +[rsi]
+       vmovsd   xmm0, qword ptr [rbp-0x20]
+       mov      rdx, r15
+       ; gcrRegs +[rdx]
+       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[double]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,System.Exception):this
+       call     [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[double]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,System.Exception):this
+       ; gcrRegs -[rdx rbx rsi rdi r14-r15]
+						;; size=26 bbWeight=0.50 PerfScore 3.50
+G_M19484_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
-						;; size=24 bbWeight=1 PerfScore 7.75
-G_M19484_IG07:        ; bbWeight=1, epilog, nogc, extend
+						;; size=1 bbWeight=1 PerfScore 0.25
+G_M19484_IG09:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 8
+       pop      rbx
+       pop      r14
+       pop      r15
        pop      rbp
        ret      
-						;; size=2 bbWeight=1 PerfScore 1.50
+						;; size=11 bbWeight=1 PerfScore 3.25
 RWD00  	dq	40C3880000000000h	;        10000
 RWD08  	dq	430A36E2EB1C4328h	; 9.22337204e+14
 RWD16  	dq	C30A36E2EB1C4328h	; -9.22337204e+14
 
 
-; Total bytes of code 87, prolog size 4, PerfScore 42.08, instruction count 23, allocated bytes for code 87 (MethodHash=0d4fb3e3) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineFailed(Microsoft.Extensions.Logging.ILogger,System.TimeSpan,System.Net.Http.HttpRequestException) (FullOpts)
+; Total bytes of code 165, prolog size 12, PerfScore 56.96, instruction count 45, allocated bytes for code 165 (MethodHash=0d4fb3e3) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineFailed(Microsoft.Extensions.Logging.ILogger,System.TimeSpan,System.Net.Http.HttpRequestException) (FullOpts)
 ; ============================================================
66 (44.90 % of base) - Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupCycleEnd(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.TimeSpan,int,int)
 ; Assembly listing for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupCycleEnd(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.TimeSpan,int,int) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  3,  3   )     ref  ->  rdi         class-hnd single-def <System.Lazy`1[Microsoft.Extensions.Logging.ILogger]>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
 ;  V02 arg2         [V02,T01] (  3,  2.50)     int  ->  rbx         single-def
 ;  V03 arg3         [V03,T02] (  3,  2.50)     int  ->  r15         single-def
-;  V04 loc0         [V04    ] (  2,  1.50)     ref  ->  [rbp-0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <Microsoft.Extensions.Logging.ILogger>
+;  V04 loc0         [V04    ] (  2,  1.50)     ref  ->  [rbp-0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <Microsoft.Extensions.Logging.ILogger>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T05] (  2,  2   )     ref  ->  rsi         class-hnd single-def "impAppendStmt" <Microsoft.Extensions.Logging.ILogger>
-;  V07 tmp2         [V07,T06] (  4,  2   )  double  ->  mm0         "Inline return value spill temp"
+;  V06 tmp1         [V06,T04] (  3,  3   )     ref  ->  r13         class-hnd single-def "impAppendStmt" <Microsoft.Extensions.Logging.ILogger>
+;  V07 tmp2         [V07,T06] (  4,  2   )  double  ->  [rbp-0x30]  "Inline return value spill temp"
 ;  V08 tmp3         [V08,T07] (  4,  2   )  double  ->  mm0         single-def "Inline stloc first use temp"
-;  V09 tmp4         [V09,T03] (  2,  1.50)    long  ->  r14         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
-;  V10 cse0         [V10,T08] (  3,  1.50)  double  ->  mm1         "CSE #01: moderate"
-;  V11 cse1         [V11,T09] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
-;  V12 rat0         [V12,T04] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;  V09 tmp4         [V09,T05] (  3,  3   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass14_0`3[double,int,int]>
+;  V10 tmp5         [V10,T03] (  2,  1.50)    long  ->  r14         single-def "field V01._ticks (fldOffset=0x0)" P-INDEP
+;  V11 cse0         [V11,T08] (  3,  1.50)  double  ->  mm1         "CSE #01: moderate"
+;  V12 cse1         [V12,T09] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M28485_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
+       push     r13
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x20]
+       sub      rsp, 16
+       lea      rbp, [rsp+0x30]
        xor      eax, eax
-       mov      qword ptr [rbp-0x20], rax
+       mov      qword ptr [rbp-0x28], rax
        mov      r14, rsi
        mov      ebx, edx
        mov      r15d, ecx
-						;; size=26 bbWeight=1 PerfScore 7.50
-G_M28485_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+						;; size=31 bbWeight=1 PerfScore 7.75
+G_M28485_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
-       lea      rsi, [rbp-0x20]
+       lea      rsi, [rbp-0x28]
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:TryGetLogger(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],byref):ubyte
        call     [rax]Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:TryGetLogger(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],byref):ubyte
        ; gcrRegs -[rdi]
        test     eax, eax
-       je       SHORT G_M28485_IG07
-						;; size=20 bbWeight=1 PerfScore 5.00
+       je       G_M28485_IG07
+						;; size=24 bbWeight=1 PerfScore 5.00
 G_M28485_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      rsi, gword ptr [rbp-0x20]
-       ; gcrRegs +[rsi]
+       mov      r13, gword ptr [rbp-0x28]
+       ; gcrRegs +[r13]
        vxorps   xmm0, xmm0, xmm0
        vcvtsi2sd xmm0, xmm0, r14
        vdivsd   xmm0, xmm0, qword ptr [reloc @RWD00]
        vmovsd   xmm1, qword ptr [reloc @RWD08]
        vucomisd xmm0, xmm1
        ja       SHORT G_M28485_IG05
        vmovsd   xmm1, qword ptr [reloc @RWD16]
        vucomisd xmm1, xmm0
        ja       SHORT G_M28485_IG04
+       vmovsd   qword ptr [rbp-0x30], xmm0
        jmp      SHORT G_M28485_IG06
-						;; size=51 bbWeight=0.50 PerfScore 17.67
-G_M28485_IG04:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+						;; size=56 bbWeight=0.50 PerfScore 18.17
+G_M28485_IG04:        ; bbWeight=0.50, gcrefRegs=2000 {r13}, byrefRegs=0000 {}, byref, isz
        vmovaps  xmm0, xmm1
+       vmovsd   qword ptr [rbp-0x30], xmm0
        jmp      SHORT G_M28485_IG06
-						;; size=6 bbWeight=0.50 PerfScore 1.12
-G_M28485_IG05:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
-       vmovaps  xmm0, xmm1
-						;; size=4 bbWeight=0.50 PerfScore 0.12
-G_M28485_IG06:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
-       mov      rdx, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rdx]
-       ; gcrRegs +[rax]
+						;; size=11 bbWeight=0.50 PerfScore 1.62
+G_M28485_IG05:        ; bbWeight=0.50, gcrefRegs=2000 {r13}, byrefRegs=0000 {}, byref
+       vmovsd   qword ptr [rbp-0x30], xmm1
+						;; size=5 bbWeight=0.50 PerfScore 0.50
+G_M28485_IG06:        ; bbWeight=0.50, gcrefRegs=2000 {r13}, byrefRegs=0000 {}, byref, isz
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rsi]
+       ; gcrRegs +[rsi]
+       mov      r14, gword ptr [rsi+0x18]
+       ; gcrRegs +[r14]
+       mov      esi, dword ptr [r14+0x10]
+       ; gcrRegs -[rsi]
+       mov      rdi, r13
+       ; gcrRegs +[rdi]
+       mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       ; gcrRegs -[rdi]
+       test     eax, eax
+       je       SHORT G_M28485_IG07
+       mov      rdi, r14
+       ; gcrRegs +[rdi]
+       mov      rsi, r13
+       ; gcrRegs +[rsi]
+       vmovsd   xmm0, qword ptr [rbp-0x30]
        mov      edx, ebx
        mov      ecx, r15d
        xor      r8, r8
        ; gcrRegs +[r8]
-       mov      rdi, gword ptr [rax+0x08]
-       ; gcrRegs +[rdi]
-       call     [rax+0x18]System.Action`5[System.__Canon,double,int,int,System.__Canon]:Invoke(System.__Canon,double,int,int,System.__Canon):this
-       ; gcrRegs -[rax rsi rdi r8]
-						;; size=28 bbWeight=0.50 PerfScore 4.00
+       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass14_0`3[double,int,int]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,int,int,System.Exception):this
+       call     [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass14_0`3[double,int,int]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,int,int,System.Exception):this
+       ; gcrRegs -[rsi rdi r8 r13-r14]
+						;; size=72 bbWeight=0.50 PerfScore 9.25
 G_M28485_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M28485_IG08:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 8
+       add      rsp, 16
        pop      rbx
+       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=11 bbWeight=1 PerfScore 3.25
+						;; size=13 bbWeight=1 PerfScore 3.75
 RWD00  	dq	40C3880000000000h	;        10000
 RWD08  	dq	430A36E2EB1C4328h	; 9.22337204e+14
 RWD16  	dq	C30A36E2EB1C4328h	; -9.22337204e+14
 
 
-; Total bytes of code 147, prolog size 18, PerfScore 38.92, instruction count 44, allocated bytes for code 147 (MethodHash=1f1a90ba) for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupCycleEnd(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.TimeSpan,int,int) (FullOpts)
+; Total bytes of code 213, prolog size 23, PerfScore 46.29, instruction count 58, allocated bytes for code 213 (MethodHash=1f1a90ba) for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupCycleEnd(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.TimeSpan,int,int) (FullOpts)
 ; ============================================================
63 (44.68 % of base) - Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:HandlerExpired(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.String,System.TimeSpan)
 ; Assembly listing for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:HandlerExpired(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.String,System.TimeSpan) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  3,  3   )     ref  ->  rdi         class-hnd single-def <System.Lazy`1[Microsoft.Extensions.Logging.ILogger]>
 ;  V01 arg1         [V01,T01] (  3,  2.50)     ref  ->  rbx         class-hnd single-def <System.String>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
-;  V03 loc0         [V03    ] (  2,  1.50)     ref  ->  [rbp-0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <Microsoft.Extensions.Logging.ILogger>
+;  V03 loc0         [V03    ] (  2,  1.50)     ref  ->  [rbp-0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <Microsoft.Extensions.Logging.ILogger>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T04] (  2,  2   )     ref  ->  rsi         class-hnd single-def "impAppendStmt" <Microsoft.Extensions.Logging.ILogger>
-;  V06 tmp2         [V06,T05] (  4,  2   )  double  ->  mm0         "Inline return value spill temp"
+;  V05 tmp1         [V05,T03] (  3,  3   )     ref  ->  r14         class-hnd single-def "impAppendStmt" <Microsoft.Extensions.Logging.ILogger>
+;  V06 tmp2         [V06,T05] (  4,  2   )  double  ->  [rbp-0x28]  "Inline return value spill temp"
 ;  V07 tmp3         [V07,T06] (  4,  2   )  double  ->  mm0         single-def "Inline stloc first use temp"
-;  V08 tmp4         [V08,T02] (  2,  1.50)    long  ->  r15         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
-;  V09 cse0         [V09,T07] (  3,  1.50)  double  ->  mm1         "CSE #01: moderate"
-;  V10 cse1         [V10,T08] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
-;  V11 rat0         [V11,T03] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;  V08 tmp4         [V08,T04] (  3,  3   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[double,System.__Canon]>
+;  V09 tmp5         [V09,T02] (  2,  1.50)    long  ->  r15         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
+;  V10 cse0         [V10,T07] (  3,  1.50)  double  ->  mm1         "CSE #01: moderate"
+;  V11 cse1         [V11,T08] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 24
 
 G_M8583_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
+       push     r14
        push     rbx
-       sub      rsp, 16
-       lea      rbp, [rsp+0x20]
+       sub      rsp, 24
+       lea      rbp, [rsp+0x30]
        xor      eax, eax
-       mov      qword ptr [rbp-0x18], rax
+       mov      qword ptr [rbp-0x20], rax
        mov      rbx, rsi
        ; gcrRegs +[rbx]
        mov      r15, rdx
-						;; size=25 bbWeight=1 PerfScore 5.50
-G_M8583_IG02:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+						;; size=27 bbWeight=1 PerfScore 6.50
+G_M8583_IG02:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
-       lea      rsi, [rbp-0x18]
+       lea      rsi, [rbp-0x20]
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:TryGetLogger(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],byref):ubyte
        call     [rax]Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:TryGetLogger(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],byref):ubyte
        ; gcrRegs -[rdi]
        test     eax, eax
-       je       SHORT G_M8583_IG07
-						;; size=20 bbWeight=1 PerfScore 5.00
+       je       G_M8583_IG07
+						;; size=24 bbWeight=1 PerfScore 5.00
 G_M8583_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      rsi, gword ptr [rbp-0x18]
-       ; gcrRegs +[rsi]
+       mov      r14, gword ptr [rbp-0x20]
+       ; gcrRegs +[r14]
        vxorps   xmm0, xmm0, xmm0
        vcvtsi2sd xmm0, xmm0, r15
        vdivsd   xmm0, xmm0, qword ptr [reloc @RWD00]
        vmovsd   xmm1, qword ptr [reloc @RWD08]
        vucomisd xmm0, xmm1
        ja       SHORT G_M8583_IG05
        vmovsd   xmm1, qword ptr [reloc @RWD16]
        vucomisd xmm1, xmm0
        ja       SHORT G_M8583_IG04
+       vmovsd   qword ptr [rbp-0x28], xmm0
        jmp      SHORT G_M8583_IG06
-						;; size=51 bbWeight=0.50 PerfScore 17.67
-G_M8583_IG04:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+						;; size=56 bbWeight=0.50 PerfScore 18.17
+G_M8583_IG04:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        vmovaps  xmm0, xmm1
+       vmovsd   qword ptr [rbp-0x28], xmm0
        jmp      SHORT G_M8583_IG06
-						;; size=6 bbWeight=0.50 PerfScore 1.12
-G_M8583_IG05:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       vmovaps  xmm0, xmm1
-						;; size=4 bbWeight=0.50 PerfScore 0.12
-G_M8583_IG06:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       mov      rdx, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rdx]
-       ; gcrRegs +[rax]
+						;; size=11 bbWeight=0.50 PerfScore 1.62
+G_M8583_IG05:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+       vmovsd   qword ptr [rbp-0x28], xmm1
+						;; size=5 bbWeight=0.50 PerfScore 0.50
+G_M8583_IG06:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+       mov      rsi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rsi]
+       ; gcrRegs +[rsi]
+       mov      r15, gword ptr [rsi+0x18]
+       ; gcrRegs +[r15]
+       mov      esi, dword ptr [r15+0x10]
+       ; gcrRegs -[rsi]
+       mov      rdi, r14
+       ; gcrRegs +[rdi]
+       mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       ; gcrRegs -[rdi]
+       test     eax, eax
+       je       SHORT G_M8583_IG07
+       mov      rdi, r15
+       ; gcrRegs +[rdi]
+       mov      rsi, r14
+       ; gcrRegs +[rsi]
+       vmovsd   xmm0, qword ptr [rbp-0x28]
        mov      rdx, rbx
        ; gcrRegs +[rdx]
        xor      rcx, rcx
        ; gcrRegs +[rcx]
-       mov      rdi, gword ptr [rax+0x08]
-       ; gcrRegs +[rdi]
-       call     [rax+0x18]System.Action`4[System.__Canon,double,System.__Canon,System.__Canon]:Invoke(System.__Canon,double,System.__Canon,System.__Canon):this
-       ; gcrRegs -[rax rcx rdx rbx rsi rdi]
-						;; size=25 bbWeight=0.50 PerfScore 3.88
+       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[double,System.__Canon]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,System.__Canon,System.Exception):this
+       call     [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[double,System.__Canon]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,System.__Canon,System.Exception):this
+       ; gcrRegs -[rcx rdx rbx rsi rdi r14-r15]
+						;; size=69 bbWeight=0.50 PerfScore 9.12
 G_M8583_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M8583_IG08:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 16
+       add      rsp, 24
        pop      rbx
+       pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=9 bbWeight=1 PerfScore 2.75
+						;; size=11 bbWeight=1 PerfScore 3.25
 RWD00  	dq	40C3880000000000h	;        10000
 RWD08  	dq	430A36E2EB1C4328h	; 9.22337204e+14
 RWD16  	dq	C30A36E2EB1C4328h	; -9.22337204e+14
 
 
-; Total bytes of code 141, prolog size 19, PerfScore 36.29, instruction count 40, allocated bytes for code 141 (MethodHash=1edcde78) for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:HandlerExpired(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.String,System.TimeSpan) (FullOpts)
+; Total bytes of code 204, prolog size 21, PerfScore 44.42, instruction count 54, allocated bytes for code 204 (MethodHash=1edcde78) for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:HandlerExpired(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.String,System.TimeSpan) (FullOpts)
 ; ============================================================
62 (14.19 % of base) - Microsoft.Extensions.Http.Logging.LogHelper:LogRequestEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,ubyte])
 ; Assembly listing for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,ubyte]) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  6,  5   )     ref  ->  rbx         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
+;  V00 arg0         [V00,T00] (  7,  5.50)     ref  ->  rbx         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  r15         class-hnd single-def <System.Net.Http.HttpResponseMessage>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
 ;  V03 arg3         [V03,T05] (  3,  2.50)     ref  ->  r14         class-hnd single-def <System.Func`2[System.String,ubyte]>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T17] (  4,  5   )  double  ->  mm0         "impAppendStmt"
+;  V05 tmp1         [V05,T18] (  4,  4   )  double  ->  [rbp-0x30]  "impAppendStmt"
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <Microsoft.Extensions.Logging.EventId>
-;  V07 tmp3         [V07,T09] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Net.Http.Headers.HttpResponseHeaders>
+;  V07 tmp3         [V07,T10] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Net.Http.Headers.HttpResponseHeaders>
 ;  V08 tmp4         [V08,T07] (  3,  3   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Net.Http.HttpContent>
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp6         [V10    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V11 tmp7         [V11    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V12 tmp8         [V12    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V13 tmp9         [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V14 tmp10        [V14    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V15 tmp11        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp12        [V16    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V17 tmp13        [V17    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V18 tmp14        [V18    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V19 tmp15        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V20 tmp16        [V20,T13] (  3,  1.50)     ref  ->  r15        
+;  V20 tmp16        [V20,T14] (  3,  1.50)     ref  ->  r15        
 ;  V21 tmp17        [V21,T01] (  6,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.Http.Logging.HttpHeadersLogValue>
-;  V22 tmp18        [V22,T10] (  2,  2   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
+;  V22 tmp18        [V22,T11] (  2,  2   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
 ;* V23 tmp19        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V24 tmp20        [V24    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V25 tmp21        [V25    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V26 tmp22        [V26    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V27 tmp23        [V27    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V28 tmp24        [V28,T08] (  4,  2   )     ref  ->  r15        
-;  V29 tmp25        [V29,T12] (  2,  2   )    long  ->  rax         "VirtualCall through function pointer"
-;  V30 tmp26        [V30,T04] (  5,  5   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
-;  V31 tmp27        [V31,T18] (  4,  3   )  double  ->  mm0         single-def "Inline stloc first use temp"
-;  V32 tmp28        [V32,T11] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <Microsoft.Extensions.Http.Logging.LogHelper+<>c>
-;  V33 tmp29        [V33,T06] (  2,  2   )    long  ->  rdx         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
-;* V34 tmp30        [V34,T15] (  0,  0   )     ref  ->  zero-ref    single-def "field V06.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V35 tmp31        [V35,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V06.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V36 tmp32        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V37 tmp33        [V37    ] (  0,  0   )     int  ->  zero-ref    single-def "field V11.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V38 tmp34        [V38    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V39 tmp35        [V39    ] (  0,  0   )     int  ->  zero-ref    single-def "field V17.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V40 tmp36        [V40    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V25.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V41 tmp37        [V41    ] (  0,  0   )     int  ->  zero-ref    single-def "field V25.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V42 tmp38        [V42,T14] (  0,  0   )     ref  ->  zero-ref    single-def "BlockOp address local"
-;  V43 cse0         [V43,T19] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
-;  V44 rat0         [V44,T03] (  3,  6   )     ref  ->  rax         "delegate invoke call"
+;  V28 tmp24        [V28,T09] (  4,  2   )     ref  ->  r15        
+;  V29 tmp25        [V29,T13] (  2,  2   )    long  ->  rax         "VirtualCall through function pointer"
+;  V30 tmp26        [V30,T03] (  5,  5   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
+;  V31 tmp27        [V31,T19] (  4,  3   )  double  ->  mm0         single-def "Inline stloc first use temp"
+;  V32 tmp28        [V32,T04] (  3,  5   )     ref  ->  r13         class-hnd single-def "Inlining Arg" <Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[double,int]>
+;  V33 tmp29        [V33,T08] (  2,  3   )     int  ->  r12         "Inlining Arg"
+;  V34 tmp30        [V34,T12] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <Microsoft.Extensions.Http.Logging.LogHelper+<>c>
+;  V35 tmp31        [V35,T06] (  2,  2   )    long  ->  rdx         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
+;* V36 tmp32        [V36,T16] (  0,  0   )     ref  ->  zero-ref    single-def "field V06.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V37 tmp33        [V37,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V06.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V38 tmp34        [V38    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V39 tmp35        [V39    ] (  0,  0   )     int  ->  zero-ref    single-def "field V11.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V40 tmp36        [V40    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V41 tmp37        [V41    ] (  0,  0   )     int  ->  zero-ref    single-def "field V17.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V42 tmp38        [V42    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V25.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V43 tmp39        [V43    ] (  0,  0   )     int  ->  zero-ref    single-def "field V25.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V44 tmp40        [V44,T15] (  0,  0   )     ref  ->  zero-ref    single-def "BlockOp address local"
+;  V45 cse0         [V45,T20] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 24
 
 G_M32508_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x30]
+       sub      rsp, 24
+       lea      rbp, [rsp+0x40]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
        mov      r15, rsi
        ; gcrRegs +[r15]
        mov      r14, rcx
        ; gcrRegs +[r14]
-						;; size=25 bbWeight=1 PerfScore 8.25
+						;; size=28 bbWeight=1 PerfScore 7.50
 G_M32508_IG02:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        vxorps   xmm0, xmm0, xmm0
        vcvtsi2sd xmm0, xmm0, rdx
        vdivsd   xmm0, xmm0, qword ptr [reloc @RWD00]
        vucomisd xmm0, qword ptr [reloc @RWD08]
        ja       SHORT G_M32508_IG05
 						;; size=27 bbWeight=1 PerfScore 25.33
 G_M32508_IG03:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        vmovsd   xmm1, qword ptr [reloc @RWD16]
        vucomisd xmm1, xmm0
        ja       SHORT G_M32508_IG04
+       vmovsd   qword ptr [rbp-0x30], xmm0
        jmp      SHORT G_M32508_IG06
-						;; size=16 bbWeight=0.50 PerfScore 4.00
+						;; size=21 bbWeight=0.50 PerfScore 4.50
 G_M32508_IG04:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        vmovaps  xmm0, xmm1
+       vmovsd   qword ptr [rbp-0x30], xmm0
        jmp      SHORT G_M32508_IG06
-						;; size=6 bbWeight=0.50 PerfScore 1.12
+						;; size=11 bbWeight=0.50 PerfScore 1.62
 G_M32508_IG05:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        vmovsd   xmm0, qword ptr [reloc @RWD08]
-						;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M32508_IG06:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
-       mov      edx, dword ptr [r15+0x38]
+       vmovsd   qword ptr [rbp-0x30], xmm0
+						;; size=13 bbWeight=0.50 PerfScore 2.00
+G_M32508_IG06:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rsi]
-       ; gcrRegs +[rax]
+       mov      rsi, gword ptr [rsi]
+       ; gcrRegs +[rsi]
+       mov      r13, gword ptr [rsi+0x18]
+       ; gcrRegs +[r13]
+       mov      r12d, dword ptr [r15+0x38]
+       mov      esi, dword ptr [r13+0x10]
+       ; gcrRegs -[rsi]
+       mov      rdi, rbx
+       ; gcrRegs +[rdi]
+       mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       ; gcrRegs -[rdi]
+       test     eax, eax
+       je       SHORT G_M32508_IG08
+						;; size=45 bbWeight=1 PerfScore 13.00
+G_M32508_IG07:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       mov      rdi, r13
+       ; gcrRegs +[rdi]
        mov      rsi, rbx
        ; gcrRegs +[rsi]
+       vmovsd   xmm0, qword ptr [rbp-0x30]
+       mov      edx, r12d
        xor      rcx, rcx
        ; gcrRegs +[rcx]
-       mov      rdi, gword ptr [rax+0x08]
-       ; gcrRegs +[rdi]
-       call     [rax+0x18]System.Action`4[System.__Canon,double,int,System.__Canon]:Invoke(System.__Canon,double,int,System.__Canon):this
-       ; gcrRegs -[rax rcx rsi rdi]
+       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[double,int]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,int,System.Exception):this
+       call     [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[double,int]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,int,System.Exception):this
+       ; gcrRegs -[rcx rsi rdi r13]
+						;; size=28 bbWeight=0.50 PerfScore 3.62
+G_M32508_IG08:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        xor      esi, esi
        call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        ; gcrRegs -[rdi]
        test     eax, eax
-       je       G_M32508_IG11
-						;; size=55 bbWeight=1 PerfScore 14.75
-G_M32508_IG07:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       je       G_M32508_IG13
+						;; size=26 bbWeight=1 PerfScore 5.00
+G_M32508_IG09:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, r15
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpResponseMessage:get_Headers():System.Net.Http.Headers.HttpResponseHeaders:this
        call     [rax]System.Net.Http.HttpResponseMessage:get_Headers():System.Net.Http.Headers.HttpResponseHeaders:this
        ; gcrRegs -[rdi] +[rax]
        mov      r13, rax
        ; gcrRegs +[r13]
        mov      rdi, r15
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpResponseMessage:get_Content():System.Net.Http.HttpContent:this
        ; gcrRegs -[rax]
        call     [rax]System.Net.Http.HttpResponseMessage:get_Content():System.Net.Http.HttpContent:this
        ; gcrRegs -[rdi r15] +[rax]
        test     rax, rax
-       je       SHORT G_M32508_IG08
+       je       SHORT G_M32508_IG10
        mov      rdi, rax
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpContent:get_Headers():System.Net.Http.Headers.HttpContentHeaders:this
        ; gcrRegs -[rax]
        call     [rax]System.Net.Http.HttpContent:get_Headers():System.Net.Http.Headers.HttpContentHeaders:this
        ; gcrRegs -[rdi] +[rax]
        mov      r15, rax
        ; gcrRegs +[r15]
-       jmp      SHORT G_M32508_IG09
+       jmp      SHORT G_M32508_IG11
 						;; size=58 bbWeight=0.50 PerfScore 7.12
-G_M32508_IG08:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
+G_M32508_IG10:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r15]
        xor      r15, r15
        ; gcrRegs +[r15]
 						;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M32508_IG09:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M32508_IG11:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, 0xD1FFAB1E      ; Microsoft.Extensions.Http.Logging.HttpHeadersLogValue
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
        mov      r12, rax
        ; gcrRegs +[r12]
        mov      dword ptr [r12+0x30], 1
        lea      rdi, bword ptr [r12+0x08]
        ; byrRegs +[rdi]
        mov      rsi, r14
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rsi r14]
        ; byrRegs -[rdi]
        lea      rdi, bword ptr [r12+0x20]
        ; byrRegs +[rdi]
        mov      rsi, r13
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi r13]
        ; byrRegs -[rdi]
        lea      rdi, bword ptr [r12+0x28]
        ; byrRegs +[rdi]
        mov      rsi, r15
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi r15]
        ; byrRegs -[rdi]
        mov      rdi, 0xD1FFAB1E      ; data for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<>9__13_0
        mov      r15, gword ptr [rdi]
        ; gcrRegs +[r15]
        test     r15, r15
-       jne      SHORT G_M32508_IG10
+       jne      SHORT G_M32508_IG12
        mov      rdi, 0xD1FFAB1E      ; System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs -[r15] +[rax]
        mov      r15, rax
        ; gcrRegs +[r15]
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rdi]
        ; gcrRegs +[rsi]
        lea      rdi, bword ptr [r15+0x08]
        ; byrRegs +[rdi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rsi]
        ; byrRegs -[rdi]
        mov      rdi, 0xD1FFAB1E      ; code for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<LogRequestEnd>b__13_0(Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception):System.String:this
        mov      qword ptr [r15+0x18], rdi
        mov      rdi, 0xD1FFAB1E      ; data for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<>9__13_0
        mov      rsi, r15
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi]
 						;; size=156 bbWeight=0.50 PerfScore 9.62
-G_M32508_IG10:        ; bbWeight=0.50, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
+G_M32508_IG12:        ; bbWeight=0.50, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E      ; Microsoft.Extensions.Logging.ILogger
        mov      rdx, 0xD1FFAB1E      ; token handle
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
        call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
        ; gcrRegs -[rdi]
        mov      gword ptr [rsp], r15
        mov      rdx, 0xD1FFAB1E      ; 'ResponseHeader'
        ; gcrRegs +[rdx]
        mov      ecx, 103
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      r8, r12
        ; gcrRegs +[r8]
        xor      esi, esi
        xor      r9, r9
        ; gcrRegs +[r9]
        call     rax
        ; gcrRegs -[rdx rbx rdi r8-r9 r12 r15]
 						;; size=67 bbWeight=0.50 PerfScore 4.75
-G_M32508_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M32508_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M32508_IG12:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 8
+G_M32508_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 RWD00  	dq	40C3880000000000h	;        10000
 RWD08  	dq	430A36E2EB1C4328h	; 9.22337204e+14
 RWD16  	dq	C30A36E2EB1C4328h	; -9.22337204e+14
 
 
-; Total bytes of code 437, prolog size 16, PerfScore 81.08, instruction count 102, allocated bytes for code 437 (MethodHash=0e728103) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,ubyte]) (FullOpts)
+; Total bytes of code 499, prolog size 19, PerfScore 88.71, instruction count 115, allocated bytes for code 499 (MethodHash=0e728103) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,ubyte]) (FullOpts)
 ; ============================================================
62 (14.19 % of base) - Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,ubyte])
 ; Assembly listing for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,ubyte]) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data
+; 0 inlinees with PGO data; 3 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  6,  5   )     ref  ->  rbx         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
+;  V00 arg0         [V00,T00] (  7,  5.50)     ref  ->  rbx         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  r15         class-hnd single-def <System.Net.Http.HttpResponseMessage>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.TimeSpan>
 ;  V03 arg3         [V03,T05] (  3,  2.50)     ref  ->  r14         class-hnd single-def <System.Func`2[System.String,ubyte]>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T17] (  4,  5   )  double  ->  mm0         "impAppendStmt"
+;  V05 tmp1         [V05,T18] (  4,  4   )  double  ->  [rbp-0x30]  "impAppendStmt"
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <Microsoft.Extensions.Logging.EventId>
-;  V07 tmp3         [V07,T09] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Net.Http.Headers.HttpResponseHeaders>
+;  V07 tmp3         [V07,T10] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Net.Http.Headers.HttpResponseHeaders>
 ;  V08 tmp4         [V08,T07] (  3,  3   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Net.Http.HttpContent>
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp6         [V10    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V11 tmp7         [V11    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V12 tmp8         [V12    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V13 tmp9         [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V14 tmp10        [V14    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V15 tmp11        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp12        [V16    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V17 tmp13        [V17    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V18 tmp14        [V18    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V19 tmp15        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V20 tmp16        [V20,T13] (  3,  1.50)     ref  ->  r15        
+;  V20 tmp16        [V20,T14] (  3,  1.50)     ref  ->  r15        
 ;  V21 tmp17        [V21,T01] (  6,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.Http.Logging.HttpHeadersLogValue>
-;  V22 tmp18        [V22,T10] (  2,  2   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
+;  V22 tmp18        [V22,T11] (  2,  2   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
 ;* V23 tmp19        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V24 tmp20        [V24    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V25 tmp21        [V25    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V26 tmp22        [V26    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V27 tmp23        [V27    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V28 tmp24        [V28,T08] (  4,  2   )     ref  ->  r15        
-;  V29 tmp25        [V29,T12] (  2,  2   )    long  ->  rax         "VirtualCall through function pointer"
-;  V30 tmp26        [V30,T04] (  5,  5   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
-;  V31 tmp27        [V31,T18] (  4,  3   )  double  ->  mm0         single-def "Inline stloc first use temp"
-;  V32 tmp28        [V32,T11] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <Microsoft.Extensions.Http.Logging.LogHelper+<>c>
-;  V33 tmp29        [V33,T06] (  2,  2   )    long  ->  rdx         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
-;* V34 tmp30        [V34,T15] (  0,  0   )     ref  ->  zero-ref    single-def "field V06.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V35 tmp31        [V35,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V06.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V36 tmp32        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V37 tmp33        [V37    ] (  0,  0   )     int  ->  zero-ref    single-def "field V11.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V38 tmp34        [V38    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V39 tmp35        [V39    ] (  0,  0   )     int  ->  zero-ref    single-def "field V17.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V40 tmp36        [V40    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V25.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V41 tmp37        [V41    ] (  0,  0   )     int  ->  zero-ref    single-def "field V25.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V42 tmp38        [V42,T14] (  0,  0   )     ref  ->  zero-ref    single-def "BlockOp address local"
-;  V43 cse0         [V43,T19] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
-;  V44 rat0         [V44,T03] (  3,  6   )     ref  ->  rax         "delegate invoke call"
+;  V28 tmp24        [V28,T09] (  4,  2   )     ref  ->  r15        
+;  V29 tmp25        [V29,T13] (  2,  2   )    long  ->  rax         "VirtualCall through function pointer"
+;  V30 tmp26        [V30,T03] (  5,  5   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
+;  V31 tmp27        [V31,T19] (  4,  3   )  double  ->  mm0         single-def "Inline stloc first use temp"
+;  V32 tmp28        [V32,T04] (  3,  5   )     ref  ->  r13         class-hnd single-def "Inlining Arg" <Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[double,int]>
+;  V33 tmp29        [V33,T08] (  2,  3   )     int  ->  r12         "Inlining Arg"
+;  V34 tmp30        [V34,T12] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <Microsoft.Extensions.Http.Logging.LogHelper+<>c>
+;  V35 tmp31        [V35,T06] (  2,  2   )    long  ->  rdx         single-def "field V02._ticks (fldOffset=0x0)" P-INDEP
+;* V36 tmp32        [V36,T16] (  0,  0   )     ref  ->  zero-ref    single-def "field V06.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V37 tmp33        [V37,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V06.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V38 tmp34        [V38    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V39 tmp35        [V39    ] (  0,  0   )     int  ->  zero-ref    single-def "field V11.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V40 tmp36        [V40    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V41 tmp37        [V41    ] (  0,  0   )     int  ->  zero-ref    single-def "field V17.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V42 tmp38        [V42    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V25.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V43 tmp39        [V43    ] (  0,  0   )     int  ->  zero-ref    single-def "field V25.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V44 tmp40        [V44,T15] (  0,  0   )     ref  ->  zero-ref    single-def "BlockOp address local"
+;  V45 cse0         [V45,T20] (  3,  1.50)  double  ->  mm1         "CSE #02: moderate"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 24
 
 G_M33118_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x30]
+       sub      rsp, 24
+       lea      rbp, [rsp+0x40]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
        mov      r15, rsi
        ; gcrRegs +[r15]
        mov      r14, rcx
        ; gcrRegs +[r14]
-						;; size=25 bbWeight=1 PerfScore 8.25
+						;; size=28 bbWeight=1 PerfScore 7.50
 G_M33118_IG02:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        vxorps   xmm0, xmm0, xmm0
        vcvtsi2sd xmm0, xmm0, rdx
        vdivsd   xmm0, xmm0, qword ptr [reloc @RWD00]
        vucomisd xmm0, qword ptr [reloc @RWD08]
        ja       SHORT G_M33118_IG05
 						;; size=27 bbWeight=1 PerfScore 25.33
 G_M33118_IG03:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        vmovsd   xmm1, qword ptr [reloc @RWD16]
        vucomisd xmm1, xmm0
        ja       SHORT G_M33118_IG04
+       vmovsd   qword ptr [rbp-0x30], xmm0
        jmp      SHORT G_M33118_IG06
-						;; size=16 bbWeight=0.50 PerfScore 4.00
+						;; size=21 bbWeight=0.50 PerfScore 4.50
 G_M33118_IG04:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        vmovaps  xmm0, xmm1
+       vmovsd   qword ptr [rbp-0x30], xmm0
        jmp      SHORT G_M33118_IG06
-						;; size=6 bbWeight=0.50 PerfScore 1.12
+						;; size=11 bbWeight=0.50 PerfScore 1.62
 G_M33118_IG05:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        vmovsd   xmm0, qword ptr [reloc @RWD08]
-						;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M33118_IG06:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
-       mov      edx, dword ptr [r15+0x38]
+       vmovsd   qword ptr [rbp-0x30], xmm0
+						;; size=13 bbWeight=0.50 PerfScore 2.00
+G_M33118_IG06:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rsi]
-       ; gcrRegs +[rax]
+       mov      rsi, gword ptr [rsi]
+       ; gcrRegs +[rsi]
+       mov      r13, gword ptr [rsi+0x18]
+       ; gcrRegs +[r13]
+       mov      r12d, dword ptr [r15+0x38]
+       mov      esi, dword ptr [r13+0x10]
+       ; gcrRegs -[rsi]
+       mov      rdi, rbx
+       ; gcrRegs +[rdi]
+       mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       ; gcrRegs -[rdi]
+       test     eax, eax
+       je       SHORT G_M33118_IG08
+						;; size=45 bbWeight=1 PerfScore 13.00
+G_M33118_IG07:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       mov      rdi, r13
+       ; gcrRegs +[rdi]
        mov      rsi, rbx
        ; gcrRegs +[rsi]
+       vmovsd   xmm0, qword ptr [rbp-0x30]
+       mov      edx, r12d
        xor      rcx, rcx
        ; gcrRegs +[rcx]
-       mov      rdi, gword ptr [rax+0x08]
-       ; gcrRegs +[rdi]
-       call     [rax+0x18]System.Action`4[System.__Canon,double,int,System.__Canon]:Invoke(System.__Canon,double,int,System.__Canon):this
-       ; gcrRegs -[rax rcx rsi rdi]
+       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[double,int]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,int,System.Exception):this
+       call     [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[double,int]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,double,int,System.Exception):this
+       ; gcrRegs -[rcx rsi rdi r13]
+						;; size=28 bbWeight=0.50 PerfScore 3.62
+G_M33118_IG08:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        xor      esi, esi
        call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        ; gcrRegs -[rdi]
        test     eax, eax
-       je       G_M33118_IG11
-						;; size=55 bbWeight=1 PerfScore 14.75
-G_M33118_IG07:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       je       G_M33118_IG13
+						;; size=26 bbWeight=1 PerfScore 5.00
+G_M33118_IG09:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, r15
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpResponseMessage:get_Headers():System.Net.Http.Headers.HttpResponseHeaders:this
        call     [rax]System.Net.Http.HttpResponseMessage:get_Headers():System.Net.Http.Headers.HttpResponseHeaders:this
        ; gcrRegs -[rdi] +[rax]
        mov      r13, rax
        ; gcrRegs +[r13]
        mov      rdi, r15
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpResponseMessage:get_Content():System.Net.Http.HttpContent:this
        ; gcrRegs -[rax]
        call     [rax]System.Net.Http.HttpResponseMessage:get_Content():System.Net.Http.HttpContent:this
        ; gcrRegs -[rdi r15] +[rax]
        test     rax, rax
-       je       SHORT G_M33118_IG08
+       je       SHORT G_M33118_IG10
        mov      rdi, rax
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpContent:get_Headers():System.Net.Http.Headers.HttpContentHeaders:this
        ; gcrRegs -[rax]
        call     [rax]System.Net.Http.HttpContent:get_Headers():System.Net.Http.Headers.HttpContentHeaders:this
        ; gcrRegs -[rdi] +[rax]
        mov      r15, rax
        ; gcrRegs +[r15]
-       jmp      SHORT G_M33118_IG09
+       jmp      SHORT G_M33118_IG11
 						;; size=58 bbWeight=0.50 PerfScore 7.12
-G_M33118_IG08:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
+G_M33118_IG10:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r15]
        xor      r15, r15
        ; gcrRegs +[r15]
 						;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M33118_IG09:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M33118_IG11:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, 0xD1FFAB1E      ; Microsoft.Extensions.Http.Logging.HttpHeadersLogValue
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
        mov      r12, rax
        ; gcrRegs +[r12]
        mov      dword ptr [r12+0x30], 1
        lea      rdi, bword ptr [r12+0x08]
        ; byrRegs +[rdi]
        mov      rsi, r14
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rsi r14]
        ; byrRegs -[rdi]
        lea      rdi, bword ptr [r12+0x20]
        ; byrRegs +[rdi]
        mov      rsi, r13
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi r13]
        ; byrRegs -[rdi]
        lea      rdi, bword ptr [r12+0x28]
        ; byrRegs +[rdi]
        mov      rsi, r15
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi r15]
        ; byrRegs -[rdi]
        mov      rdi, 0xD1FFAB1E      ; data for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<>9__17_0
        mov      r15, gword ptr [rdi]
        ; gcrRegs +[r15]
        test     r15, r15
-       jne      SHORT G_M33118_IG10
+       jne      SHORT G_M33118_IG12
        mov      rdi, 0xD1FFAB1E      ; System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs -[r15] +[rax]
        mov      r15, rax
        ; gcrRegs +[r15]
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rdi]
        ; gcrRegs +[rsi]
        lea      rdi, bword ptr [r15+0x08]
        ; byrRegs +[rdi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rsi]
        ; byrRegs -[rdi]
        mov      rdi, 0xD1FFAB1E      ; code for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<LogRequestPipelineEnd>b__17_0(Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception):System.String:this
        mov      qword ptr [r15+0x18], rdi
        mov      rdi, 0xD1FFAB1E      ; data for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<>9__17_0
        mov      rsi, r15
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi]
 						;; size=156 bbWeight=0.50 PerfScore 9.62
-G_M33118_IG10:        ; bbWeight=0.50, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
+G_M33118_IG12:        ; bbWeight=0.50, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E      ; Microsoft.Extensions.Logging.ILogger
        mov      rdx, 0xD1FFAB1E      ; token handle
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
        call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
        ; gcrRegs -[rdi]
        mov      gword ptr [rsp], r15
        mov      rdx, 0xD1FFAB1E      ; 'RequestPipelineResponseHeader'
        ; gcrRegs +[rdx]
        mov      ecx, 103
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      r8, r12
        ; gcrRegs +[r8]
        xor      esi, esi
        xor      r9, r9
        ; gcrRegs +[r9]
        call     rax
        ; gcrRegs -[rdx rbx rdi r8-r9 r12 r15]
 						;; size=67 bbWeight=0.50 PerfScore 4.75
-G_M33118_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M33118_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M33118_IG12:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 8
+G_M33118_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 RWD00  	dq	40C3880000000000h	;        10000
 RWD08  	dq	430A36E2EB1C4328h	; 9.22337204e+14
 RWD16  	dq	C30A36E2EB1C4328h	; -9.22337204e+14
 
 
-; Total bytes of code 437, prolog size 16, PerfScore 81.08, instruction count 102, allocated bytes for code 437 (MethodHash=86e07ea1) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,ubyte]) (FullOpts)
+; Total bytes of code 499, prolog size 19, PerfScore 88.71, instruction count 115, allocated bytes for code 499 (MethodHash=86e07ea1) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineEnd(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Func`2[System.String,ubyte]) (FullOpts)
 ; ============================================================
54 (48.21 % of base) - System.Reflection.TypeLoading.RoModule:GetUniqueArrayType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoArrayType:this
 ; Assembly listing for method System.Reflection.TypeLoading.RoModule:GetUniqueArrayType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoArrayType:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
-; rbp based frame
+; rsp based frame
 ; fully interruptible
 ; No PGO data
+; 0 inlinees with PGO data; 9 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  3,  2.50)     ref  ->  r15         this class-hnd single-def <System.Reflection.TypeLoading.RoModule>
-;  V01 arg1         [V01,T00] (  5,  4   )     ref  ->  rbx         class-hnd single-def <System.Reflection.TypeLoading.RoType>
+;  V00 this         [V00,T02] (  3,  2.50)     ref  ->  r15         this class-hnd single-def <System.Reflection.TypeLoading.RoModule>
+;  V01 arg1         [V01,T01] (  5,  4   )     ref  ->  rbx         class-hnd single-def <System.Reflection.TypeLoading.RoType>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 rat0         [V03,T02] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;  V03 tmp1         [V03,T00] (  7,  7   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Reflection.TypeLoading.RoArrayType>
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M23311_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-       push     rbp
        push     r15
        push     rbx
-       lea      rbp, [rsp+0x10]
+       push     rax
        mov      r15, rdi
        ; gcrRegs +[r15]
        mov      rbx, rsi
        ; gcrRegs +[rbx]
-						;; size=15 bbWeight=1 PerfScore 4.00
+						;; size=10 bbWeight=1 PerfScore 3.50
 G_M23311_IG02:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, rbx
        ; gcrRegs +[rsi]
        mov      rdi, 0xD1FFAB1E      ; System.Reflection.RoModifiedType
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        ; gcrRegs -[rsi] +[rax]
        ; gcr arg pop 0
        test     rax, rax
        je       SHORT G_M23311_IG05
 						;; size=30 bbWeight=1 PerfScore 5.00
 G_M23311_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r15]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rsi]
+       mov      rdi, 0xD1FFAB1E      ; System.Reflection.TypeLoading.RoArrayType
+       call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
+       ; gcr arg pop 0
+       mov      r15, rax
+       ; gcrRegs +[r15]
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rdi]
+       ; gcrRegs +[rsi]
+       lea      rdi, bword ptr [r15+0x38]
+       ; byrRegs +[rdi]
+       call     CORINFO_HELP_ASSIGN_REF
+       ; gcrRegs -[rax rsi]
+       ; byrRegs -[rdi]
+       mov      dword ptr [r15+0x50], -1
+       lea      rdi, bword ptr [r15+0x60]
+       ; byrRegs +[rdi]
        mov      rsi, rbx
        ; gcrRegs +[rsi]
-       mov      rdi, gword ptr [rax+0x08]
-       ; gcrRegs +[rdi]
-						;; size=20 bbWeight=0.50 PerfScore 2.25
+       call     CORINFO_HELP_ASSIGN_REF
+       ; gcrRegs -[rbx rsi]
+       ; byrRegs -[rdi]
+       mov      byte  ptr [r15+0x6C], 0
+       mov      dword ptr [r15+0x68], 1
+       mov      rax, r15
+       ; gcrRegs +[rax]
+						;; size=76 bbWeight=0.50 PerfScore 5.12
 G_M23311_IG04:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
        pop      rbx
        pop      r15
-       pop      rbp
-       tail.jmp [rax+0x18]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this
-						;; size=8 bbWeight=0.50 PerfScore 1.75
+       ret      
+						;; size=8 bbWeight=0.50 PerfScore 1.12
 G_M23311_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs -[rax rsi rdi] +[r15]
+       ; gcrRegs -[rax] +[rbx]
        mov      rdi, gword ptr [r15+0x18]
        ; gcrRegs +[rdi]
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      rdx, gword ptr [rdx]
        ; gcrRegs +[rdx]
        mov      rsi, rbx
        ; gcrRegs +[rsi]
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]):System.__Canon:this
        cmp      dword ptr [rdi], edi
 						;; size=32 bbWeight=0.50 PerfScore 3.88
 G_M23311_IG06:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
        pop      rbx
        pop      r15
-       pop      rbp
        tail.jmp [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]):System.__Canon:this
-						;; size=7 bbWeight=0.50 PerfScore 1.75
+						;; size=10 bbWeight=0.50 PerfScore 1.62
 
-; Total bytes of code 112, prolog size 15, PerfScore 18.62, instruction count 30, allocated bytes for code 112 (MethodHash=7ce8a4f0) for method System.Reflection.TypeLoading.RoModule:GetUniqueArrayType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoArrayType:this (FullOpts)
+; Total bytes of code 166, prolog size 10, PerfScore 20.25, instruction count 39, allocated bytes for code 166 (MethodHash=7ce8a4f0) for method System.Reflection.TypeLoading.RoModule:GetUniqueArrayType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoArrayType:this (FullOpts)
 ; ============================================================
48 (12.94 % of base) - Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.String,System.Func`2[System.String,ubyte])
 ; Assembly listing for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.String,System.Func`2[System.String,ubyte]) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T00] (  6,  5   )     ref  ->  rbx         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
+;  V00 arg0         [V00,T00] (  7,  5.50)     ref  ->  rbx         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  r15         class-hnd single-def <System.Net.Http.HttpRequestMessage>
-;  V02 arg2         [V02,T05] (  3,  3   )     ref  ->   r8         class-hnd single-def <System.String>
-;  V03 arg3         [V03,T06] (  3,  2.50)     ref  ->  r14         class-hnd single-def <System.Func`2[System.String,ubyte]>
+;  V02 arg2         [V02,T05] (  3,  2.50)     ref  ->  r14         class-hnd single-def <System.String>
+;  V03 arg3         [V03,T06] (  3,  2.50)     ref  ->  r13         class-hnd single-def <System.Func`2[System.String,ubyte]>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <Microsoft.Extensions.Logging.EventId>
-;  V06 tmp2         [V06,T09] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Net.Http.Headers.HttpRequestHeaders>
+;  V06 tmp2         [V06,T10] (  2,  2   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Net.Http.Headers.HttpRequestHeaders>
 ;  V07 tmp3         [V07,T07] (  3,  3   )     ref  ->  rdi         class-hnd single-def "dup spill" <System.Net.Http.HttpContent>
 ;* V08 tmp4         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V09 tmp5         [V09    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V10 tmp6         [V10    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V11 tmp7         [V11    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V12 tmp8         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V13 tmp9         [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V14 tmp10        [V14    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V15 tmp11        [V15    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V16 tmp12        [V16    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V17 tmp13        [V17    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V18 tmp14        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V19 tmp15        [V19,T13] (  3,  1.50)     ref  ->  r15        
+;  V19 tmp15        [V19,T14] (  3,  1.50)     ref  ->  r15        
 ;  V20 tmp16        [V20,T01] (  6,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.Http.Logging.HttpHeadersLogValue>
-;  V21 tmp17        [V21,T10] (  2,  2   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
+;  V21 tmp17        [V21,T11] (  2,  2   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
 ;* V22 tmp18        [V22    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V23 tmp19        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V24 tmp20        [V24    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V25 tmp21        [V25    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V26 tmp22        [V26    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V27 tmp23        [V27,T08] (  4,  2   )     ref  ->  r15        
-;  V28 tmp24        [V28,T12] (  2,  2   )    long  ->  rax         "VirtualCall through function pointer"
-;  V29 tmp25        [V29,T04] (  5,  5   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
-;  V30 tmp26        [V30,T11] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <Microsoft.Extensions.Http.Logging.LogHelper+<>c>
-;* V31 tmp27        [V31,T15] (  0,  0   )     ref  ->  zero-ref    single-def "field V05.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V32 tmp28        [V32,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V05.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V33 tmp29        [V33    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V34 tmp30        [V34    ] (  0,  0   )     int  ->  zero-ref    single-def "field V10.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V35 tmp31        [V35    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V16.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V36 tmp32        [V36    ] (  0,  0   )     int  ->  zero-ref    single-def "field V16.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V37 tmp33        [V37    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V24.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V38 tmp34        [V38    ] (  0,  0   )     int  ->  zero-ref    single-def "field V24.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V39 tmp35        [V39,T14] (  0,  0   )     ref  ->  zero-ref    single-def "BlockOp address local"
-;  V40 rat0         [V40,T03] (  3,  6   )     ref  ->  rax         "delegate invoke call"
+;  V27 tmp23        [V27,T09] (  4,  2   )     ref  ->  r15        
+;  V28 tmp24        [V28,T13] (  2,  2   )    long  ->  rax         "VirtualCall through function pointer"
+;  V29 tmp25        [V29,T03] (  5,  5   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
+;  V30 tmp26        [V30,T04] (  3,  5   )     ref  ->  r12         class-hnd single-def "Inlining Arg" <Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.__Canon]>
+;  V31 tmp27        [V31,T08] (  2,  3   )     ref  ->  [rbp-0x30]  class-hnd spill-single-def "Inlining Arg" <System.Net.Http.HttpMethod>
+;  V32 tmp28        [V32,T12] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <Microsoft.Extensions.Http.Logging.LogHelper+<>c>
+;* V33 tmp29        [V33,T16] (  0,  0   )     ref  ->  zero-ref    single-def "field V05.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V34 tmp30        [V34,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V05.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V35 tmp31        [V35    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V36 tmp32        [V36    ] (  0,  0   )     int  ->  zero-ref    single-def "field V10.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V37 tmp33        [V37    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V16.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V38 tmp34        [V38    ] (  0,  0   )     int  ->  zero-ref    single-def "field V16.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V39 tmp35        [V39    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V24.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V40 tmp36        [V40    ] (  0,  0   )     int  ->  zero-ref    single-def "field V24.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V41 tmp37        [V41,T15] (  0,  0   )     ref  ->  zero-ref    single-def "BlockOp address local"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 24
 
 G_M51151_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       push     rax
-       lea      rbp, [rsp+0x30]
+       sub      rsp, 24
+       lea      rbp, [rsp+0x40]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
        mov      r15, rsi
        ; gcrRegs +[r15]
-       mov      r8, rdx
-       ; gcrRegs +[r8]
-       mov      r14, rcx
+       mov      r14, rdx
        ; gcrRegs +[r14]
-						;; size=28 bbWeight=1 PerfScore 8.50
-G_M51151_IG02:        ; bbWeight=1, gcrefRegs=C108 {rbx r8 r14 r15}, byrefRegs=0000 {}, byref
-       mov      rdx, gword ptr [r15+0x08]
-       ; gcrRegs +[rdx]
+       mov      r13, rcx
+       ; gcrRegs +[r13]
+						;; size=31 bbWeight=1 PerfScore 7.75
+G_M51151_IG02:        ; bbWeight=1, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rsi]
+       mov      rsi, gword ptr [rsi]
+       ; gcrRegs +[rsi]
+       mov      r12, gword ptr [rsi+0x18]
+       ; gcrRegs +[r12]
+       mov      rax, gword ptr [r15+0x08]
        ; gcrRegs +[rax]
+       mov      gword ptr [rbp-0x30], rax
+       ; GC ptr vars +{V31}
+       mov      esi, dword ptr [r12+0x10]
+       ; gcrRegs -[rsi]
+       mov      rdi, rbx
+       ; gcrRegs +[rdi]
+       mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       ; gcrRegs -[rax rdi]
+       test     eax, eax
+       je       SHORT G_M51151_IG04
+						;; size=50 bbWeight=1 PerfScore 14.00
+G_M51151_IG03:        ; bbWeight=0.50, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref
+       mov      rdi, r12
+       ; gcrRegs +[rdi]
        mov      rsi, rbx
        ; gcrRegs +[rsi]
-       mov      rcx, r8
+       mov      rdx, gword ptr [rbp-0x30]
+       ; gcrRegs +[rdx]
+       mov      rcx, r14
        ; gcrRegs +[rcx]
        xor      r8, r8
-       mov      rdi, gword ptr [rax+0x08]
-       ; gcrRegs +[rdi]
-       call     [rax+0x18]System.Action`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:Invoke(System.__Canon,System.__Canon,System.__Canon,System.__Canon):this
-       ; gcrRegs -[rax rcx rdx rsi rdi r8]
+       ; gcrRegs +[r8]
+       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.__Canon]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.__Canon,System.Exception):this
+       ; GC ptr vars -{V31}
+       call     [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.__Canon]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.__Canon,System.Exception):this
+       ; gcrRegs -[rcx rdx rsi rdi r8 r12 r14]
+						;; size=28 bbWeight=0.50 PerfScore 2.62
+G_M51151_IG04:        ; bbWeight=1, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        xor      esi, esi
        call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        ; gcrRegs -[rdi]
        test     eax, eax
-       je       G_M51151_IG07
-						;; size=59 bbWeight=1 PerfScore 15.00
-G_M51151_IG03:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       je       G_M51151_IG09
+						;; size=26 bbWeight=1 PerfScore 5.00
+G_M51151_IG05:        ; bbWeight=0.50, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, r15
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpRequestMessage:get_Headers():System.Net.Http.Headers.HttpRequestHeaders:this
        call     [rax]System.Net.Http.HttpRequestMessage:get_Headers():System.Net.Http.Headers.HttpRequestHeaders:this
        ; gcrRegs -[rdi] +[rax]
-       mov      r13, rax
-       ; gcrRegs +[r13]
+       mov      r14, rax
+       ; gcrRegs +[r14]
        mov      rdi, gword ptr [r15+0x28]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       SHORT G_M51151_IG04
+       je       SHORT G_M51151_IG06
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpContent:get_Headers():System.Net.Http.Headers.HttpContentHeaders:this
        ; gcrRegs -[rax]
        call     [rax]System.Net.Http.HttpContent:get_Headers():System.Net.Http.Headers.HttpContentHeaders:this
        ; gcrRegs -[rdi r15] +[rax]
        mov      r15, rax
        ; gcrRegs +[r15]
-       jmp      SHORT G_M51151_IG05
+       jmp      SHORT G_M51151_IG07
 						;; size=44 bbWeight=0.50 PerfScore 6.25
-G_M51151_IG04:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
+G_M51151_IG06:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r15]
        xor      r15, r15
        ; gcrRegs +[r15]
 						;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M51151_IG05:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M51151_IG07:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, 0xD1FFAB1E      ; Microsoft.Extensions.Http.Logging.HttpHeadersLogValue
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
        mov      r12, rax
        ; gcrRegs +[r12]
        xor      edi, edi
        mov      dword ptr [r12+0x30], edi
        lea      rdi, bword ptr [r12+0x08]
        ; byrRegs +[rdi]
-       mov      rsi, r14
-       ; gcrRegs +[rsi]
-       call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rax rsi r14]
-       ; byrRegs -[rdi]
-       lea      rdi, bword ptr [r12+0x20]
-       ; byrRegs +[rdi]
        mov      rsi, r13
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
-       ; gcrRegs -[rsi r13]
+       ; gcrRegs -[rax rsi r13]
+       ; byrRegs -[rdi]
+       lea      rdi, bword ptr [r12+0x20]
+       ; byrRegs +[rdi]
+       mov      rsi, r14
+       ; gcrRegs +[rsi]
+       call     CORINFO_HELP_ASSIGN_REF
+       ; gcrRegs -[rsi r14]
        ; byrRegs -[rdi]
        lea      rdi, bword ptr [r12+0x28]
        ; byrRegs +[rdi]
        mov      rsi, r15
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi r15]
        ; byrRegs -[rdi]
        mov      rdi, 0xD1FFAB1E      ; data for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<>9__16_0
        mov      r15, gword ptr [rdi]
        ; gcrRegs +[r15]
        test     r15, r15
-       jne      SHORT G_M51151_IG06
+       jne      SHORT G_M51151_IG08
        mov      rdi, 0xD1FFAB1E      ; System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs -[r15] +[rax]
        mov      r15, rax
        ; gcrRegs +[r15]
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rdi]
        ; gcrRegs +[rsi]
        lea      rdi, bword ptr [r15+0x08]
        ; byrRegs +[rdi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rsi]
        ; byrRegs -[rdi]
        mov      rdi, 0xD1FFAB1E      ; code for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<LogRequestPipelineStart>b__16_0(Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception):System.String:this
        mov      qword ptr [r15+0x18], rdi
        mov      rdi, 0xD1FFAB1E      ; data for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<>9__16_0
        mov      rsi, r15
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi]
 						;; size=154 bbWeight=0.50 PerfScore 9.75
-G_M51151_IG06:        ; bbWeight=0.50, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
+G_M51151_IG08:        ; bbWeight=0.50, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E      ; Microsoft.Extensions.Logging.ILogger
        mov      rdx, 0xD1FFAB1E      ; token handle
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
        call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
        ; gcrRegs -[rdi]
        mov      gword ptr [rsp], r15
        mov      rdx, 0xD1FFAB1E      ; 'RequestPipelineRequestHeader'
        ; gcrRegs +[rdx]
        mov      ecx, 102
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      r8, r12
        ; gcrRegs +[r8]
        xor      esi, esi
        xor      r9, r9
        ; gcrRegs +[r9]
        call     rax
        ; gcrRegs -[rdx rbx rdi r8-r9 r12 r15]
 						;; size=67 bbWeight=0.50 PerfScore 4.75
-G_M51151_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M51151_IG09:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M51151_IG08:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 8
+G_M51151_IG10:        ; bbWeight=1, epilog, nogc, extend
+       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 371, prolog size 16, PerfScore 48.88, instruction count 90, allocated bytes for code 371 (MethodHash=12663830) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.String,System.Func`2[System.String,ubyte]) (FullOpts)
+; Total bytes of code 419, prolog size 19, PerfScore 54.75, instruction count 100, allocated bytes for code 419 (MethodHash=12663830) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestPipelineStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.String,System.Func`2[System.String,ubyte]) (FullOpts)
 ; ============================================================
47 (65.28 % of base) - Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupCycleStart(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],int)
 ; Assembly listing for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupCycleStart(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],int) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
+; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  3,  3   )     ref  ->  rdi         class-hnd single-def <System.Lazy`1[Microsoft.Extensions.Logging.ILogger]>
 ;  V01 arg1         [V01,T01] (  3,  2.50)     int  ->  rbx         single-def
-;  V02 loc0         [V02    ] (  2,  1.50)     ref  ->  [rbp-0x10]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <Microsoft.Extensions.Logging.ILogger>
+;  V02 loc0         [V02    ] (  2,  1.50)     ref  ->  [rbp-0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <Microsoft.Extensions.Logging.ILogger>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 rat0         [V04,T02] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;  V04 tmp1         [V04,T02] (  3,  3   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <Microsoft.Extensions.Logging.ILogger>
+;  V05 tmp2         [V05,T03] (  3,  3   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[int]>
 ;
 ; Lcl frame size = 8
 
 G_M12171_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
+       push     r15
+       push     r14
        push     rbx
        push     rax
-       lea      rbp, [rsp+0x10]
+       lea      rbp, [rsp+0x20]
        xor      eax, eax
-       mov      qword ptr [rbp-0x10], rax
+       mov      qword ptr [rbp-0x20], rax
        mov      ebx, esi
-						;; size=16 bbWeight=1 PerfScore 5.00
+						;; size=20 bbWeight=1 PerfScore 7.00
 G_M12171_IG02:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
-       lea      rsi, [rbp-0x10]
+       lea      rsi, [rbp-0x20]
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:TryGetLogger(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],byref):ubyte
        call     [rax]Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:TryGetLogger(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],byref):ubyte
        ; gcrRegs -[rdi]
        test     eax, eax
        je       SHORT G_M12171_IG04
 						;; size=20 bbWeight=1 PerfScore 5.00
-G_M12171_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M12171_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rsi]
-       ; gcrRegs +[rax]
-       mov      rsi, gword ptr [rbp-0x10]
+       mov      rsi, gword ptr [rsi]
+       ; gcrRegs +[rsi]
+       mov      r15, gword ptr [rsi+0x18]
+       ; gcrRegs +[r15]
+       mov      r14, gword ptr [rbp-0x20]
+       ; gcrRegs +[r14]
+       mov      esi, dword ptr [r15+0x10]
+       ; gcrRegs -[rsi]
+       mov      rdi, r14
+       ; gcrRegs +[rdi]
+       mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       ; gcrRegs -[rdi]
+       test     eax, eax
+       je       SHORT G_M12171_IG04
+       mov      rdi, r15
+       ; gcrRegs +[rdi]
+       mov      rsi, r14
        ; gcrRegs +[rsi]
        mov      edx, ebx
        xor      rcx, rcx
        ; gcrRegs +[rcx]
-       mov      rdi, gword ptr [rax+0x08]
-       ; gcrRegs +[rdi]
-       call     [rax+0x18]System.Action`3[System.__Canon,int,System.__Canon]:Invoke(System.__Canon,int,System.__Canon):this
-       ; gcrRegs -[rax rcx rsi rdi]
-						;; size=28 bbWeight=0.50 PerfScore 4.38
+       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[int]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,int,System.Exception):this
+       call     [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[int]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,int,System.Exception):this
+       ; gcrRegs -[rcx rsi rdi r14-r15]
+						;; size=67 bbWeight=0.50 PerfScore 8.12
 G_M12171_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M12171_IG05:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        pop      rbx
+       pop      r14
+       pop      r15
        pop      rbp
        ret      
-						;; size=7 bbWeight=1 PerfScore 2.25
+						;; size=11 bbWeight=1 PerfScore 3.25
 
-; Total bytes of code 72, prolog size 14, PerfScore 16.88, instruction count 24, allocated bytes for code 72 (MethodHash=3865d074) for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupCycleStart(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],int) (FullOpts)
+; Total bytes of code 119, prolog size 18, PerfScore 23.62, instruction count 37, allocated bytes for code 119 (MethodHash=3865d074) for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupCycleStart(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],int) (FullOpts)
 ; ============================================================
47 (55.29 % of base) - Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupItemFailed(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.String,System.Exception)
 ; Assembly listing for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupItemFailed(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.String,System.Exception) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
+; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  3,  3   )     ref  ->  rdi         class-hnd single-def <System.Lazy`1[Microsoft.Extensions.Logging.ILogger]>
 ;  V01 arg1         [V01,T01] (  3,  2.50)     ref  ->  rbx         class-hnd single-def <System.String>
 ;  V02 arg2         [V02,T02] (  3,  2.50)     ref  ->  r15         class-hnd single-def <System.Exception>
-;  V03 loc0         [V03    ] (  2,  1.50)     ref  ->  [rbp-0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <Microsoft.Extensions.Logging.ILogger>
+;  V03 loc0         [V03    ] (  2,  1.50)     ref  ->  [rbp-0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <Microsoft.Extensions.Logging.ILogger>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 rat0         [V05,T03] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;  V05 tmp1         [V05,T03] (  3,  3   )     ref  ->  r13         class-hnd single-def "Inlining Arg" <Microsoft.Extensions.Logging.ILogger>
+;  V06 tmp2         [V06,T04] (  3,  3   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[System.__Canon]>
 ;
 ; Lcl frame size = 16
 
 G_M63088_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
+       push     r14
+       push     r13
        push     rbx
        sub      rsp, 16
-       lea      rbp, [rsp+0x20]
+       lea      rbp, [rsp+0x30]
        xor      eax, eax
-       mov      qword ptr [rbp-0x18], rax
+       mov      qword ptr [rbp-0x28], rax
        mov      rbx, rsi
        ; gcrRegs +[rbx]
        mov      r15, rdx
        ; gcrRegs +[r15]
-						;; size=25 bbWeight=1 PerfScore 5.50
+						;; size=29 bbWeight=1 PerfScore 7.50
 G_M63088_IG02:        ; bbWeight=1, gcrefRegs=8088 {rbx rdi r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdi]
-       lea      rsi, [rbp-0x18]
+       lea      rsi, [rbp-0x28]
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:TryGetLogger(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],byref):ubyte
        call     [rax]Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:TryGetLogger(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],byref):ubyte
        ; gcrRegs -[rdi]
        test     eax, eax
        je       SHORT G_M63088_IG04
 						;; size=20 bbWeight=1 PerfScore 5.00
-G_M63088_IG03:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+G_M63088_IG03:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rsi]
-       ; gcrRegs +[rax]
-       mov      rsi, gword ptr [rbp-0x18]
+       mov      rsi, gword ptr [rsi]
+       ; gcrRegs +[rsi]
+       mov      r14, gword ptr [rsi+0x18]
+       ; gcrRegs +[r14]
+       mov      r13, gword ptr [rbp-0x28]
+       ; gcrRegs +[r13]
+       mov      esi, dword ptr [r14+0x10]
+       ; gcrRegs -[rsi]
+       mov      rdi, r13
+       ; gcrRegs +[rdi]
+       mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
+       ; gcrRegs -[rdi]
+       test     eax, eax
+       je       SHORT G_M63088_IG04
+       mov      rdi, r14
+       ; gcrRegs +[rdi]
+       mov      rsi, r13
        ; gcrRegs +[rsi]
        mov      rdx, rbx
        ; gcrRegs +[rdx]
        mov      rcx, r15
        ; gcrRegs +[rcx]
-       mov      rdi, gword ptr [rax+0x08]
-       ; gcrRegs +[rdi]
-       call     [rax+0x18]System.Action`3[System.__Canon,System.__Canon,System.__Canon]:Invoke(System.__Canon,System.__Canon,System.__Canon):this
-       ; gcrRegs -[rax rcx rdx rbx rsi rdi r15]
-						;; size=30 bbWeight=0.50 PerfScore 4.38
+       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[System.__Canon]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Exception):this
+       call     [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass10_0`1[System.__Canon]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.Exception):this
+       ; gcrRegs -[rcx rdx rbx rsi rdi r13-r15]
+						;; size=69 bbWeight=0.50 PerfScore 8.12
 G_M63088_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M63088_IG05:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 16
        pop      rbx
+       pop      r13
+       pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=9 bbWeight=1 PerfScore 2.75
+						;; size=13 bbWeight=1 PerfScore 3.75
 
-; Total bytes of code 85, prolog size 19, PerfScore 17.88, instruction count 27, allocated bytes for code 85 (MethodHash=4f32098f) for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupItemFailed(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.String,System.Exception) (FullOpts)
+; Total bytes of code 132, prolog size 23, PerfScore 24.62, instruction count 40, allocated bytes for code 132 (MethodHash=4f32098f) for method Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:CleanupItemFailed(System.Lazy`1[Microsoft.Extensions.Logging.ILogger],System.String,System.Exception) (FullOpts)
 ; ============================================================
41 (36.61 % of base) - System.Reflection.TypeLoading.RoModule:GetUniqueByRefType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoByRefType:this
 ; Assembly listing for method System.Reflection.TypeLoading.RoModule:GetUniqueByRefType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoByRefType:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
-; rbp based frame
+; rsp based frame
 ; fully interruptible
 ; No PGO data
+; 0 inlinees with PGO data; 9 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  3,  2.50)     ref  ->  r15         this class-hnd single-def <System.Reflection.TypeLoading.RoModule>
+;  V00 this         [V00,T02] (  3,  2.50)     ref  ->  r15         this class-hnd single-def <System.Reflection.TypeLoading.RoModule>
 ;  V01 arg1         [V01,T00] (  5,  4   )     ref  ->  rbx         class-hnd single-def <System.Reflection.TypeLoading.RoType>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 rat0         [V03,T02] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;  V03 tmp1         [V03,T01] (  5,  5   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Reflection.TypeLoading.RoByRefType>
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M45263_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-       push     rbp
        push     r15
        push     rbx
-       lea      rbp, [rsp+0x10]
+       push     rax
        mov      r15, rdi
        ; gcrRegs +[r15]
        mov      rbx, rsi
        ; gcrRegs +[rbx]
-						;; size=15 bbWeight=1 PerfScore 4.00
+						;; size=10 bbWeight=1 PerfScore 3.50
 G_M45263_IG02:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, rbx
        ; gcrRegs +[rsi]
        mov      rdi, 0xD1FFAB1E      ; System.Reflection.RoModifiedType
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        ; gcrRegs -[rsi] +[rax]
        ; gcr arg pop 0
        test     rax, rax
        je       SHORT G_M45263_IG05
 						;; size=30 bbWeight=1 PerfScore 5.00
 G_M45263_IG03:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r15]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rsi]
+       mov      rdi, 0xD1FFAB1E      ; System.Reflection.TypeLoading.RoByRefType
+       call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
+       ; gcr arg pop 0
+       mov      r15, rax
+       ; gcrRegs +[r15]
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rsi, gword ptr [rdi]
+       ; gcrRegs +[rsi]
+       lea      rdi, bword ptr [r15+0x38]
+       ; byrRegs +[rdi]
+       call     CORINFO_HELP_ASSIGN_REF
+       ; gcrRegs -[rax rsi]
+       ; byrRegs -[rdi]
+       mov      dword ptr [r15+0x50], -1
+       lea      rdi, bword ptr [r15+0x60]
+       ; byrRegs +[rdi]
        mov      rsi, rbx
        ; gcrRegs +[rsi]
-       mov      rdi, gword ptr [rax+0x08]
-       ; gcrRegs +[rdi]
-						;; size=20 bbWeight=0.50 PerfScore 2.25
+       call     CORINFO_HELP_ASSIGN_REF
+       ; gcrRegs -[rbx rsi]
+       ; byrRegs -[rdi]
+       mov      rax, r15
+       ; gcrRegs +[rax]
+						;; size=63 bbWeight=0.50 PerfScore 4.12
 G_M45263_IG04:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
        pop      rbx
        pop      r15
-       pop      rbp
-       tail.jmp [rax+0x18]System.Func`2[System.__Canon,System.__Canon]:Invoke(System.__Canon):System.__Canon:this
-						;; size=8 bbWeight=0.50 PerfScore 1.75
+       ret      
+						;; size=8 bbWeight=0.50 PerfScore 1.12
 G_M45263_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs -[rax rsi rdi] +[r15]
+       ; gcrRegs -[rax] +[rbx]
        mov      rdi, gword ptr [r15+0x28]
        ; gcrRegs +[rdi]
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      rdx, gword ptr [rdx]
        ; gcrRegs +[rdx]
        mov      rsi, rbx
        ; gcrRegs +[rsi]
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]):System.__Canon:this
        cmp      dword ptr [rdi], edi
 						;; size=32 bbWeight=0.50 PerfScore 3.88
 G_M45263_IG06:        ; bbWeight=0.50, epilog, nogc, extend
+       add      rsp, 8
        pop      rbx
        pop      r15
-       pop      rbp
        tail.jmp [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.__Canon,System.__Canon]:GetOrAdd(System.__Canon,System.Func`2[System.__Canon,System.__Canon]):System.__Canon:this
-						;; size=7 bbWeight=0.50 PerfScore 1.75
+						;; size=10 bbWeight=0.50 PerfScore 1.62
 
-; Total bytes of code 112, prolog size 15, PerfScore 18.62, instruction count 30, allocated bytes for code 112 (MethodHash=d0934f30) for method System.Reflection.TypeLoading.RoModule:GetUniqueByRefType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoByRefType:this (FullOpts)
+; Total bytes of code 153, prolog size 10, PerfScore 19.25, instruction count 37, allocated bytes for code 153 (MethodHash=d0934f30) for method System.Reflection.TypeLoading.RoModule:GetUniqueByRefType(System.Reflection.TypeLoading.RoType):System.Reflection.TypeLoading.RoByRefType:this (FullOpts)
 ; ============================================================
9 (10.11 % of base) - Microsoft.Extensions.Http.Logging.LogHelper:BeginRequestPipelineScope(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,byref):System.IDisposable
 ; Assembly listing for method Microsoft.Extensions.Http.Logging.LogHelper:BeginRequestPipelineScope(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,byref):System.IDisposable (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  3,  3   )     ref  ->  r14         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
+;  V00 arg0         [V00,T02] (  3,  3   )     ref  ->  r14         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
 ;  V01 arg1         [V01,T00] (  4,  4   )     ref  ->  rbx         class-hnd single-def <System.Net.Http.HttpRequestMessage>
 ;  V02 arg2         [V02,T01] (  4,  4   )   byref  ->  r15         single-def
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 rat0         [V04,T02] (  3,  6   )     ref  ->  rax         "delegate invoke call"
 ;
 ; Lcl frame size = 8
 
 G_M8978_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     rbx
        push     rax
        lea      rbp, [rsp+0x20]
        mov      r14, rdi
        ; gcrRegs +[r14]
        mov      rbx, rsi
        ; gcrRegs +[rbx]
        mov      r15, rdx
        ; byrRegs +[r15]
 						;; size=21 bbWeight=1 PerfScore 6.25
 G_M8978_IG02:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=8000 {r15}, byref
        mov      rdi, gword ptr [rbx+0x10]
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Http.Logging.LogHelper:GetRedactedUriString(System.Uri):System.String
        call     [rax]Microsoft.Extensions.Http.Logging.LogHelper:GetRedactedUriString(System.Uri):System.String
        ; gcrRegs -[rdi] +[rax]
        mov      rsi, rax
        ; gcrRegs +[rsi]
        mov      rdi, r15
        ; byrRegs +[rdi]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        ; gcrRegs -[rax rsi]
        ; byrRegs -[rdi]
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rdi, gword ptr [rdi]
+       ; gcrRegs +[rdi]
+       mov      rdi, gword ptr [rdi+0x18]
        mov      rcx, gword ptr [r15]
        ; gcrRegs +[rcx]
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rsi]
-       ; gcrRegs +[rax]
        mov      rsi, r14
        ; gcrRegs +[rsi]
-       mov      rdi, gword ptr [rax+0x08]
-       ; gcrRegs +[rdi]
-						;; size=54 bbWeight=1 PerfScore 15.25
+       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass2_0`2[System.__Canon,System.__Canon]:<DefineScope>b__0(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.__Canon):System.IDisposable:this
+						;; size=64 bbWeight=1 PerfScore 15.50
 G_M8978_IG03:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        pop      rbx
        pop      r14
        pop      r15
        pop      rbp
-       tail.jmp [rax+0x18]System.Func`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:Invoke(System.__Canon,System.__Canon,System.__Canon):System.__Canon:this
-						;; size=14 bbWeight=1 PerfScore 4.25
+       tail.jmp [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass2_0`2[System.__Canon,System.__Canon]:<DefineScope>b__0(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.__Canon):System.IDisposable:this
+						;; size=13 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 89, prolog size 12, PerfScore 25.75, instruction count 27, allocated bytes for code 89 (MethodHash=6ed8dced) for method Microsoft.Extensions.Http.Logging.LogHelper:BeginRequestPipelineScope(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,byref):System.IDisposable (FullOpts)
+; Total bytes of code 98, prolog size 12, PerfScore 26.00, instruction count 28, allocated bytes for code 98 (MethodHash=6ed8dced) for method Microsoft.Extensions.Http.Logging.LogHelper:BeginRequestPipelineScope(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,byref):System.IDisposable (FullOpts)
 ; ============================================================
9 (2.17 % of base) - Microsoft.Extensions.Http.Logging.LogHelper:LogRequestStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.Func`2[System.String,ubyte])
 ; Assembly listing for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.Func`2[System.String,ubyte]) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  7,  5.50)     ref  ->  rbx         class-hnd single-def <Microsoft.Extensions.Logging.ILogger>
 ;  V01 arg1         [V01,T01] (  6,  4   )     ref  ->  r15         class-hnd single-def <System.Net.Http.HttpRequestMessage>
 ;  V02 arg2         [V02,T04] (  3,  2.50)     ref  ->  r14         class-hnd single-def <System.Func`2[System.String,ubyte]>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <Microsoft.Extensions.Logging.EventId>
-;  V05 tmp2         [V05,T08] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Net.Http.Headers.HttpRequestHeaders>
+;  V05 tmp2         [V05,T07] (  2,  2   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Net.Http.Headers.HttpRequestHeaders>
 ;  V06 tmp3         [V06,T05] (  3,  3   )     ref  ->  rdi         class-hnd single-def "dup spill" <System.Net.Http.HttpContent>
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V08 tmp5         [V08    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V09 tmp6         [V09    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V10 tmp7         [V10    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V11 tmp8         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V12 tmp9         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V13 tmp10        [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V14 tmp11        [V14    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V15 tmp12        [V15    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V16 tmp13        [V16    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V17 tmp14        [V17    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V18 tmp15        [V18,T14] (  3,  1.50)     ref  ->  r15        
+;  V18 tmp15        [V18,T13] (  3,  1.50)     ref  ->  r15        
 ;  V19 tmp16        [V19,T02] (  6,  6   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.Http.Logging.HttpHeadersLogValue>
-;  V20 tmp17        [V20,T09] (  2,  2   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
+;  V20 tmp17        [V20,T08] (  2,  2   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
 ;* V21 tmp18        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V22 tmp19        [V22    ] (  0,  0   )     int  ->  zero-ref    single-def
 ;* V23 tmp20        [V23    ] (  0,  0   )  struct (16) zero-ref    <Microsoft.Extensions.Logging.EventId>
 ;* V24 tmp21        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V25 tmp22        [V25    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V26 tmp23        [V26,T07] (  4,  2   )     ref  ->  r15        
-;  V27 tmp24        [V27,T13] (  2,  2   )    long  ->  rax         "VirtualCall through function pointer"
+;  V26 tmp23        [V26,T06] (  4,  2   )     ref  ->  r15        
+;  V27 tmp24        [V27,T12] (  2,  2   )    long  ->  rax         "VirtualCall through function pointer"
 ;  V28 tmp25        [V28,T03] (  5,  5   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]>
 ;* V29 tmp26        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Net.Http.HttpMethod>
-;  V30 tmp27        [V30,T10] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <Microsoft.Extensions.Http.Logging.LogHelper+<>c>
-;* V31 tmp28        [V31,T16] (  0,  0   )     ref  ->  zero-ref    single-def "field V04.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
-;* V32 tmp29        [V32,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V04.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
+;  V30 tmp27        [V30,T09] (  2,  2   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <Microsoft.Extensions.Http.Logging.LogHelper+<>c>
+;* V31 tmp28        [V31,T15] (  0,  0   )     ref  ->  zero-ref    single-def "field V04.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
+;* V32 tmp29        [V32,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V04.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
 ;* V33 tmp30        [V33    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V34 tmp31        [V34    ] (  0,  0   )     int  ->  zero-ref    single-def "field V09.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
 ;* V35 tmp32        [V35    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V15.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V36 tmp33        [V36    ] (  0,  0   )     int  ->  zero-ref    single-def "field V15.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
 ;* V37 tmp34        [V37    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V23.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V38 tmp35        [V38    ] (  0,  0   )     int  ->  zero-ref    single-def "field V23.<Id>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V39 tmp36        [V39,T11] (  2,  2   )     ref  ->  rcx         single-def "argument with side effect"
-;  V40 tmp37        [V40,T12] (  2,  2   )     ref  ->  r13         single-def "argument with side effect"
-;* V41 tmp38        [V41,T15] (  0,  0   )     ref  ->  zero-ref    single-def "BlockOp address local"
-;  V42 rat0         [V42,T06] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;  V39 tmp36        [V39,T10] (  2,  2   )     ref  ->  rcx         single-def "argument with side effect"
+;  V40 tmp37        [V40,T11] (  2,  2   )     ref  ->  r13         single-def "argument with side effect"
+;* V41 tmp38        [V41,T14] (  0,  0   )     ref  ->  zero-ref    single-def "BlockOp address local"
 ;
 ; Lcl frame size = 8
 
 G_M16607_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
        mov      r15, rsi
        ; gcrRegs +[r15]
        mov      r14, rdx
        ; gcrRegs +[r14]
 						;; size=25 bbWeight=1 PerfScore 8.25
 G_M16607_IG02:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        mov      esi, 2
        call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        ; gcrRegs -[rdi]
        test     eax, eax
        je       SHORT G_M16607_IG04
 						;; size=25 bbWeight=1 PerfScore 5.00
 G_M16607_IG03:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        mov      r13, gword ptr [r15+0x08]
        ; gcrRegs +[r13]
        mov      rdi, gword ptr [r15+0x10]
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Http.Logging.LogHelper:GetRedactedUriString(System.Uri):System.String
        call     [rax]Microsoft.Extensions.Http.Logging.LogHelper:GetRedactedUriString(System.Uri):System.String
        ; gcrRegs -[rdi] +[rax]
        mov      rcx, rax
        ; gcrRegs +[rcx]
        mov      rdx, r13
        ; gcrRegs +[rdx]
-       mov      rsi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rsi]
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rdi, gword ptr [rdi]
+       ; gcrRegs +[rdi]
+       mov      rdi, gword ptr [rdi+0x18]
        mov      rsi, rbx
        ; gcrRegs +[rsi]
        xor      r8, r8
        ; gcrRegs +[r8]
-       mov      rdi, gword ptr [rax+0x08]
-       ; gcrRegs +[rdi]
-       call     [rax+0x18]System.Action`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:Invoke(System.__Canon,System.__Canon,System.__Canon,System.__Canon):this
-       ; gcrRegs -[rax rcx rdx rsi rdi r8 r13]
-						;; size=52 bbWeight=0.50 PerfScore 7.75
+       mov      rax, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.__Canon]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.__Canon,System.Exception):this
+       ; gcrRegs -[rax]
+       call     [rax]Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass12_0`2[System.__Canon,System.__Canon]:<Define>g__Log|0(Microsoft.Extensions.Logging.ILogger,System.__Canon,System.__Canon,System.Exception):this
+       ; gcrRegs -[rcx rdx rsi rdi r8 r13]
+						;; size=61 bbWeight=0.50 PerfScore 7.88
 G_M16607_IG04:        ; bbWeight=1, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      r11, 0xD1FFAB1E      ; code for Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        xor      esi, esi
        call     [r11]Microsoft.Extensions.Logging.ILogger:IsEnabled(int):ubyte:this
        ; gcrRegs -[rdi]
        test     eax, eax
        je       G_M16607_IG09
 						;; size=26 bbWeight=1 PerfScore 5.00
 G_M16607_IG05:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, r15
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpRequestMessage:get_Headers():System.Net.Http.Headers.HttpRequestHeaders:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Net.Http.HttpRequestMessage:get_Headers():System.Net.Http.Headers.HttpRequestHeaders:this
        ; gcrRegs -[rdi] +[rax]
        mov      r13, rax
        ; gcrRegs +[r13]
        mov      rdi, gword ptr [r15+0x28]
        ; gcrRegs +[rdi]
        test     rdi, rdi
        je       SHORT G_M16607_IG06
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HttpContent:get_Headers():System.Net.Http.Headers.HttpContentHeaders:this
        ; gcrRegs -[rax]
        call     [rax]System.Net.Http.HttpContent:get_Headers():System.Net.Http.Headers.HttpContentHeaders:this
        ; gcrRegs -[rdi r15] +[rax]
        mov      r15, rax
        ; gcrRegs +[r15]
        jmp      SHORT G_M16607_IG07
 						;; size=46 bbWeight=0.50 PerfScore 7.75
 G_M16607_IG06:        ; bbWeight=0.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r15]
        xor      r15, r15
        ; gcrRegs +[r15]
 						;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M16607_IG07:        ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, 0xD1FFAB1E      ; Microsoft.Extensions.Http.Logging.HttpHeadersLogValue
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
        mov      r12, rax
        ; gcrRegs +[r12]
        xor      edi, edi
        mov      dword ptr [r12+0x30], edi
        lea      rdi, bword ptr [r12+0x08]
        ; byrRegs +[rdi]
        mov      rsi, r14
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rsi r14]
        ; byrRegs -[rdi]
        lea      rdi, bword ptr [r12+0x20]
        ; byrRegs +[rdi]
        mov      rsi, r13
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi r13]
        ; byrRegs -[rdi]
        lea      rdi, bword ptr [r12+0x28]
        ; byrRegs +[rdi]
        mov      rsi, r15
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi r15]
        ; byrRegs -[rdi]
        mov      rdi, 0xD1FFAB1E      ; data for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<>9__12_0
        mov      r15, gword ptr [rdi]
        ; gcrRegs +[r15]
        test     r15, r15
        jne      SHORT G_M16607_IG08
        mov      rdi, 0xD1FFAB1E      ; System.Func`3[Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception,System.String]
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs -[r15] +[rax]
        mov      r15, rax
        ; gcrRegs +[r15]
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rdi]
        ; gcrRegs +[rsi]
        lea      rdi, bword ptr [r15+0x08]
        ; byrRegs +[rdi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rsi]
        ; byrRegs -[rdi]
        mov      rdi, 0xD1FFAB1E      ; code for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<LogRequestStart>b__12_0(Microsoft.Extensions.Http.Logging.HttpHeadersLogValue,System.Exception):System.String:this
        mov      qword ptr [r15+0x18], rdi
        mov      rdi, 0xD1FFAB1E      ; data for Microsoft.Extensions.Http.Logging.LogHelper+<>c:<>9__12_0
        mov      rsi, r15
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rsi]
 						;; size=154 bbWeight=0.50 PerfScore 9.75
 G_M16607_IG08:        ; bbWeight=0.50, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E      ; Microsoft.Extensions.Logging.ILogger
        mov      rdx, 0xD1FFAB1E      ; token handle
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_VIRTUAL_FUNC_PTR
        call     [rax]CORINFO_HELP_VIRTUAL_FUNC_PTR
        ; gcrRegs -[rdi]
        mov      gword ptr [rsp], r15
        mov      rdx, 0xD1FFAB1E      ; 'RequestHeader'
        ; gcrRegs +[rdx]
        mov      ecx, 102
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      r8, r12
        ; gcrRegs +[r8]
        xor      esi, esi
        xor      r9, r9
        ; gcrRegs +[r9]
        call     rax
        ; gcrRegs -[rdx rbx rdi r8-r9 r12 r15]
 						;; size=67 bbWeight=0.50 PerfScore 4.75
 G_M16607_IG09:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M16607_IG10:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 414, prolog size 16, PerfScore 52.88, instruction count 100, allocated bytes for code 414 (MethodHash=f275bf20) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.Func`2[System.String,ubyte]) (FullOpts)
+; Total bytes of code 423, prolog size 16, PerfScore 53.00, instruction count 101, allocated bytes for code 423 (MethodHash=f275bf20) for method Microsoft.Extensions.Http.Logging.LogHelper:LogRequestStart(Microsoft.Extensions.Logging.ILogger,System.Net.Http.HttpRequestMessage,System.Func`2[System.String,ubyte]) (FullOpts)
 ; ============================================================
9 (6.52 % of base) - System.Reflection.TypeLoading.RoModule:GetUniqueArrayType(System.Reflection.TypeLoading.RoType,int):System.Reflection.TypeLoading.RoArrayType:this
 ; Assembly listing for method System.Reflection.TypeLoading.RoModule:GetUniqueArrayType(System.Reflection.TypeLoading.RoType,int):System.Reflection.TypeLoading.RoArrayType:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T02] (  3,  2.50)     ref  ->  rbx         this class-hnd single-def <System.Reflection.TypeLoading.RoModule>
 ;  V01 arg1         [V01,T00] (  3,  3   )     ref  ->  rsi         class-hnd single-def <System.Reflection.TypeLoading.RoType>
 ;  V02 arg2         [V02,T01] (  3,  3   )     int  ->  rdx         single-def
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.Reflection.TypeLoading.RoArrayType+Key>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V05 tmp1         [V05,T03] (  4,  3   )     ref  ->  r15         single-def "field V03.<ElementType>k__BackingField (fldOffset=0x0)" P-INDEP
-;  V06 tmp2         [V06,T05] (  3,  2   )     int  ->  r14         single-def "field V03.<Rank>k__BackingField (fldOffset=0x8)" P-INDEP
-;  V07 rat0         [V07,T04] (  3,  3   )     ref  ->  rax         "delegate invoke call"
+;  V06 tmp2         [V06,T04] (  3,  2   )     int  ->  r14         single-def "field V03.<Rank>k__BackingField (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 8
 
 G_M7824_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     rbx
        push     rax
        lea      rbp, [rsp+0x20]
        mov      rbx, rdi
        ; gcrRegs +[rbx]
 						;; size=15 bbWeight=1 PerfScore 5.75
 G_M7824_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rsi]
        mov      r15, rsi
        ; gcrRegs +[r15]
        mov      r14d, edx
        mov      rsi, r15
        mov      rdi, 0xD1FFAB1E      ; System.Reflection.RoModifiedType
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        ; gcrRegs -[rsi] +[rax]
        test     rax, rax
        je       SHORT G_M7824_IG05
 						;; size=36 bbWeight=1 PerfScore 5.50
 G_M7824_IG03:        ; bbWeight=0.50, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax rbx]
        mov      rsi, r15
        ; gcrRegs +[rsi]
        mov      edx, r14d
        mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rax, gword ptr [rdi]
-       ; gcrRegs +[rax]
-       mov      rdi, gword ptr [rax+0x08]
+       mov      rdi, gword ptr [rdi]
        ; gcrRegs +[rdi]
-       call     [rax+0x18]System.Func`2[System.Reflection.TypeLoading.RoArrayType+Key,System.__Canon]:Invoke(System.Reflection.TypeLoading.RoArrayType+Key):System.__Canon:this
-       ; gcrRegs -[rsi rdi r15]
+       mov      rdi, gword ptr [rdi+0x18]
+       mov      rax, 0xD1FFAB1E      ; code for System.Reflection.TypeLoading.RoModule+<>c:<.cctor>b__61_1(System.Reflection.TypeLoading.RoArrayType+Key):System.Reflection.TypeLoading.RoArrayType:this
+       call     [rax]System.Reflection.TypeLoading.RoModule+<>c:<.cctor>b__61_1(System.Reflection.TypeLoading.RoArrayType+Key):System.Reflection.TypeLoading.RoArrayType:this
+       ; gcrRegs -[rsi rdi r15] +[rax]
        nop      
-						;; size=27 bbWeight=0.50 PerfScore 4.00
+						;; size=36 bbWeight=0.50 PerfScore 4.12
 G_M7824_IG04:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 8
        pop      rbx
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=11 bbWeight=0.50 PerfScore 1.62
 G_M7824_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax] +[rbx r15]
        mov      rsi, r15
        ; gcrRegs +[rsi]
        mov      edx, r14d
        mov      rdi, gword ptr [rbx+0x20]
        ; gcrRegs +[rdi]
        mov      rcx, 0xD1FFAB1E      ; const ptr
        mov      rcx, gword ptr [rcx]
        ; gcrRegs +[rcx]
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Concurrent.ConcurrentDictionary`2[System.Reflection.TypeLoading.RoArrayType+Key,System.__Canon]:GetOrAdd(System.Reflection.TypeLoading.RoArrayType+Key,System.Func`2[System.Reflection.TypeLoading.RoArrayType+Key,System.__Canon]):System.__Canon:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Collections.Concurrent.ConcurrentDictionary`2[System.Reflection.TypeLoading.RoArrayType+Key,System.__Canon]:GetOrAdd(System.Reflection.TypeLoading.RoArrayType+Key,System.Func`2[System.Reflection.TypeLoading.RoArrayType+Key,System.__Canon]):System.__Canon:this
        ; gcrRegs -[rcx rbx rsi rdi r15] +[rax]
        nop      
 						;; size=38 bbWeight=0.50 PerfScore 5.62
 G_M7824_IG06:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 8
        pop      rbx
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=11 bbWeight=0.50 PerfScore 1.62
 
-; Total bytes of code 138, prolog size 12, PerfScore 24.12, instruction count 43, allocated bytes for code 138 (MethodHash=69cae16f) for method System.Reflection.TypeLoading.RoModule:GetUniqueArrayType(System.Reflection.TypeLoading.RoType,int):System.Reflection.TypeLoading.RoArrayType:this (FullOpts)
+; Total bytes of code 147, prolog size 12, PerfScore 24.25, instruction count 44, allocated bytes for code 147 (MethodHash=69cae16f) for method System.Reflection.TypeLoading.RoModule:GetUniqueArrayType(System.Reflection.TypeLoading.RoType,int):System.Reflection.TypeLoading.RoArrayType:this (FullOpts)
 ; ============================================================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment