MihuBot / runtime-utils

0 stars 0 forks source link

[JitDiff X64] xtqqczze/dotnet-runtime/take-this #712

Open MihuBot opened 2 weeks ago

MihuBot commented 2 weeks ago

Job completed in 19 minutes 9 seconds.

Diffs

Found 261 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 39444504
Total bytes of diff: 39444488
Total bytes of delta: -16 (-0.00 % of base)
Total relative delta: -0.50
    diff is an improvement.
    relative diff is an improvement.

Total byte diff includes -1 bytes from reconciling methods
    Base had   10 unique methods,     1288 unique bytes
    Diff had   10 unique methods,     1287 unique bytes

Top file improvements (bytes):
         -16 : System.Private.CoreLib.dasm (-0.00 % of base)

1 total files with Code Size differences (1 improved, 0 regressed), 258 unchanged.

Top method regressions (bytes):
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[double]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[int]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[long]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[short]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Nullable`1[int]]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[ubyte]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         135 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.__Canon]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         100 (Infinity of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxByteCount>g__ThrowArgumentException|7_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         100 (Infinity of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxCharCount>g__ThrowArgumentException|8_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
           3 (2.80 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.__Canon]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.__Canon]:this (FullOpts)

Top method improvements (bytes):
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[double]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[int]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[long]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[short]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.__Canon]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Nullable`1[int]]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[ubyte]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -100 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxByteCount>g__ThrowArgumentException|7_0(int) (FullOpts) (1 base, 0 diff methods)
        -100 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxCharCount>g__ThrowArgumentException|8_0(int) (FullOpts) (1 base, 0 diff methods)
          -2 (-5.71 % of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxByteCount(int):int:this (FullOpts)
          -2 (-6.25 % of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxCharCount(int):int:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[double]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[double]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[int]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[long]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[long]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[short]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[short]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Nullable`1[int]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Nullable`1[int]]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Numerics.Vector`1[float]]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[ubyte]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[ubyte]:this (FullOpts)

Top method regressions (percentages):
         100 (Infinity of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxByteCount>g__ThrowArgumentException|7_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         100 (Infinity of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxCharCount>g__ThrowArgumentException|8_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[double]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[int]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[long]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[short]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         135 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.__Canon]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Nullable`1[int]]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
         136 (Infinity of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[ubyte]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(System.Object,int) (FullOpts) (0 base, 1 diff methods)
           3 (2.80 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.__Canon]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.__Canon]:this (FullOpts)

Top method improvements (percentages):
        -100 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxByteCount>g__ThrowArgumentException|7_0(int) (FullOpts) (1 base, 0 diff methods)
        -100 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxCharCount>g__ThrowArgumentException|8_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[double]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[int]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[long]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[short]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.__Canon]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Nullable`1[int]]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
        -136 (-100.00 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[ubyte]:<ConfigureAwait>g__ThrowForInvalidOptions|35_0(int) (FullOpts) (1 base, 0 diff methods)
          -2 (-6.25 % of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxCharCount(int):int:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[double]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[double]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[int]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[long]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[long]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[short]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[short]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Nullable`1[int]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Nullable`1[int]]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Numerics.Vector`1[float]]:this (FullOpts)
          -2 (-5.88 % of base) : System.Private.CoreLib.dasm - System.Threading.Tasks.Task`1[ubyte]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[ubyte]:this (FullOpts)
          -2 (-5.71 % of base) : System.Private.CoreLib.dasm - System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxByteCount(int):int:this (FullOpts)

30 total methods with Code Size differences (19 improved, 11 regressed), 232516 unchanged.

--------------------------------------------------------------------------------

Artifacts:

xtqqczze commented 2 weeks ago

https://github.com/xtqqczze/dotnet-runtime/commit/6d72b443d5fc9b8f2c9edc7859d307117a7afeac

MihuBot commented 2 weeks ago

Top method regressions

3 (2.80 % of base) - System.Threading.Tasks.Task`1[System.__Canon]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.__Canon]:this ```diff ; Assembly listing for method System.Threading.Tasks.Task`1[System.__Canon]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.__Canon]: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 ; Final local variable assignments ; -; V00 this [V00,T00] ( 5, 4 ) ref -> rbx this class-hnd single-def +; V00 this [V00,T00] ( 6, 4 ) ref -> rbx this class-hnd single-def ; V01 arg1 [V01,T01] ( 5, 4 ) int -> r15 single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SR] multireg-ret ld-addr-op "NewObj constructor temp" ;* V04 tmp2 [V04 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V05 tmp3 [V05 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ;* V06 tmp4 [V06 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "NewObj constructor temp" ;* V07 tmp5 [V07 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V08 tmp6 [V08 ] ( 0, 0 ) long -> zero-ref "spilling helperCall" ; V09 tmp7 [V09,T02] ( 2, 2 ) ref -> rax single-def "field V06.m_task (fldOffset=0x0)" P-INDEP ; V10 tmp8 [V10,T03] ( 2, 2 ) int -> rdx "field V06.m_options (fldOffset=0x8)" P-INDEP ; V11 tmp9 [V11,T07] ( 2, 0 ) long -> rdi "argument with side effect" ;* V12 tmp10 [V12 ] ( 0, 0 ) long -> zero-ref "argument with side effect" ; V13 rat0 [V13,T04] ( 3, 0 ) long -> rdi "Spilling to split statement for tree" ; V14 rat1 [V14,T05] ( 3, 0 ) long -> rdi "runtime lookup" ; V15 rat2 [V15,T06] ( 3, 0 ) long -> rax "fgMakeTemp is creating a new local variable" ; ; Lcl frame size = 16 G_M34555_IG01: push rbp push r15 push rbx sub rsp, 16 lea rbp, [rsp+0x20] mov qword ptr [rbp-0x18], rdi mov rbx, rdi mov r15d, esi ;; size=23 bbWeight=1 PerfScore 5.25 G_M34555_IG02: test r15d, -6 jne SHORT G_M34555_IG04 cmp dword ptr [rbx], ebx mov rax, rbx mov edx, r15d ;; size=17 bbWeight=1 PerfScore 4.75 G_M34555_IG03: add rsp, 16 pop rbx pop r15 pop rbp ret ;; size=9 bbWeight=1 PerfScore 2.75 G_M34555_IG04: mov rdi, qword ptr [rbx] mov rsi, qword ptr [rdi+0x30] mov rsi, qword ptr [rsi] mov rax, qword ptr [rsi+0x48] test rax, rax je SHORT G_M34555_IG05 mov rdi, rax jmp SHORT G_M34555_IG06 ;; size=24 bbWeight=0 PerfScore 0.00 G_M34555_IG05: mov rsi, 0xD1FFAB1E ; global ptr call CORINFO_HELP_RUNTIMEHANDLE_CLASS mov rdi, rax ;; size=18 bbWeight=0 PerfScore 0.00 G_M34555_IG06: - mov esi, r15d - mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[System.__Canon]:g__ThrowForInvalidOptions|35_0(int) - call [rax]System.Threading.Tasks.Task`1[System.__Canon]:g__ThrowForInvalidOptions|35_0(int) + mov rsi, rbx + mov edx, r15d + mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[System.__Canon]:g__ThrowForInvalidOptions|35_0(System.Object,int) + call [rax]System.Threading.Tasks.Task`1[System.__Canon]:g__ThrowForInvalidOptions|35_0(System.Object,int) int3 - ;; size=16 bbWeight=0 PerfScore 0.00 + ;; size=19 bbWeight=0 PerfScore 0.00 -; Total bytes of code 107, prolog size 17, PerfScore 12.75, instruction count 33, allocated bytes for code 107 (MethodHash=224e7904) for method System.Threading.Tasks.Task`1[System.__Canon]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.__Canon]:this (FullOpts) +; Total bytes of code 110, prolog size 17, PerfScore 12.75, instruction count 34, allocated bytes for code 110 (MethodHash=224e7904) for method System.Threading.Tasks.Task`1[System.__Canon]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.__Canon]:this (FullOpts) ; ============================================================ ```
MihuBot commented 2 weeks ago

Top method improvements

-2 (-5.71 % of base) - System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxByteCount(int):int:this ```diff ; Assembly listing for method System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxByteCount(int):int:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; -;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def +; V00 this [V00,T01] ( 3, 2 ) ref -> rdi this class-hnd single-def ; V01 arg1 [V01,T00] ( 5, 4 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; ; Lcl frame size = 8 G_M42341_IG01: push rax ;; size=1 bbWeight=1 PerfScore 1.00 G_M42341_IG02: cmp esi, 0xD1FFAB1E ja SHORT G_M42341_IG04 lea eax, [rsi+2*rsi] add eax, 3 ;; size=14 bbWeight=1 PerfScore 2.00 G_M42341_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 G_M42341_IG04: - mov edi, esi - mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:g__ThrowArgumentException|7_0(int) - call [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:g__ThrowArgumentException|7_0(int) + mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:g__ThrowArgumentException|7_0(System.Object,int) + call [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:g__ThrowArgumentException|7_0(System.Object,int) int3 - ;; size=15 bbWeight=0 PerfScore 0.00 + ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 35, prolog size 1, PerfScore 4.25, instruction count 11, allocated bytes for code 35 (MethodHash=9a745a9a) for method System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxByteCount(int):int:this (FullOpts) +; Total bytes of code 33, prolog size 1, PerfScore 4.25, instruction count 10, allocated bytes for code 33 (MethodHash=9a745a9a) for method System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxByteCount(int):int:this (FullOpts) ; ============================================================ ```
-2 (-6.25 % of base) - System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxCharCount(int):int:this ```diff ; Assembly listing for method System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxCharCount(int):int:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; -;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def +; V00 this [V00,T01] ( 3, 2 ) ref -> rdi this class-hnd single-def ; V01 arg1 [V01,T00] ( 5, 4 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; ; Lcl frame size = 8 G_M20535_IG01: push rax ;; size=1 bbWeight=1 PerfScore 1.00 G_M20535_IG02: cmp esi, 0xD1FFAB1E ja SHORT G_M20535_IG04 lea eax, [rsi+0x01] ;; size=11 bbWeight=1 PerfScore 1.75 G_M20535_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 G_M20535_IG04: - mov edi, esi - mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:g__ThrowArgumentException|8_0(int) - call [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:g__ThrowArgumentException|8_0(int) + mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:g__ThrowArgumentException|8_0(System.Object,int) + call [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:g__ThrowArgumentException|8_0(System.Object,int) int3 - ;; size=15 bbWeight=0 PerfScore 0.00 + ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 32, prolog size 1, PerfScore 4.00, instruction count 10, allocated bytes for code 32 (MethodHash=2357afc8) for method System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxCharCount(int):int:this (FullOpts) +; Total bytes of code 30, prolog size 1, PerfScore 4.00, instruction count 9, allocated bytes for code 30 (MethodHash=2357afc8) for method System.Text.UTF8Encoding+UTF8EncodingSealed:GetMaxCharCount(int):int:this (FullOpts) ; ============================================================ ```
-2 (-5.88 % of base) - System.Threading.Tasks.Task`1[double]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[double]:this ```diff ; Assembly listing for method System.Threading.Tasks.Task`1[double]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[double]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp 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 this [V00,T01] ( 3, 3 ) ref -> rdi this class-hnd single-def +; V00 this [V00,T01] ( 4, 3 ) ref -> rdi this class-hnd single-def ; V01 arg1 [V01,T00] ( 5, 4 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SR] multireg-ret ld-addr-op "NewObj constructor temp" ;* V04 tmp2 [V04 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "NewObj constructor temp" ; V05 tmp3 [V05,T02] ( 2, 2 ) ref -> rax single-def "field V04.m_task (fldOffset=0x0)" P-INDEP ; V06 tmp4 [V06,T03] ( 2, 2 ) int -> rdx "field V04.m_options (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M62779_IG01: push rax ;; size=1 bbWeight=1 PerfScore 1.00 G_M62779_IG02: test esi, -6 jne SHORT G_M62779_IG04 mov rax, rdi mov edx, esi ;; size=13 bbWeight=1 PerfScore 1.75 G_M62779_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 G_M62779_IG04: - mov edi, esi - mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[double]:g__ThrowForInvalidOptions|35_0(int) - call [rax]System.Threading.Tasks.Task`1[double]:g__ThrowForInvalidOptions|35_0(int) + mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[double]:g__ThrowForInvalidOptions|35_0(System.Object,int) + call [rax]System.Threading.Tasks.Task`1[double]:g__ThrowForInvalidOptions|35_0(System.Object,int) int3 - ;; size=15 bbWeight=0 PerfScore 0.00 + ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 34, prolog size 1, PerfScore 4.00, instruction count 11, allocated bytes for code 34 (MethodHash=0db50ac4) for method System.Threading.Tasks.Task`1[double]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[double]:this (FullOpts) +; Total bytes of code 32, prolog size 1, PerfScore 4.00, instruction count 10, allocated bytes for code 32 (MethodHash=0db50ac4) for method System.Threading.Tasks.Task`1[double]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[double]:this (FullOpts) ; ============================================================ ```
-2 (-5.88 % of base) - System.Threading.Tasks.Task`1[int]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]:this ```diff ; Assembly listing for method System.Threading.Tasks.Task`1[int]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp 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 this [V00,T01] ( 3, 3 ) ref -> rdi this class-hnd single-def +; V00 this [V00,T01] ( 4, 3 ) ref -> rdi this class-hnd single-def ; V01 arg1 [V01,T00] ( 5, 4 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SR] multireg-ret ld-addr-op "NewObj constructor temp" ;* V04 tmp2 [V04 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "NewObj constructor temp" ; V05 tmp3 [V05,T02] ( 2, 2 ) ref -> rax single-def "field V04.m_task (fldOffset=0x0)" P-INDEP ; V06 tmp4 [V06,T03] ( 2, 2 ) int -> rdx "field V04.m_options (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M4891_IG01: push rax ;; size=1 bbWeight=1 PerfScore 1.00 G_M4891_IG02: test esi, -6 jne SHORT G_M4891_IG04 mov rax, rdi mov edx, esi ;; size=13 bbWeight=1 PerfScore 1.75 G_M4891_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 G_M4891_IG04: - mov edi, esi - mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[int]:g__ThrowForInvalidOptions|35_0(int) - call [rax]System.Threading.Tasks.Task`1[int]:g__ThrowForInvalidOptions|35_0(int) + mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[int]:g__ThrowForInvalidOptions|35_0(System.Object,int) + call [rax]System.Threading.Tasks.Task`1[int]:g__ThrowForInvalidOptions|35_0(System.Object,int) int3 - ;; size=15 bbWeight=0 PerfScore 0.00 + ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 34, prolog size 1, PerfScore 4.00, instruction count 11, allocated bytes for code 34 (MethodHash=ed4dece4) for method System.Threading.Tasks.Task`1[int]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]:this (FullOpts) +; Total bytes of code 32, prolog size 1, PerfScore 4.00, instruction count 10, allocated bytes for code 32 (MethodHash=ed4dece4) for method System.Threading.Tasks.Task`1[int]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]:this (FullOpts) ; ============================================================ ```
-2 (-5.88 % of base) - System.Threading.Tasks.Task`1[long]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[long]:this ```diff ; Assembly listing for method System.Threading.Tasks.Task`1[long]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[long]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp 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 this [V00,T01] ( 3, 3 ) ref -> rdi this class-hnd single-def +; V00 this [V00,T01] ( 4, 3 ) ref -> rdi this class-hnd single-def ; V01 arg1 [V01,T00] ( 5, 4 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SR] multireg-ret ld-addr-op "NewObj constructor temp" ;* V04 tmp2 [V04 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "NewObj constructor temp" ; V05 tmp3 [V05,T02] ( 2, 2 ) ref -> rax single-def "field V04.m_task (fldOffset=0x0)" P-INDEP ; V06 tmp4 [V06,T03] ( 2, 2 ) int -> rdx "field V04.m_options (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M47739_IG01: push rax ;; size=1 bbWeight=1 PerfScore 1.00 G_M47739_IG02: test esi, -6 jne SHORT G_M47739_IG04 mov rax, rdi mov edx, esi ;; size=13 bbWeight=1 PerfScore 1.75 G_M47739_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 G_M47739_IG04: - mov edi, esi - mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[long]:g__ThrowForInvalidOptions|35_0(int) - call [rax]System.Threading.Tasks.Task`1[long]:g__ThrowForInvalidOptions|35_0(int) + mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[long]:g__ThrowForInvalidOptions|35_0(System.Object,int) + call [rax]System.Threading.Tasks.Task`1[long]:g__ThrowForInvalidOptions|35_0(System.Object,int) int3 - ;; size=15 bbWeight=0 PerfScore 0.00 + ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 34, prolog size 1, PerfScore 4.00, instruction count 11, allocated bytes for code 34 (MethodHash=e3bd4584) for method System.Threading.Tasks.Task`1[long]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[long]:this (FullOpts) +; Total bytes of code 32, prolog size 1, PerfScore 4.00, instruction count 10, allocated bytes for code 32 (MethodHash=e3bd4584) for method System.Threading.Tasks.Task`1[long]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[long]:this (FullOpts) ; ============================================================ ```
-2 (-5.88 % of base) - System.Threading.Tasks.Task`1[short]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[short]:this ```diff ; Assembly listing for method System.Threading.Tasks.Task`1[short]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[short]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp 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 this [V00,T01] ( 3, 3 ) ref -> rdi this class-hnd single-def +; V00 this [V00,T01] ( 4, 3 ) ref -> rdi this class-hnd single-def ; V01 arg1 [V01,T00] ( 5, 4 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SR] multireg-ret ld-addr-op "NewObj constructor temp" ;* V04 tmp2 [V04 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "NewObj constructor temp" ; V05 tmp3 [V05,T02] ( 2, 2 ) ref -> rax single-def "field V04.m_task (fldOffset=0x0)" P-INDEP ; V06 tmp4 [V06,T03] ( 2, 2 ) int -> rdx "field V04.m_options (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M49915_IG01: push rax ;; size=1 bbWeight=1 PerfScore 1.00 G_M49915_IG02: test esi, -6 jne SHORT G_M49915_IG04 mov rax, rdi mov edx, esi ;; size=13 bbWeight=1 PerfScore 1.75 G_M49915_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 G_M49915_IG04: - mov edi, esi - mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[short]:g__ThrowForInvalidOptions|35_0(int) - call [rax]System.Threading.Tasks.Task`1[short]:g__ThrowForInvalidOptions|35_0(int) + mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[short]:g__ThrowForInvalidOptions|35_0(System.Object,int) + call [rax]System.Threading.Tasks.Task`1[short]:g__ThrowForInvalidOptions|35_0(System.Object,int) int3 - ;; size=15 bbWeight=0 PerfScore 0.00 + ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 34, prolog size 1, PerfScore 4.00, instruction count 11, allocated bytes for code 34 (MethodHash=6d2b3d04) for method System.Threading.Tasks.Task`1[short]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[short]:this (FullOpts) +; Total bytes of code 32, prolog size 1, PerfScore 4.00, instruction count 10, allocated bytes for code 32 (MethodHash=6d2b3d04) for method System.Threading.Tasks.Task`1[short]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[short]:this (FullOpts) ; ============================================================ ```
-2 (-5.88 % of base) - System.Threading.Tasks.Task`1[System.Nullable`1[int]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Nullable`1[int]]:this ```diff ; Assembly listing for method System.Threading.Tasks.Task`1[System.Nullable`1[int]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Nullable`1[int]]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp 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 this [V00,T01] ( 3, 3 ) ref -> rdi this class-hnd single-def +; V00 this [V00,T01] ( 4, 3 ) ref -> rdi this class-hnd single-def ; V01 arg1 [V01,T00] ( 5, 4 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SR] multireg-ret ld-addr-op "NewObj constructor temp" ;* V04 tmp2 [V04 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "NewObj constructor temp" ; V05 tmp3 [V05,T02] ( 2, 2 ) ref -> rax single-def "field V04.m_task (fldOffset=0x0)" P-INDEP ; V06 tmp4 [V06,T03] ( 2, 2 ) int -> rdx "field V04.m_options (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M31867_IG01: push rax ;; size=1 bbWeight=1 PerfScore 1.00 G_M31867_IG02: test esi, -6 jne SHORT G_M31867_IG04 mov rax, rdi mov edx, esi ;; size=13 bbWeight=1 PerfScore 1.75 G_M31867_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 G_M31867_IG04: - mov edi, esi - mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[System.Nullable`1[int]]:g__ThrowForInvalidOptions|35_0(int) - call [rax]System.Threading.Tasks.Task`1[System.Nullable`1[int]]:g__ThrowForInvalidOptions|35_0(int) + mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[System.Nullable`1[int]]:g__ThrowForInvalidOptions|35_0(System.Object,int) + call [rax]System.Threading.Tasks.Task`1[System.Nullable`1[int]]:g__ThrowForInvalidOptions|35_0(System.Object,int) int3 - ;; size=15 bbWeight=0 PerfScore 0.00 + ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 34, prolog size 1, PerfScore 4.00, instruction count 11, allocated bytes for code 34 (MethodHash=51458384) for method System.Threading.Tasks.Task`1[System.Nullable`1[int]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Nullable`1[int]]:this (FullOpts) +; Total bytes of code 32, prolog size 1, PerfScore 4.00, instruction count 10, allocated bytes for code 32 (MethodHash=51458384) for method System.Threading.Tasks.Task`1[System.Nullable`1[int]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Nullable`1[int]]:this (FullOpts) ; ============================================================ ```
-2 (-5.88 % of base) - System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Numerics.Vector`1[float]]:this ```diff ; Assembly listing for method System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Numerics.Vector`1[float]]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp 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 this [V00,T01] ( 3, 3 ) ref -> rdi this class-hnd single-def +; V00 this [V00,T01] ( 4, 3 ) ref -> rdi this class-hnd single-def ; V01 arg1 [V01,T00] ( 5, 4 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SR] multireg-ret ld-addr-op "NewObj constructor temp" ;* V04 tmp2 [V04 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "NewObj constructor temp" ; V05 tmp3 [V05,T02] ( 2, 2 ) ref -> rax single-def "field V04.m_task (fldOffset=0x0)" P-INDEP ; V06 tmp4 [V06,T03] ( 2, 2 ) int -> rdx "field V04.m_options (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M58011_IG01: push rax ;; size=1 bbWeight=1 PerfScore 1.00 G_M58011_IG02: test esi, -6 jne SHORT G_M58011_IG04 mov rax, rdi mov edx, esi ;; size=13 bbWeight=1 PerfScore 1.75 G_M58011_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 G_M58011_IG04: - mov edi, esi - mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:g__ThrowForInvalidOptions|35_0(int) - call [rax]System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:g__ThrowForInvalidOptions|35_0(int) + mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:g__ThrowForInvalidOptions|35_0(System.Object,int) + call [rax]System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:g__ThrowForInvalidOptions|35_0(System.Object,int) int3 - ;; size=15 bbWeight=0 PerfScore 0.00 + ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 34, prolog size 1, PerfScore 4.00, instruction count 11, allocated bytes for code 34 (MethodHash=11da1d64) for method System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Numerics.Vector`1[float]]:this (FullOpts) +; Total bytes of code 32, prolog size 1, PerfScore 4.00, instruction count 10, allocated bytes for code 32 (MethodHash=11da1d64) for method System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[System.Numerics.Vector`1[float]]:this (FullOpts) ; ============================================================ ```
-2 (-5.88 % of base) - System.Threading.Tasks.Task`1[ubyte]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[ubyte]:this ```diff ; Assembly listing for method System.Threading.Tasks.Task`1[ubyte]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[ubyte]:this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rsp 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 this [V00,T01] ( 3, 3 ) ref -> rdi this class-hnd single-def +; V00 this [V00,T01] ( 4, 3 ) ref -> rdi this class-hnd single-def ; V01 arg1 [V01,T00] ( 5, 4 ) int -> rsi single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SR] multireg-ret ld-addr-op "NewObj constructor temp" ;* V04 tmp2 [V04 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "NewObj constructor temp" ; V05 tmp3 [V05,T02] ( 2, 2 ) ref -> rax single-def "field V04.m_task (fldOffset=0x0)" P-INDEP ; V06 tmp4 [V06,T03] ( 2, 2 ) int -> rdx "field V04.m_options (fldOffset=0x8)" P-INDEP ; ; Lcl frame size = 8 G_M56987_IG01: push rax ;; size=1 bbWeight=1 PerfScore 1.00 G_M56987_IG02: test esi, -6 jne SHORT G_M56987_IG04 mov rax, rdi mov edx, esi ;; size=13 bbWeight=1 PerfScore 1.75 G_M56987_IG03: add rsp, 8 ret ;; size=5 bbWeight=1 PerfScore 1.25 G_M56987_IG04: - mov edi, esi - mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[ubyte]:g__ThrowForInvalidOptions|35_0(int) - call [rax]System.Threading.Tasks.Task`1[ubyte]:g__ThrowForInvalidOptions|35_0(int) + mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[ubyte]:g__ThrowForInvalidOptions|35_0(System.Object,int) + call [rax]System.Threading.Tasks.Task`1[ubyte]:g__ThrowForInvalidOptions|35_0(System.Object,int) int3 - ;; size=15 bbWeight=0 PerfScore 0.00 + ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 34, prolog size 1, PerfScore 4.00, instruction count 11, allocated bytes for code 34 (MethodHash=1fe02164) for method System.Threading.Tasks.Task`1[ubyte]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[ubyte]:this (FullOpts) +; Total bytes of code 32, prolog size 1, PerfScore 4.00, instruction count 10, allocated bytes for code 32 (MethodHash=1fe02164) for method System.Threading.Tasks.Task`1[ubyte]:ConfigureAwait(int):System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[ubyte]:this (FullOpts) ; ============================================================ ```
MihuBot commented 2 weeks ago

@xtqqczze