forked from MihaZupan/runtime-utils
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JitDiff X64] xtqqczze/dotnet-runtime/GetMaxByteCount #872
Comments
xtqqczze
referenced
this issue
in xtqqczze/dotnet-runtime
Jan 9, 2025
Top method regressions24 (1.28 % of base) - System.ThrowHelper:GetResourceString(int):System.String ; Assembly listing for method System.ThrowHelper:GetResourceString(int):System.String (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
-; 0 inlinees with PGO data; 70 single block inlinees; 0 inlinees without PGO data
+; 0 inlinees with PGO data; 71 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 4, 3.99) int -> rdi single-def
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V02 tmp1 [V02,T01] ( 2, 2 ) ref -> rax single-def "Single return block return value"
;
; Lcl frame size = 0
G_M676_IG01:
push rbp
mov rbp, rsp
;; size=4 bbWeight=1 PerfScore 1.25
G_M676_IG02:
- cmp edi, 79
- ja G_M676_IG164
+ cmp edi, 80
+ ja G_M676_IG166
;; size=9 bbWeight=1 PerfScore 1.25
G_M676_IG03:
mov edi, edi
lea rax, [reloc @RWD00]
mov eax, dword ptr [rax+4*rdi]
lea rcx, G_M676_IG02
add rax, rcx
jmp rax
;; size=24 bbWeight=0.99 PerfScore 5.93
G_M676_IG04:
- mov rdi, 0xD1FFAB1E ; 'InvalidOperation_IncompatibleComparer'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_GetByteCountOverflow'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG05:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG06:
- mov rax, 0xD1FFAB1E ; code for System.SR:get_Argument_HasToBeArrayClass():System.String
- ;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M676_IG07:
- pop rbp
- tail.jmp [rax]System.SR:get_Argument_HasToBeArrayClass():System.String
- ;; size=4 bbWeight=0.50 PerfScore 1.25
-G_M676_IG08:
- mov rdi, 0xD1FFAB1E ; 'Format_ExpectedAsciiDigit'
+ mov rdi, 0xD1FFAB1E ; 'InvalidOperation_IncompatibleComparer'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
-G_M676_IG09:
+G_M676_IG07:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
+G_M676_IG08:
+ mov rax, 0xD1FFAB1E ; code for System.SR:get_Argument_HasToBeArrayClass():System.String
+ ;; size=10 bbWeight=0.50 PerfScore 0.12
+G_M676_IG09:
+ pop rbp
+ tail.jmp [rax]System.SR:get_Argument_HasToBeArrayClass():System.String
+ ;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG10:
- mov rdi, 0xD1FFAB1E ; 'Format_UnclosedFormatItem'
+ mov rdi, 0xD1FFAB1E ; 'Format_ExpectedAsciiDigit'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG11:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG12:
- mov rdi, 0xD1FFAB1E ; 'Format_UnexpectedClosingBrace'
+ mov rdi, 0xD1FFAB1E ; 'Format_UnclosedFormatItem'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG13:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG14:
- mov rdi, 0xD1FFAB1E ; 'InvalidOperation_TimeProviderInvalidTimestampFrequency'
+ mov rdi, 0xD1FFAB1E ; 'Format_UnexpectedClosingBrace'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG15:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG16:
- mov rdi, 0xD1FFAB1E ; 'InvalidOperation_TimeProviderNullLocalTimeZone'
+ mov rdi, 0xD1FFAB1E ; 'InvalidOperation_TimeProviderInvalidTimestampFrequency'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG17:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG18:
- mov rdi, 0xD1FFAB1E ; 'InvalidOperation_SpanOverlappedOperation'
+ mov rdi, 0xD1FFAB1E ; 'InvalidOperation_TimeProviderNullLocalTimeZone'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG19:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG20:
- mov rdi, 0xD1FFAB1E ; 'Argument_AlignmentMustBePow2'
+ mov rdi, 0xD1FFAB1E ; 'InvalidOperation_SpanOverlappedOperation'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG21:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG22:
- mov rdi, 0xD1FFAB1E ; 'CancellationTokenSource_Disposed'
+ mov rdi, 0xD1FFAB1E ; 'Argument_AlignmentMustBePow2'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG23:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG24:
+ mov rdi, 0xD1FFAB1E ; 'CancellationTokenSource_Disposed'
+ mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
+ ;; size=20 bbWeight=0.50 PerfScore 0.25
+G_M676_IG25:
+ pop rbp
+ tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
+ ;; size=4 bbWeight=0.50 PerfScore 1.25
+G_M676_IG26:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Argument_InvalidFlag():System.String
;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M676_IG25:
+G_M676_IG27:
pop rbp
tail.jmp [rax]System.SR:get_Argument_InvalidFlag():System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
-G_M676_IG26:
+G_M676_IG28:
mov rdi, 0xD1FFAB1E ; 'Argument_SpansMustHaveSameLength'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
-G_M676_IG27:
+G_M676_IG29:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
-G_M676_IG28:
+G_M676_IG30:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Arg_TypeNotSupported():System.String
;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M676_IG29:
+G_M676_IG31:
pop rbp
tail.jmp [rax]System.SR:get_Arg_TypeNotSupported():System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
-G_M676_IG30:
- mov rdi, 0xD1FFAB1E ; 'Rank_MultiDimNotSupported'
- mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
- ;; size=20 bbWeight=0.50 PerfScore 0.25
-G_M676_IG31:
- pop rbp
- tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
- ;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG32:
- mov rdi, 0xD1FFAB1E ; 'NotSupported_FixedSizeCollection'
+ mov rdi, 0xD1FFAB1E ; 'Rank_MultiDimNotSupported'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG33:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG34:
- mov rdi, 0xD1FFAB1E ; 'InvalidOperation_IComparerFailed'
+ mov rdi, 0xD1FFAB1E ; 'NotSupported_FixedSizeCollection'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG35:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG36:
- mov rdi, 0xD1FFAB1E ; 'Arg_RanksAndBounds'
+ mov rdi, 0xD1FFAB1E ; 'InvalidOperation_IComparerFailed'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG37:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG38:
- mov rdi, 0xD1FFAB1E ; 'Arg_RankIndices'
+ mov rdi, 0xD1FFAB1E ; 'Arg_RanksAndBounds'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG39:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG40:
- mov rdi, 0xD1FFAB1E ; 'Arg_NeedAtLeast1Rank'
+ mov rdi, 0xD1FFAB1E ; 'Arg_RankIndices'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG41:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG42:
- mov rdi, 0xD1FFAB1E ; 'Arg_Need3DArray'
+ mov rdi, 0xD1FFAB1E ; 'Arg_NeedAtLeast1Rank'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG43:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG44:
- mov rdi, 0xD1FFAB1E ; 'Arg_Need2DArray'
+ mov rdi, 0xD1FFAB1E ; 'Arg_Need3DArray'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG45:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG46:
- mov rdi, 0xD1FFAB1E ; 'Arg_Need1DArray'
+ mov rdi, 0xD1FFAB1E ; 'Arg_Need2DArray'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG47:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG48:
- mov rax, 0xD1FFAB1E ; code for System.SR:get_Arg_MustBeType():System.String
- ;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M676_IG49:
- pop rbp
- tail.jmp [rax]System.SR:get_Arg_MustBeType():System.String
- ;; size=4 bbWeight=0.50 PerfScore 1.25
-G_M676_IG50:
- mov rdi, 0xD1FFAB1E ; 'Arg_LowerBoundsMustMatch'
+ mov rdi, 0xD1FFAB1E ; 'Arg_Need1DArray'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
-G_M676_IG51:
+G_M676_IG49:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
+G_M676_IG50:
+ mov rax, 0xD1FFAB1E ; code for System.SR:get_Arg_MustBeType():System.String
+ ;; size=10 bbWeight=0.50 PerfScore 0.12
+G_M676_IG51:
+ pop rbp
+ tail.jmp [rax]System.SR:get_Arg_MustBeType():System.String
+ ;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG52:
- mov rdi, 0xD1FFAB1E ; 'Argument_InvalidArgumentForComparison'
+ mov rdi, 0xD1FFAB1E ; 'Arg_LowerBoundsMustMatch'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG53:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG54:
- mov rdi, 0xD1FFAB1E ; 'Argument_AddingDuplicate'
+ mov rdi, 0xD1FFAB1E ; 'Argument_InvalidArgumentForComparison'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG55:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG56:
- mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_HugeArrayNotSupported'
+ mov rdi, 0xD1FFAB1E ; 'Argument_AddingDuplicate'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG57:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG58:
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_Enum():System.String
- ;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M676_IG59:
- pop rbp
- tail.jmp [rax]System.SR:get_ArgumentOutOfRange_Enum():System.String
- ;; size=4 bbWeight=0.50 PerfScore 1.25
-G_M676_IG60:
- mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_EndIndexStartIndex'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_HugeArrayNotSupported'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
-G_M676_IG61:
+G_M676_IG59:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
+G_M676_IG60:
+ mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_Enum():System.String
+ ;; size=10 bbWeight=0.50 PerfScore 0.12
+G_M676_IG61:
+ pop rbp
+ tail.jmp [rax]System.SR:get_ArgumentOutOfRange_Enum():System.String
+ ;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG62:
- mov rdi, 0xD1FFAB1E ; 'ArgumentNull_SafeHandle'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_EndIndexStartIndex'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG63:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG64:
- mov rdi, 0xD1FFAB1E ; 'ArgumentNull_Array'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentNull_SafeHandle'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG65:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG66:
- mov rdi, 0xD1FFAB1E ; 'ArgumentException_OtherNotArrayOfCorrectLength'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentNull_Array'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG67:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG68:
- mov rdi, 0xD1FFAB1E ; 'Task_WaitMulti_NullTask'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentException_OtherNotArrayOfCorrectLength'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG69:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG70:
- mov rdi, 0xD1FFAB1E ; 'Task_ThrowIfDisposed'
+ mov rdi, 0xD1FFAB1E ; 'Task_WaitMulti_NullTask'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG71:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG72:
- mov rdi, 0xD1FFAB1E ; 'Task_Dispose_NotCompleted'
+ mov rdi, 0xD1FFAB1E ; 'Task_ThrowIfDisposed'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG73:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG74:
- mov rdi, 0xD1FFAB1E ; 'Task_Delay_InvalidMillisecondsDelay'
+ mov rdi, 0xD1FFAB1E ; 'Task_Dispose_NotCompleted'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG75:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG76:
- mov rdi, 0xD1FFAB1E ; 'Task_InvalidTimerTimeSpan'
+ mov rdi, 0xD1FFAB1E ; 'Task_Delay_InvalidMillisecondsDelay'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG77:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG78:
- mov rdi, 0xD1FFAB1E ; 'Task_ContinueWith_NotOnAnything'
+ mov rdi, 0xD1FFAB1E ; 'Task_InvalidTimerTimeSpan'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG79:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG80:
- mov rdi, 0xD1FFAB1E ; 'Task_ContinueWith_ESandLR'
+ mov rdi, 0xD1FFAB1E ; 'Task_ContinueWith_NotOnAnything'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG81:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG82:
- mov rdi, 0xD1FFAB1E ; 'AsyncMethodBuilder_InstanceNotInitialized'
+ mov rdi, 0xD1FFAB1E ; 'Task_ContinueWith_ESandLR'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG83:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG84:
- mov rdi, 0xD1FFAB1E ; 'Task_RunSynchronously_AlreadyStarted'
+ mov rdi, 0xD1FFAB1E ; 'AsyncMethodBuilder_InstanceNotInitialized'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG85:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG86:
- mov rdi, 0xD1FFAB1E ; 'Task_RunSynchronously_TaskCompleted'
+ mov rdi, 0xD1FFAB1E ; 'Task_RunSynchronously_AlreadyStarted'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG87:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG88:
- mov rdi, 0xD1FFAB1E ; 'Task_RunSynchronously_Promise'
+ mov rdi, 0xD1FFAB1E ; 'Task_RunSynchronously_TaskCompleted'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG89:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG90:
- mov rdi, 0xD1FFAB1E ; 'Task_RunSynchronously_Continuation'
+ mov rdi, 0xD1FFAB1E ; 'Task_RunSynchronously_Promise'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG91:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG92:
- mov rdi, 0xD1FFAB1E ; 'Task_Start_AlreadyStarted'
+ mov rdi, 0xD1FFAB1E ; 'Task_RunSynchronously_Continuation'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG93:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG94:
- mov rdi, 0xD1FFAB1E ; 'Task_Start_ContinuationTask'
+ mov rdi, 0xD1FFAB1E ; 'Task_Start_AlreadyStarted'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG95:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG96:
- mov rdi, 0xD1FFAB1E ; 'Task_Start_Promise'
+ mov rdi, 0xD1FFAB1E ; 'Task_Start_ContinuationTask'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG97:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG98:
- mov rdi, 0xD1FFAB1E ; 'Task_Start_TaskCompleted'
+ mov rdi, 0xD1FFAB1E ; 'Task_Start_Promise'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG99:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG100:
- mov rdi, 0xD1FFAB1E ; 'Task_MultiTaskContinuation_EmptyTaskList'
+ mov rdi, 0xD1FFAB1E ; 'Task_Start_TaskCompleted'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG101:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG102:
- mov rdi, 0xD1FFAB1E ; 'InvalidOperation_WrongAsyncResultOrEndCalledMultiple'
+ mov rdi, 0xD1FFAB1E ; 'Task_MultiTaskContinuation_EmptyTaskList'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG103:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG104:
- mov rdi, 0xD1FFAB1E ; 'Task_MultiTaskContinuation_NullTask'
+ mov rdi, 0xD1FFAB1E ; 'InvalidOperation_WrongAsyncResultOrEndCalledMultiple'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG105:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG106:
- mov rdi, 0xD1FFAB1E ; 'ConcurrentCollection_SyncRoot_NotSupported'
+ mov rdi, 0xD1FFAB1E ; 'Task_MultiTaskContinuation_NullTask'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG107:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG108:
- mov rax, 0xD1FFAB1E ; code for System.SR:get_NotSupported_StringComparison():System.String
- ;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M676_IG109:
- pop rbp
- tail.jmp [rax]System.SR:get_NotSupported_StringComparison():System.String
- ;; size=4 bbWeight=0.50 PerfScore 1.25
-G_M676_IG110:
- mov rdi, 0xD1FFAB1E ; 'TaskCompletionSourceT_TrySetException_NoExceptions'
+ mov rdi, 0xD1FFAB1E ; 'ConcurrentCollection_SyncRoot_NotSupported'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
-G_M676_IG111:
+G_M676_IG109:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
+G_M676_IG110:
+ mov rax, 0xD1FFAB1E ; code for System.SR:get_NotSupported_StringComparison():System.String
+ ;; size=10 bbWeight=0.50 PerfScore 0.12
+G_M676_IG111:
+ pop rbp
+ tail.jmp [rax]System.SR:get_NotSupported_StringComparison():System.String
+ ;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG112:
- mov rdi, 0xD1FFAB1E ; 'TaskCompletionSourceT_TrySetException_NullException'
+ mov rdi, 0xD1FFAB1E ; 'TaskCompletionSourceT_TrySetException_NoExceptions'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG113:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG114:
- mov rdi, 0xD1FFAB1E ; 'TaskT_TransitionToFinal_AlreadyCompleted'
+ mov rdi, 0xD1FFAB1E ; 'TaskCompletionSourceT_TrySetException_NullException'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG115:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG116:
- mov rdi, 0xD1FFAB1E ; 'InvalidOperation_NullArray'
+ mov rdi, 0xD1FFAB1E ; 'TaskT_TransitionToFinal_AlreadyCompleted'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG117:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG118:
- mov rdi, 0xD1FFAB1E ; 'NotSupported_ValueCollectionSet'
+ mov rdi, 0xD1FFAB1E ; 'InvalidOperation_NullArray'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG119:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG120:
- mov rdi, 0xD1FFAB1E ; 'NotSupported_KeyCollectionSet'
+ mov rdi, 0xD1FFAB1E ; 'NotSupported_ValueCollectionSet'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG121:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG122:
- mov rdi, 0xD1FFAB1E ; 'Serialization_NullKey'
+ mov rdi, 0xD1FFAB1E ; 'NotSupported_KeyCollectionSet'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG123:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG124:
- mov rdi, 0xD1FFAB1E ; 'Serialization_MissingKeys'
+ mov rdi, 0xD1FFAB1E ; 'Serialization_NullKey'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG125:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG126:
- mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_BiggerThanCollection'
+ mov rdi, 0xD1FFAB1E ; 'Serialization_MissingKeys'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG127:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG128:
- mov rdi, 0xD1FFAB1E ; 'Argument_CannotExtractScalar'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_BiggerThanCollection'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG129:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG130:
- mov rax, 0xD1FFAB1E ; code for System.SR:get_Argument_InvalidOffLen():System.String
- ;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M676_IG131:
- pop rbp
- tail.jmp [rax]System.SR:get_Argument_InvalidOffLen():System.String
- ;; size=4 bbWeight=0.50 PerfScore 1.25
-G_M676_IG132:
- mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_SmallCapacity'
+ mov rdi, 0xD1FFAB1E ; 'Argument_CannotExtractScalar'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
-G_M676_IG133:
+G_M676_IG131:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
+G_M676_IG132:
+ mov rax, 0xD1FFAB1E ; code for System.SR:get_Argument_InvalidOffLen():System.String
+ ;; size=10 bbWeight=0.50 PerfScore 0.12
+G_M676_IG133:
+ pop rbp
+ tail.jmp [rax]System.SR:get_Argument_InvalidOffLen():System.String
+ ;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG134:
- mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_NotGreaterThanBufferLength'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_SmallCapacity'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG135:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG136:
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_NeedNonNegNum():System.String
- ;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M676_IG137:
- pop rbp
- tail.jmp [rax]System.SR:get_ArgumentOutOfRange_NeedNonNegNum():System.String
- ;; size=4 bbWeight=0.50 PerfScore 1.25
-G_M676_IG138:
- mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_ListInsert'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_NotGreaterThanBufferLength'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
-G_M676_IG139:
+G_M676_IG137:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
+G_M676_IG138:
+ mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_NeedNonNegNum():System.String
+ ;; size=10 bbWeight=0.50 PerfScore 0.12
+G_M676_IG139:
+ pop rbp
+ tail.jmp [rax]System.SR:get_ArgumentOutOfRange_NeedNonNegNum():System.String
+ ;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG140:
- mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_GetCharCountOverflow'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_ListInsert'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG141:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG142:
- mov rdi, 0xD1FFAB1E ; 'Arg_NonZeroLowerBound'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_GetCharCountOverflow'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG143:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG144:
- mov rdi, 0xD1FFAB1E ; 'Arg_RankMultiDimNotSupported'
+ mov rdi, 0xD1FFAB1E ; 'Arg_NonZeroLowerBound'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG145:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG146:
- mov rdi, 0xD1FFAB1E ; 'NotSupported_ReadOnlyCollection'
+ mov rdi, 0xD1FFAB1E ; 'Arg_RankMultiDimNotSupported'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG147:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG148:
- mov rdi, 0xD1FFAB1E ; 'Arg_ByteArrayTooSmallForValue'
+ mov rdi, 0xD1FFAB1E ; 'NotSupported_ReadOnlyCollection'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG149:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG150:
- mov rdi, 0xD1FFAB1E ; 'Arg_ArrayPlusOffTooSmall'
+ mov rdi, 0xD1FFAB1E ; 'Arg_ByteArrayTooSmallForValue'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG151:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG152:
- mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_Year'
+ mov rdi, 0xD1FFAB1E ; 'Arg_ArrayPlusOffTooSmall'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG153:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG154:
- mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_Count'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_Year'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG155:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG156:
- mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_IndexCountBuffer'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_Count'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG157:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG158:
- mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_IndexCount'
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_IndexCountBuffer'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG159:
pop rbp
tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG160:
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_IndexMustBeLess():System.String
- ;; size=10 bbWeight=0.50 PerfScore 0.12
+ mov rdi, 0xD1FFAB1E ; 'ArgumentOutOfRange_IndexCount'
+ mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
+ ;; size=20 bbWeight=0.50 PerfScore 0.25
G_M676_IG161:
pop rbp
- tail.jmp [rax]System.SR:get_ArgumentOutOfRange_IndexMustBeLess():System.String
+ tail.jmp [rax]System.SR:GetResourceString(System.String):System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG162:
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_IndexMustBeLessOrEqual():System.String
+ mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_IndexMustBeLess():System.String
;; size=10 bbWeight=0.50 PerfScore 0.12
G_M676_IG163:
pop rbp
- tail.jmp [rax]System.SR:get_ArgumentOutOfRange_IndexMustBeLessOrEqual():System.String
+ tail.jmp [rax]System.SR:get_ArgumentOutOfRange_IndexMustBeLess():System.String
;; size=4 bbWeight=0.50 PerfScore 1.25
G_M676_IG164:
- mov rax, 0xD1FFAB1E ; ''
+ mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_IndexMustBeLessOrEqual():System.String
;; size=10 bbWeight=0.50 PerfScore 0.12
G_M676_IG165:
+ pop rbp
+ tail.jmp [rax]System.SR:get_ArgumentOutOfRange_IndexMustBeLessOrEqual():System.String
+ ;; size=4 bbWeight=0.50 PerfScore 1.25
+G_M676_IG166:
+ mov rax, 0xD1FFAB1E ; ''
+ ;; size=10 bbWeight=0.50 PerfScore 0.12
+G_M676_IG167:
pop rbp
ret
;; size=2 bbWeight=0.50 PerfScore 0.75
-RWD00 dd G_M676_IG162 - G_M676_IG02
+RWD00 dd G_M676_IG164 - G_M676_IG02
+ dd G_M676_IG162 - G_M676_IG02
dd G_M676_IG160 - G_M676_IG02
dd G_M676_IG158 - G_M676_IG02
dd G_M676_IG156 - G_M676_IG02
dd G_M676_IG154 - G_M676_IG02
dd G_M676_IG152 - G_M676_IG02
dd G_M676_IG150 - G_M676_IG02
dd G_M676_IG148 - G_M676_IG02
dd G_M676_IG146 - G_M676_IG02
dd G_M676_IG144 - G_M676_IG02
dd G_M676_IG142 - G_M676_IG02
dd G_M676_IG140 - G_M676_IG02
dd G_M676_IG138 - G_M676_IG02
dd G_M676_IG136 - G_M676_IG02
dd G_M676_IG134 - G_M676_IG02
dd G_M676_IG132 - G_M676_IG02
dd G_M676_IG130 - G_M676_IG02
dd G_M676_IG128 - G_M676_IG02
dd G_M676_IG126 - G_M676_IG02
dd G_M676_IG124 - G_M676_IG02
dd G_M676_IG122 - G_M676_IG02
dd G_M676_IG120 - G_M676_IG02
dd G_M676_IG118 - G_M676_IG02
dd G_M676_IG116 - G_M676_IG02
dd G_M676_IG114 - G_M676_IG02
dd G_M676_IG112 - G_M676_IG02
dd G_M676_IG110 - G_M676_IG02
dd G_M676_IG108 - G_M676_IG02
dd G_M676_IG106 - G_M676_IG02
dd G_M676_IG104 - G_M676_IG02
dd G_M676_IG102 - G_M676_IG02
dd G_M676_IG100 - G_M676_IG02
dd G_M676_IG98 - G_M676_IG02
dd G_M676_IG96 - G_M676_IG02
dd G_M676_IG94 - G_M676_IG02
dd G_M676_IG92 - G_M676_IG02
dd G_M676_IG90 - G_M676_IG02
dd G_M676_IG88 - G_M676_IG02
dd G_M676_IG86 - G_M676_IG02
dd G_M676_IG84 - G_M676_IG02
dd G_M676_IG82 - G_M676_IG02
dd G_M676_IG80 - G_M676_IG02
dd G_M676_IG78 - G_M676_IG02
dd G_M676_IG76 - G_M676_IG02
dd G_M676_IG74 - G_M676_IG02
dd G_M676_IG72 - G_M676_IG02
dd G_M676_IG70 - G_M676_IG02
dd G_M676_IG68 - G_M676_IG02
dd G_M676_IG66 - G_M676_IG02
dd G_M676_IG64 - G_M676_IG02
dd G_M676_IG62 - G_M676_IG02
dd G_M676_IG60 - G_M676_IG02
dd G_M676_IG58 - G_M676_IG02
dd G_M676_IG56 - G_M676_IG02
dd G_M676_IG54 - G_M676_IG02
dd G_M676_IG52 - G_M676_IG02
dd G_M676_IG50 - G_M676_IG02
dd G_M676_IG48 - G_M676_IG02
dd G_M676_IG46 - G_M676_IG02
dd G_M676_IG44 - G_M676_IG02
dd G_M676_IG42 - G_M676_IG02
dd G_M676_IG40 - G_M676_IG02
dd G_M676_IG38 - G_M676_IG02
dd G_M676_IG36 - G_M676_IG02
dd G_M676_IG34 - G_M676_IG02
dd G_M676_IG32 - G_M676_IG02
dd G_M676_IG30 - G_M676_IG02
dd G_M676_IG28 - G_M676_IG02
dd G_M676_IG26 - G_M676_IG02
dd G_M676_IG24 - G_M676_IG02
dd G_M676_IG22 - G_M676_IG02
dd G_M676_IG20 - G_M676_IG02
dd G_M676_IG18 - G_M676_IG02
dd G_M676_IG16 - G_M676_IG02
dd G_M676_IG14 - G_M676_IG02
dd G_M676_IG12 - G_M676_IG02
dd G_M676_IG10 - G_M676_IG02
dd G_M676_IG08 - G_M676_IG02
dd G_M676_IG06 - G_M676_IG02
dd G_M676_IG04 - G_M676_IG02
-; Total bytes of code 1869, prolog size 4, PerfScore 128.05, instruction count 323, allocated bytes for code 1869 (MethodHash=7b27fd5b) for method System.ThrowHelper:GetResourceString(int):System.String (FullOpts)
+; Total bytes of code 1893, prolog size 4, PerfScore 129.55, instruction count 327, allocated bytes for code 1893 (MethodHash=7b27fd5b) for method System.ThrowHelper:GetResourceString(int):System.String (FullOpts)
; ============================================================ |
Top method improvements-91 (-43.75 % of base) - System.Text.UTF8Encoding:GetMaxByteCount(int):int:this ; Assembly listing for method System.Text.UTF8Encoding:GetMaxByteCount(int):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T03] ( 4, 3.50) ref -> r15 this class-hnd single-def <System.Text.UTF8Encoding>
-; V01 arg1 [V01,T01] ( 5, 4 ) int -> rbx single-def
-; V02 loc0 [V02,T00] ( 7, 6 ) long -> rbx
+; V00 this [V00,T03] ( 4, 3.50) ref -> rbx this class-hnd single-def <System.Text.UTF8Encoding>
+; V01 arg1 [V01,T01] ( 4, 4 ) int -> rsi single-def
+; V02 loc0 [V02,T00] ( 7, 6 ) long -> r15
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04,T05] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V05 tmp2 [V05,T06] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
-; V06 tmp3 [V06,T02] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V07 tmp4 [V07,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V08 tmp5 [V08,T07] ( 2, 0 ) ref -> r15 single-def "argument with side effect"
-; V09 tmp6 [V09,T08] ( 2, 0 ) ref -> rdx single-def "argument with side effect"
+; V04 tmp1 [V04,T02] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V05 tmp2 [V05,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
;
; Lcl frame size = 0
G_M968_IG01:
push rbp
push r15
push rbx
lea rbp, [rsp+0x10]
- mov r15, rdi
- mov ebx, esi
- ;; size=14 bbWeight=1 PerfScore 4.00
+ mov rbx, rdi
+ ;; size=12 bbWeight=1 PerfScore 3.75
G_M968_IG02:
- test ebx, ebx
- jl G_M968_IG07
- movsxd rbx, ebx
- inc rbx
- mov rdi, gword ptr [r15+0x10]
+ test esi, esi
+ jl SHORT G_M968_IG07
+ inc esi
+ mov r15d, esi
+ mov rdi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.EncoderFallback:get_MaxCharCount():int:this
cmp eax, 1
jle SHORT G_M968_IG04
- ;; size=33 bbWeight=1 PerfScore 12.00
+ ;; size=28 bbWeight=1 PerfScore 12.00
G_M968_IG03:
- mov rdi, gword ptr [r15+0x10]
+ mov rdi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.EncoderFallback:get_MaxCharCount():int:this
- cdqe
- imul rbx, rax
+ mov eax, eax
+ imul r15, rax
;; size=20 bbWeight=0.50 PerfScore 5.62
G_M968_IG04:
- lea rbx, [rbx+2*rbx]
- cmp rbx, 0xD1FFAB1E
- jg SHORT G_M968_IG06
- mov eax, ebx
- ;; size=15 bbWeight=1 PerfScore 2.00
+ lea r15, [r15+2*r15]
+ cmp r15, 0xD1FFAB1E
+ ja SHORT G_M968_IG06
+ mov eax, r15d
+ ;; size=16 bbWeight=1 PerfScore 2.00
G_M968_IG05:
pop rbx
pop r15
pop rbp
ret
;; size=5 bbWeight=1 PerfScore 2.50
G_M968_IG06:
- mov rdi, 0xD1FFAB1E ; System.ArgumentOutOfRangeException
- call CORINFO_HELP_NEWSFAST
- mov rbx, rax
- mov edi, 0x1359A
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov r15, rax
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- mov rdx, rax
- mov rsi, r15
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- call [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- mov rdi, rbx
- call CORINFO_HELP_THROW
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
int3
- ;; size=83 bbWeight=0 PerfScore 0.00
+ ;; size=18 bbWeight=0 PerfScore 0.00
G_M968_IG07:
- mov edi, 0x1359A
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov rsi, rax
- mov edi, ebx
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
- call [rax]System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
int3
- ;; size=38 bbWeight=0 PerfScore 0.00
+ ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 208, prolog size 9, PerfScore 26.12, instruction count 55, allocated bytes for code 208 (MethodHash=34fdfc37) for method System.Text.UTF8Encoding:GetMaxByteCount(int):int:this (FullOpts)
+; Total bytes of code 117, prolog size 9, PerfScore 25.88, instruction count 37, allocated bytes for code 117 (MethodHash=34fdfc37) for method System.Text.UTF8Encoding:GetMaxByteCount(int):int:this (FullOpts)
; ============================================================ -87 (-47.80 % of base) - System.Text.UTF8Encoding:GetMaxCharCount(int):int:this ; Assembly listing for method System.Text.UTF8Encoding:GetMaxCharCount(int):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T02] ( 4, 3.50) ref -> r15 this class-hnd single-def <System.Text.UTF8Encoding>
-; V01 arg1 [V01,T00] ( 4, 4 ) int -> rbx single-def
-; V02 loc0 [V02,T03] ( 5, 4 ) long -> rbx
+; V00 this [V00,T02] ( 4, 3.50) ref -> rbx this class-hnd single-def <System.Text.UTF8Encoding>
+; V01 arg1 [V01,T00] ( 4, 4 ) int -> rsi single-def
+; V02 loc0 [V02,T03] ( 5, 4 ) long -> r15
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04,T05] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V05 tmp2 [V05,T01] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V06 tmp3 [V06,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V07 tmp4 [V07,T06] ( 2, 0 ) ref -> r15 single-def "argument with side effect"
-; V08 tmp5 [V08,T07] ( 2, 0 ) ref -> rdx single-def "argument with side effect"
+; V04 tmp1 [V04,T01] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V05 tmp2 [V05,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
;
; Lcl frame size = 0
G_M3994_IG01:
push rbp
push r15
push rbx
lea rbp, [rsp+0x10]
- mov r15, rdi
- mov ebx, esi
- ;; size=14 bbWeight=1 PerfScore 4.00
+ mov rbx, rdi
+ ;; size=12 bbWeight=1 PerfScore 3.75
G_M3994_IG02:
- mov edi, ebx
- mov rsi, 0xD1FFAB1E ; 'byteCount'
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- call [rax]System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- movsxd rbx, ebx
- inc rbx
- mov rdi, gword ptr [r15+0x18]
+ test esi, esi
+ jl SHORT G_M3994_IG06
+ inc esi
+ mov r15d, esi
+ mov rdi, gword ptr [rbx+0x18]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.DecoderFallback:get_MaxCharCount():int:this
cmp eax, 1
jle SHORT G_M3994_IG04
- ;; size=49 bbWeight=1 PerfScore 14.50
+ ;; size=28 bbWeight=1 PerfScore 12.00
G_M3994_IG03:
- mov rdi, gword ptr [r15+0x18]
+ mov rdi, gword ptr [rbx+0x18]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.DecoderFallback:get_MaxCharCount():int:this
- cdqe
- imul rbx, rax
+ mov eax, eax
+ imul r15, rax
;; size=20 bbWeight=0.50 PerfScore 5.62
G_M3994_IG04:
- cmp rbx, 0xD1FFAB1E
- jg SHORT G_M3994_IG06
- mov eax, ebx
- ;; size=11 bbWeight=1 PerfScore 1.50
+ cmp r15, 0xD1FFAB1E
+ ja SHORT G_M3994_IG06
+ mov eax, r15d
+ ;; size=12 bbWeight=1 PerfScore 1.50
G_M3994_IG05:
pop rbx
pop r15
pop rbp
ret
;; size=5 bbWeight=1 PerfScore 2.50
G_M3994_IG06:
- mov rdi, 0xD1FFAB1E ; System.ArgumentOutOfRangeException
- call CORINFO_HELP_NEWSFAST
- mov rbx, rax
- mov edi, 0x13560
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov r15, rax
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_GetCharCountOverflow():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_GetCharCountOverflow():System.String
- mov rdx, rax
- mov rsi, r15
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- call [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- mov rdi, rbx
- call CORINFO_HELP_THROW
+ mov edi, 12
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
int3
- ;; size=83 bbWeight=0 PerfScore 0.00
+ ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 182, prolog size 9, PerfScore 28.12, instruction count 48, allocated bytes for code 182 (MethodHash=c513f065) for method System.Text.UTF8Encoding:GetMaxCharCount(int):int:this (FullOpts)
+; Total bytes of code 95, prolog size 9, PerfScore 25.38, instruction count 32, allocated bytes for code 95 (MethodHash=c513f065) for method System.Text.UTF8Encoding:GetMaxCharCount(int):int:this (FullOpts)
; ============================================================ -78 (-54.93 % of base) - System.Text.UTF7Encoding:GetMaxByteCount(int):int:this ; Assembly listing for method System.Text.UTF7Encoding:GetMaxByteCount(int):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def <System.Text.UTF7Encoding>
-; V01 arg1 [V01,T00] ( 4, 4 ) int -> rbx single-def
+; V01 arg1 [V01,T00] ( 4, 4 ) int -> rsi single-def
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V03 tmp1 [V03,T01] ( 3, 6 ) long -> rax "dup spill"
;* V04 tmp2 [V04 ] ( 0, 0 ) long -> zero-ref
-; V05 tmp3 [V05,T02] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V06 tmp4 [V06,T03] ( 2, 0 ) ref -> r15 single-def "argument with side effect"
-; V07 tmp5 [V07,T04] ( 2, 0 ) ref -> rdx single-def "argument with side effect"
;
; Lcl frame size = 0
G_M55111_IG01:
push rbp
- push r15
- push rbx
- lea rbp, [rsp+0x10]
- mov ebx, esi
- ;; size=11 bbWeight=1 PerfScore 3.75
+ mov rbp, rsp
+ ;; size=4 bbWeight=1 PerfScore 1.25
G_M55111_IG02:
- mov edi, ebx
- mov rsi, 0xD1FFAB1E ; 'charCount'
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- call [rax]System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- movsxd rax, ebx
+ test esi, esi
+ jl SHORT G_M55111_IG05
+ mov eax, esi
lea rax, [rax+2*rax]
add rax, 2
cmp rax, 0xD1FFAB1E
- jg SHORT G_M55111_IG04
- ;; size=43 bbWeight=1 PerfScore 6.00
+ ja SHORT G_M55111_IG04
+ ;; size=22 bbWeight=1 PerfScore 3.50
G_M55111_IG03:
- pop rbx
- pop r15
pop rbp
ret
- ;; size=5 bbWeight=1 PerfScore 2.50
+ ;; size=2 bbWeight=1 PerfScore 1.50
G_M55111_IG04:
- mov rdi, 0xD1FFAB1E ; System.ArgumentOutOfRangeException
- call CORINFO_HELP_NEWSFAST
- mov rbx, rax
- mov edi, 0x1359A
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov r15, rax
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- mov rdx, rax
- mov rsi, r15
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- call [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- mov rdi, rbx
- call CORINFO_HELP_THROW
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
int3
- ;; size=83 bbWeight=0 PerfScore 0.00
+ ;; size=18 bbWeight=0 PerfScore 0.00
+G_M55111_IG05:
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ int3
+ ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 142, prolog size 9, PerfScore 12.25, instruction count 35, allocated bytes for code 142 (MethodHash=959428b8) for method System.Text.UTF7Encoding:GetMaxByteCount(int):int:this (FullOpts)
+; Total bytes of code 64, prolog size 4, PerfScore 6.25, instruction count 19, allocated bytes for code 64 (MethodHash=959428b8) for method System.Text.UTF7Encoding:GetMaxByteCount(int):int:this (FullOpts)
; ============================================================ -72 (-37.11 % of base) - System.Text.UnicodeEncoding:GetMaxCharCount(int):int:this ; Assembly listing for method System.Text.UnicodeEncoding:GetMaxCharCount(int):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T02] ( 4, 3.50) ref -> r15 this class-hnd single-def <System.Text.UnicodeEncoding>
-; V01 arg1 [V01,T00] ( 5, 5 ) int -> rbx single-def
-; V02 loc0 [V02,T03] ( 5, 4 ) long -> rbx
+; V00 this [V00,T02] ( 4, 3.50) ref -> rbx this class-hnd single-def <System.Text.UnicodeEncoding>
+; V01 arg1 [V01,T00] ( 5, 5 ) int -> rsi single-def
+; V02 loc0 [V02,T03] ( 5, 4 ) long -> r15
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04,T05] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V05 tmp2 [V05,T01] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V06 tmp3 [V06,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V07 tmp4 [V07,T06] ( 2, 0 ) ref -> r15 single-def "argument with side effect"
-; V08 tmp5 [V08,T07] ( 2, 0 ) ref -> rdx single-def "argument with side effect"
+; V04 tmp1 [V04,T01] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V05 tmp2 [V05,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
;
; Lcl frame size = 0
G_M51226_IG01:
push rbp
push r15
push rbx
lea rbp, [rsp+0x10]
- mov r15, rdi
- mov ebx, esi
- ;; size=14 bbWeight=1 PerfScore 4.00
+ mov rbx, rdi
+ ;; size=12 bbWeight=1 PerfScore 3.75
G_M51226_IG02:
- mov edi, ebx
- mov rsi, 0xD1FFAB1E ; 'byteCount'
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- call [rax]System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- mov edi, ebx
+ test esi, esi
+ jl SHORT G_M51226_IG07
+ mov edi, esi
sar edi, 1
- movsxd rdi, edi
- and ebx, 1
- movsxd rax, ebx
- lea rbx, [rdi+rax+0x01]
- mov rdi, gword ptr [r15+0x18]
+ and esi, 1
+ lea edi, [rdi+rsi+0x01]
+ mov r15d, edi
+ mov rdi, gword ptr [rbx+0x18]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.DecoderFallback:get_MaxCharCount():int:this
cmp eax, 1
jle SHORT G_M51226_IG04
- ;; size=61 bbWeight=1 PerfScore 16.50
+ ;; size=37 bbWeight=1 PerfScore 13.75
G_M51226_IG03:
- mov rdi, gword ptr [r15+0x18]
+ mov rdi, gword ptr [rbx+0x18]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.DecoderFallback:get_MaxCharCount():int:this
- cdqe
- imul rbx, rax
+ mov eax, eax
+ imul r15, rax
;; size=20 bbWeight=0.50 PerfScore 5.62
G_M51226_IG04:
- cmp rbx, 0xD1FFAB1E
- jg SHORT G_M51226_IG06
- mov eax, ebx
- ;; size=11 bbWeight=1 PerfScore 1.50
+ cmp r15, 0xD1FFAB1E
+ ja SHORT G_M51226_IG06
+ mov eax, r15d
+ ;; size=12 bbWeight=1 PerfScore 1.50
G_M51226_IG05:
pop rbx
pop r15
pop rbp
ret
;; size=5 bbWeight=1 PerfScore 2.50
G_M51226_IG06:
- mov rdi, 0xD1FFAB1E ; System.ArgumentOutOfRangeException
- call CORINFO_HELP_NEWSFAST
- mov rbx, rax
- mov edi, 0x13560
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov r15, rax
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_GetCharCountOverflow():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_GetCharCountOverflow():System.String
- mov rdx, rax
- mov rsi, r15
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- call [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- mov rdi, rbx
- call CORINFO_HELP_THROW
+ mov edi, 12
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
int3
- ;; size=83 bbWeight=0 PerfScore 0.00
+ ;; size=18 bbWeight=0 PerfScore 0.00
+G_M51226_IG07:
+ mov edi, 12
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ int3
+ ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 194, prolog size 9, PerfScore 30.12, instruction count 52, allocated bytes for code 194 (MethodHash=865a37e5) for method System.Text.UnicodeEncoding:GetMaxCharCount(int):int:this (FullOpts)
+; Total bytes of code 122, prolog size 9, PerfScore 27.12, instruction count 39, allocated bytes for code 122 (MethodHash=865a37e5) for method System.Text.UnicodeEncoding:GetMaxCharCount(int):int:this (FullOpts)
; ============================================================ -69 (-37.91 % of base) - System.Text.ASCIIEncoding:GetMaxByteCount(int):int:this ; Assembly listing for method System.Text.ASCIIEncoding:GetMaxByteCount(int):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T02] ( 4, 3.50) ref -> r15 this class-hnd single-def <System.Text.ASCIIEncoding>
-; V01 arg1 [V01,T00] ( 4, 4 ) int -> rbx single-def
-; V02 loc0 [V02,T03] ( 5, 4 ) long -> rbx
+; V00 this [V00,T02] ( 4, 3.50) ref -> rbx this class-hnd single-def <System.Text.ASCIIEncoding>
+; V01 arg1 [V01,T00] ( 4, 4 ) int -> rsi single-def
+; V02 loc0 [V02,T03] ( 5, 4 ) long -> r15
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04,T05] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V05 tmp2 [V05,T01] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V06 tmp3 [V06,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V07 tmp4 [V07,T06] ( 2, 0 ) ref -> r15 single-def "argument with side effect"
-; V08 tmp5 [V08,T07] ( 2, 0 ) ref -> rdx single-def "argument with side effect"
+; V04 tmp1 [V04,T01] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V05 tmp2 [V05,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
;
; Lcl frame size = 0
G_M61094_IG01:
push rbp
push r15
push rbx
lea rbp, [rsp+0x10]
- mov r15, rdi
- mov ebx, esi
- ;; size=14 bbWeight=1 PerfScore 4.00
+ mov rbx, rdi
+ ;; size=12 bbWeight=1 PerfScore 3.75
G_M61094_IG02:
- mov edi, ebx
- mov rsi, 0xD1FFAB1E ; 'charCount'
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- call [rax]System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- movsxd rbx, ebx
- inc rbx
- mov rdi, gword ptr [r15+0x10]
+ test esi, esi
+ jl SHORT G_M61094_IG07
+ inc esi
+ mov r15d, esi
+ mov rdi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.EncoderFallback:get_MaxCharCount():int:this
cmp eax, 1
jle SHORT G_M61094_IG04
- ;; size=49 bbWeight=1 PerfScore 14.50
+ ;; size=28 bbWeight=1 PerfScore 12.00
G_M61094_IG03:
- mov rdi, gword ptr [r15+0x10]
+ mov rdi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.EncoderFallback:get_MaxCharCount():int:this
- cdqe
- imul rbx, rax
+ mov eax, eax
+ imul r15, rax
;; size=20 bbWeight=0.50 PerfScore 5.62
G_M61094_IG04:
- cmp rbx, 0xD1FFAB1E
- jg SHORT G_M61094_IG06
- mov eax, ebx
- ;; size=11 bbWeight=1 PerfScore 1.50
+ cmp r15, 0xD1FFAB1E
+ ja SHORT G_M61094_IG06
+ mov eax, r15d
+ ;; size=12 bbWeight=1 PerfScore 1.50
G_M61094_IG05:
pop rbx
pop r15
pop rbp
ret
;; size=5 bbWeight=1 PerfScore 2.50
G_M61094_IG06:
- mov rdi, 0xD1FFAB1E ; System.ArgumentOutOfRangeException
- call CORINFO_HELP_NEWSFAST
- mov rbx, rax
- mov edi, 0x1359A
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov r15, rax
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- mov rdx, rax
- mov rsi, r15
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- call [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- mov rdi, rbx
- call CORINFO_HELP_THROW
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_GetByteCountOverflow(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_GetByteCountOverflow(int)
int3
- ;; size=83 bbWeight=0 PerfScore 0.00
+ ;; size=18 bbWeight=0 PerfScore 0.00
+G_M61094_IG07:
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ int3
+ ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 182, prolog size 9, PerfScore 28.12, instruction count 48, allocated bytes for code 182 (MethodHash=68321159) for method System.Text.ASCIIEncoding:GetMaxByteCount(int):int:this (FullOpts)
+; Total bytes of code 113, prolog size 9, PerfScore 25.38, instruction count 36, allocated bytes for code 113 (MethodHash=68321159) for method System.Text.ASCIIEncoding:GetMaxByteCount(int):int:this (FullOpts)
; ============================================================ -69 (-37.91 % of base) - System.Text.Latin1Encoding:GetMaxByteCount(int):int:this ; Assembly listing for method System.Text.Latin1Encoding:GetMaxByteCount(int):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T02] ( 4, 3.50) ref -> r15 this class-hnd single-def <System.Text.Latin1Encoding>
-; V01 arg1 [V01,T00] ( 4, 4 ) int -> rbx single-def
-; V02 loc0 [V02,T03] ( 5, 4 ) long -> rbx
+; V00 this [V00,T02] ( 4, 3.50) ref -> rbx this class-hnd single-def <System.Text.Latin1Encoding>
+; V01 arg1 [V01,T00] ( 4, 4 ) int -> rsi single-def
+; V02 loc0 [V02,T03] ( 5, 4 ) long -> r15
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04,T05] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V05 tmp2 [V05,T01] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V06 tmp3 [V06,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V07 tmp4 [V07,T06] ( 2, 0 ) ref -> r15 single-def "argument with side effect"
-; V08 tmp5 [V08,T07] ( 2, 0 ) ref -> rdx single-def "argument with side effect"
+; V04 tmp1 [V04,T01] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V05 tmp2 [V05,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
;
; Lcl frame size = 0
G_M55608_IG01:
push rbp
push r15
push rbx
lea rbp, [rsp+0x10]
- mov r15, rdi
- mov ebx, esi
- ;; size=14 bbWeight=1 PerfScore 4.00
+ mov rbx, rdi
+ ;; size=12 bbWeight=1 PerfScore 3.75
G_M55608_IG02:
- mov edi, ebx
- mov rsi, 0xD1FFAB1E ; 'charCount'
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- call [rax]System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- movsxd rbx, ebx
- inc rbx
- mov rdi, gword ptr [r15+0x10]
+ test esi, esi
+ jl SHORT G_M55608_IG07
+ inc esi
+ mov r15d, esi
+ mov rdi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.EncoderFallback:get_MaxCharCount():int:this
cmp eax, 1
jle SHORT G_M55608_IG04
- ;; size=49 bbWeight=1 PerfScore 14.50
+ ;; size=28 bbWeight=1 PerfScore 12.00
G_M55608_IG03:
- mov rdi, gword ptr [r15+0x10]
+ mov rdi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.EncoderFallback:get_MaxCharCount():int:this
- cdqe
- imul rbx, rax
+ mov eax, eax
+ imul r15, rax
;; size=20 bbWeight=0.50 PerfScore 5.62
G_M55608_IG04:
- cmp rbx, 0xD1FFAB1E
- jg SHORT G_M55608_IG06
- mov eax, ebx
- ;; size=11 bbWeight=1 PerfScore 1.50
+ cmp r15, 0xD1FFAB1E
+ ja SHORT G_M55608_IG06
+ mov eax, r15d
+ ;; size=12 bbWeight=1 PerfScore 1.50
G_M55608_IG05:
pop rbx
pop r15
pop rbp
ret
;; size=5 bbWeight=1 PerfScore 2.50
G_M55608_IG06:
- mov rdi, 0xD1FFAB1E ; System.ArgumentOutOfRangeException
- call CORINFO_HELP_NEWSFAST
- mov rbx, rax
- mov edi, 0x1359A
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov r15, rax
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- mov rdx, rax
- mov rsi, r15
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- call [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- mov rdi, rbx
- call CORINFO_HELP_THROW
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_GetByteCountOverflow(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_GetByteCountOverflow(int)
int3
- ;; size=83 bbWeight=0 PerfScore 0.00
+ ;; size=18 bbWeight=0 PerfScore 0.00
+G_M55608_IG07:
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ int3
+ ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 182, prolog size 9, PerfScore 28.12, instruction count 48, allocated bytes for code 182 (MethodHash=7aa826c7) for method System.Text.Latin1Encoding:GetMaxByteCount(int):int:this (FullOpts)
+; Total bytes of code 113, prolog size 9, PerfScore 25.38, instruction count 36, allocated bytes for code 113 (MethodHash=7aa826c7) for method System.Text.Latin1Encoding:GetMaxByteCount(int):int:this (FullOpts)
; ============================================================ -69 (-37.30 % of base) - System.Text.UnicodeEncoding:GetMaxByteCount(int):int:this ; Assembly listing for method System.Text.UnicodeEncoding:GetMaxByteCount(int):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T03] ( 4, 3.50) ref -> r15 this class-hnd single-def <System.Text.UnicodeEncoding>
-; V01 arg1 [V01,T01] ( 4, 4 ) int -> rbx single-def
-; V02 loc0 [V02,T00] ( 7, 6 ) long -> rbx
+; V00 this [V00,T03] ( 4, 3.50) ref -> rbx this class-hnd single-def <System.Text.UnicodeEncoding>
+; V01 arg1 [V01,T01] ( 4, 4 ) int -> rsi single-def
+; V02 loc0 [V02,T00] ( 7, 6 ) long -> r15
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04,T05] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V05 tmp2 [V05,T02] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V06 tmp3 [V06,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V07 tmp4 [V07,T06] ( 2, 0 ) ref -> r15 single-def "argument with side effect"
-; V08 tmp5 [V08,T07] ( 2, 0 ) ref -> rdx single-def "argument with side effect"
+; V04 tmp1 [V04,T02] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V05 tmp2 [V05,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
;
; Lcl frame size = 0
G_M48200_IG01:
push rbp
push r15
push rbx
lea rbp, [rsp+0x10]
- mov r15, rdi
- mov ebx, esi
- ;; size=14 bbWeight=1 PerfScore 4.00
+ mov rbx, rdi
+ ;; size=12 bbWeight=1 PerfScore 3.75
G_M48200_IG02:
- mov edi, ebx
- mov rsi, 0xD1FFAB1E ; 'charCount'
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- call [rax]System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- movsxd rbx, ebx
- inc rbx
- mov rdi, gword ptr [r15+0x10]
+ test esi, esi
+ jl SHORT G_M48200_IG07
+ inc esi
+ mov r15d, esi
+ mov rdi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.EncoderFallback:get_MaxCharCount():int:this
cmp eax, 1
jle SHORT G_M48200_IG04
- ;; size=49 bbWeight=1 PerfScore 14.50
+ ;; size=28 bbWeight=1 PerfScore 12.00
G_M48200_IG03:
- mov rdi, gword ptr [r15+0x10]
+ mov rdi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.EncoderFallback:get_MaxCharCount():int:this
- cdqe
- imul rbx, rax
+ mov eax, eax
+ imul r15, rax
;; size=20 bbWeight=0.50 PerfScore 5.62
G_M48200_IG04:
- add rbx, rbx
- cmp rbx, 0xD1FFAB1E
- jg SHORT G_M48200_IG06
- mov eax, ebx
- ;; size=14 bbWeight=1 PerfScore 1.75
+ add r15, r15
+ cmp r15, 0xD1FFAB1E
+ ja SHORT G_M48200_IG06
+ mov eax, r15d
+ ;; size=15 bbWeight=1 PerfScore 1.75
G_M48200_IG05:
pop rbx
pop r15
pop rbp
ret
;; size=5 bbWeight=1 PerfScore 2.50
G_M48200_IG06:
- mov rdi, 0xD1FFAB1E ; System.ArgumentOutOfRangeException
- call CORINFO_HELP_NEWSFAST
- mov rbx, rax
- mov edi, 0x1359A
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov r15, rax
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- mov rdx, rax
- mov rsi, r15
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- call [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- mov rdi, rbx
- call CORINFO_HELP_THROW
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_GetByteCountOverflow(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_GetByteCountOverflow(int)
int3
- ;; size=83 bbWeight=0 PerfScore 0.00
+ ;; size=18 bbWeight=0 PerfScore 0.00
+G_M48200_IG07:
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ int3
+ ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 185, prolog size 9, PerfScore 28.38, instruction count 49, allocated bytes for code 185 (MethodHash=f64443b7) for method System.Text.UnicodeEncoding:GetMaxByteCount(int):int:this (FullOpts)
+; Total bytes of code 116, prolog size 9, PerfScore 25.62, instruction count 37, allocated bytes for code 116 (MethodHash=f64443b7) for method System.Text.UnicodeEncoding:GetMaxByteCount(int):int:this (FullOpts)
; ============================================================ -69 (-37.10 % of base) - System.Text.UTF32Encoding:GetMaxByteCount(int):int:this ; Assembly listing for method System.Text.UTF32Encoding:GetMaxByteCount(int):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T03] ( 4, 3.50) ref -> r15 this class-hnd single-def <System.Text.UTF32Encoding>
-; V01 arg1 [V01,T01] ( 4, 4 ) int -> rbx single-def
-; V02 loc0 [V02,T00] ( 7, 6 ) long -> rbx
+; V00 this [V00,T03] ( 4, 3.50) ref -> rbx this class-hnd single-def <System.Text.UTF32Encoding>
+; V01 arg1 [V01,T01] ( 4, 4 ) int -> rsi single-def
+; V02 loc0 [V02,T00] ( 7, 6 ) long -> r15
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04,T05] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V05 tmp2 [V05,T02] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V06 tmp3 [V06,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V07 tmp4 [V07,T06] ( 2, 0 ) ref -> r15 single-def "argument with side effect"
-; V08 tmp5 [V08,T07] ( 2, 0 ) ref -> rdx single-def "argument with side effect"
+; V04 tmp1 [V04,T02] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V05 tmp2 [V05,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
;
; Lcl frame size = 0
G_M21713_IG01:
push rbp
push r15
push rbx
lea rbp, [rsp+0x10]
- mov r15, rdi
- mov ebx, esi
- ;; size=14 bbWeight=1 PerfScore 4.00
+ mov rbx, rdi
+ ;; size=12 bbWeight=1 PerfScore 3.75
G_M21713_IG02:
- mov edi, ebx
- mov rsi, 0xD1FFAB1E ; 'charCount'
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- call [rax]System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- movsxd rbx, ebx
- inc rbx
- mov rdi, gword ptr [r15+0x10]
+ test esi, esi
+ jl SHORT G_M21713_IG07
+ inc esi
+ mov r15d, esi
+ mov rdi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.EncoderFallback:get_MaxCharCount():int:this
cmp eax, 1
jle SHORT G_M21713_IG04
- ;; size=49 bbWeight=1 PerfScore 14.50
+ ;; size=28 bbWeight=1 PerfScore 12.00
G_M21713_IG03:
- mov rdi, gword ptr [r15+0x10]
+ mov rdi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.EncoderFallback:get_MaxCharCount():int:this
- cdqe
- imul rbx, rax
+ mov eax, eax
+ imul r15, rax
;; size=20 bbWeight=0.50 PerfScore 5.62
G_M21713_IG04:
- shl rbx, 2
- cmp rbx, 0xD1FFAB1E
- jg SHORT G_M21713_IG06
- mov eax, ebx
- ;; size=15 bbWeight=1 PerfScore 2.00
+ shl r15, 2
+ cmp r15, 0xD1FFAB1E
+ ja SHORT G_M21713_IG06
+ mov eax, r15d
+ ;; size=16 bbWeight=1 PerfScore 2.00
G_M21713_IG05:
pop rbx
pop r15
pop rbp
ret
;; size=5 bbWeight=1 PerfScore 2.50
G_M21713_IG06:
- mov rdi, 0xD1FFAB1E ; System.ArgumentOutOfRangeException
- call CORINFO_HELP_NEWSFAST
- mov rbx, rax
- mov edi, 0x1359A
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov r15, rax
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- mov rdx, rax
- mov rsi, r15
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- call [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- mov rdi, rbx
- call CORINFO_HELP_THROW
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_GetByteCountOverflow(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_GetByteCountOverflow(int)
int3
- ;; size=83 bbWeight=0 PerfScore 0.00
+ ;; size=18 bbWeight=0 PerfScore 0.00
+G_M21713_IG07:
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ int3
+ ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 186, prolog size 9, PerfScore 28.62, instruction count 49, allocated bytes for code 186 (MethodHash=fbc0ab2e) for method System.Text.UTF32Encoding:GetMaxByteCount(int):int:this (FullOpts)
+; Total bytes of code 117, prolog size 9, PerfScore 25.88, instruction count 37, allocated bytes for code 117 (MethodHash=fbc0ab2e) for method System.Text.UTF32Encoding:GetMaxByteCount(int):int:this (FullOpts)
; ============================================================ -68 (-37.99 % of base) - System.Text.ASCIIEncoding:GetMaxCharCount(int):int:this ; Assembly listing for method System.Text.ASCIIEncoding:GetMaxCharCount(int):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T02] ( 4, 3.50) ref -> r15 this class-hnd single-def <System.Text.ASCIIEncoding>
-; V01 arg1 [V01,T00] ( 4, 4 ) int -> rbx single-def
-; V02 loc0 [V02,T03] ( 5, 4 ) long -> rbx
+; V00 this [V00,T02] ( 4, 3.50) ref -> rbx this class-hnd single-def <System.Text.ASCIIEncoding>
+; V01 arg1 [V01,T00] ( 4, 4 ) int -> rsi single-def
+; V02 loc0 [V02,T03] ( 5, 4 ) long -> r15
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04,T05] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V05 tmp2 [V05,T01] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V06 tmp3 [V06,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V07 tmp4 [V07,T06] ( 2, 0 ) ref -> r15 single-def "argument with side effect"
-; V08 tmp5 [V08,T07] ( 2, 0 ) ref -> rdx single-def "argument with side effect"
+; V04 tmp1 [V04,T01] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V05 tmp2 [V05,T04] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
;
; Lcl frame size = 0
G_M27380_IG01:
push rbp
push r15
push rbx
lea rbp, [rsp+0x10]
- mov r15, rdi
- mov ebx, esi
- ;; size=14 bbWeight=1 PerfScore 4.00
+ mov rbx, rdi
+ ;; size=12 bbWeight=1 PerfScore 3.75
G_M27380_IG02:
- mov edi, ebx
- mov rsi, 0xD1FFAB1E ; 'byteCount'
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- call [rax]System.ArgumentOutOfRangeException:ThrowIfNegative[int](int,System.String)
- movsxd rbx, ebx
- mov rdi, gword ptr [r15+0x18]
+ test esi, esi
+ jl SHORT G_M27380_IG07
+ mov r15d, esi
+ mov rdi, gword ptr [rbx+0x18]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.DecoderFallback:get_MaxCharCount():int:this
cmp eax, 1
jle SHORT G_M27380_IG04
- ;; size=46 bbWeight=1 PerfScore 14.25
+ ;; size=26 bbWeight=1 PerfScore 11.75
G_M27380_IG03:
- mov rdi, gword ptr [r15+0x18]
+ mov rdi, gword ptr [rbx+0x18]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Text.DecoderFallback:get_MaxCharCount():int:this
- cdqe
- imul rbx, rax
+ mov eax, eax
+ imul r15, rax
;; size=20 bbWeight=0.50 PerfScore 5.62
G_M27380_IG04:
- cmp rbx, 0xD1FFAB1E
- jg SHORT G_M27380_IG06
- mov eax, ebx
- ;; size=11 bbWeight=1 PerfScore 1.50
+ cmp r15, 0xD1FFAB1E
+ ja SHORT G_M27380_IG06
+ mov eax, r15d
+ ;; size=12 bbWeight=1 PerfScore 1.50
G_M27380_IG05:
pop rbx
pop r15
pop rbp
ret
;; size=5 bbWeight=1 PerfScore 2.50
G_M27380_IG06:
- mov rdi, 0xD1FFAB1E ; System.ArgumentOutOfRangeException
- call CORINFO_HELP_NEWSFAST
- mov rbx, rax
- mov edi, 0x13560
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov r15, rax
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_GetCharCountOverflow():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_GetCharCountOverflow():System.String
- mov rdx, rax
- mov rsi, r15
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- call [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- mov rdi, rbx
- call CORINFO_HELP_THROW
+ mov edi, 12
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
int3
- ;; size=83 bbWeight=0 PerfScore 0.00
+ ;; size=18 bbWeight=0 PerfScore 0.00
+G_M27380_IG07:
+ mov edi, 12
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ int3
+ ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 179, prolog size 9, PerfScore 27.88, instruction count 47, allocated bytes for code 179 (MethodHash=fda6950b) for method System.Text.ASCIIEncoding:GetMaxCharCount(int):int:this (FullOpts)
+; Total bytes of code 111, prolog size 9, PerfScore 25.12, instruction count 35, allocated bytes for code 111 (MethodHash=fda6950b) for method System.Text.ASCIIEncoding:GetMaxCharCount(int):int:this (FullOpts)
; ============================================================ -56 (-56.00 % of base) - System.Text.UTF8Encoding+UTF8EncodingSealed:g__ThrowArgumentException|7_0(int) ; Assembly listing for method System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxByteCount>g__ThrowArgumentException|7_0(int) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 3, 2 ) int -> rdi single-def
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1 [V02 ] ( 0, 0 ) ref -> zero-ref
-;* V03 tmp2 [V03 ] ( 0, 0 ) ref -> zero-ref single-def
-; V04 tmp3 [V04,T01] ( 3, 0 ) ref -> rbx
-; V05 tmp4 [V05,T02] ( 3, 0 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
;
; Lcl frame size = 0
G_M17667_IG01:
push rbp
- push r15
- push rbx
- lea rbp, [rsp+0x10]
- ;; size=9 bbWeight=0 PerfScore 0.00
+ mov rbp, rsp
+ ;; size=4 bbWeight=0 PerfScore 0.00
G_M17667_IG02:
test edi, edi
- jge SHORT G_M17667_IG03
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_NeedNonNegNum():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_NeedNonNegNum():System.String
- mov rbx, rax
- jmp SHORT G_M17667_IG04
- ;; size=21 bbWeight=0 PerfScore 0.00
-G_M17667_IG03:
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_GetByteCountOverflow():System.String
- mov rbx, rax
- ;; size=15 bbWeight=0 PerfScore 0.00
-G_M17667_IG04:
- mov rdi, 0xD1FFAB1E ; System.ArgumentOutOfRangeException
- call CORINFO_HELP_NEWSFAST
- mov r15, rax
- mov rdi, r15
- mov rdx, rbx
- mov rsi, 0xD1FFAB1E ; 'charCount'
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- call [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- mov rdi, r15
- call CORINFO_HELP_THROW
+ jl SHORT G_M17667_IG03
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_GetByteCountOverflow(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_GetByteCountOverflow(int)
int3
- ;; size=55 bbWeight=0 PerfScore 0.00
+ ;; size=22 bbWeight=0 PerfScore 0.00
+G_M17667_IG03:
+ mov edi, 16
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ int3
+ ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 100, prolog size 9, PerfScore 0.00, instruction count 24, allocated bytes for code 100 (MethodHash=0152bafc) for method System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxByteCount>g__ThrowArgumentException|7_0(int) (FullOpts)
+; Total bytes of code 44, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 44 (MethodHash=0152bafc) for method System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxByteCount>g__ThrowArgumentException|7_0(int) (FullOpts)
; ============================================================ -56 (-56.00 % of base) - System.Text.UTF8Encoding+UTF8EncodingSealed:g__ThrowArgumentException|8_0(int) ; Assembly listing for method System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxCharCount>g__ThrowArgumentException|8_0(int) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 3, 2 ) int -> rdi single-def
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V02 tmp1 [V02 ] ( 0, 0 ) ref -> zero-ref
-;* V03 tmp2 [V03 ] ( 0, 0 ) ref -> zero-ref single-def
-; V04 tmp3 [V04,T01] ( 3, 0 ) ref -> rbx
-; V05 tmp4 [V05,T02] ( 3, 0 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
;
; Lcl frame size = 0
G_M49342_IG01:
push rbp
- push r15
- push rbx
- lea rbp, [rsp+0x10]
- ;; size=9 bbWeight=0 PerfScore 0.00
+ mov rbp, rsp
+ ;; size=4 bbWeight=0 PerfScore 0.00
G_M49342_IG02:
test edi, edi
- jge SHORT G_M49342_IG03
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_NeedNonNegNum():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_NeedNonNegNum():System.String
- mov rbx, rax
- jmp SHORT G_M49342_IG04
- ;; size=21 bbWeight=0 PerfScore 0.00
-G_M49342_IG03:
- mov rax, 0xD1FFAB1E ; code for System.SR:get_ArgumentOutOfRange_GetCharCountOverflow():System.String
- call [rax]System.SR:get_ArgumentOutOfRange_GetCharCountOverflow():System.String
- mov rbx, rax
- ;; size=15 bbWeight=0 PerfScore 0.00
-G_M49342_IG04:
- mov rdi, 0xD1FFAB1E ; System.ArgumentOutOfRangeException
- call CORINFO_HELP_NEWSFAST
- mov r15, rax
- mov rdi, r15
- mov rdx, rbx
- mov rsi, 0xD1FFAB1E ; 'byteCount'
- mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- call [rax]System.ArgumentOutOfRangeException:.ctor(System.String,System.String):this
- mov rdi, r15
- call CORINFO_HELP_THROW
+ jl SHORT G_M49342_IG03
+ mov edi, 12
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_GetCharCountOverflow(int)
int3
- ;; size=55 bbWeight=0 PerfScore 0.00
+ ;; size=22 bbWeight=0 PerfScore 0.00
+G_M49342_IG03:
+ mov edi, 12
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException_NeedNonNegNum(int)
+ int3
+ ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 100, prolog size 9, PerfScore 0.00, instruction count 24, allocated bytes for code 100 (MethodHash=11603f41) for method System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxCharCount>g__ThrowArgumentException|8_0(int) (FullOpts)
+; Total bytes of code 44, prolog size 4, PerfScore 0.00, instruction count 12, allocated bytes for code 44 (MethodHash=11603f41) for method System.Text.UTF8Encoding+UTF8EncodingSealed:<GetMaxCharCount>g__ThrowArgumentException|8_0(int) (FullOpts)
; ============================================================ Larger list of diffs: https://gist.github.com/MihuBot/8ebe90492fc999f8b9f2c4b8c0a30bbf |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Job completed in 18 minutes 23 seconds.
Diffs
Artifacts:
The text was updated successfully, but these errors were encountered: