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] [EgorBo] Assign VN for COMMA in gtWrapWithSideEffects #732
Comments
Top method improvements-26 (-1.35 % of base) - System.Text.RegularExpressions.RegexLWCGCompiler:FactoryInstanceFromCode(System.String,System.Text.RegularExpressions.RegexTree,int,ubyte):System.Text.RegularExpressions.RegexRunnerFactory:this ; Assembly listing for method System.Text.RegularExpressions.RegexLWCGCompiler:FactoryInstanceFromCode(System.String,System.Text.RegularExpressions.RegexTree,int,ubyte):System.Text.RegularExpressions.RegexRunnerFactory: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; 47 single block inlinees; 45 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 12, 7 ) ref -> rbx this class-hnd single-def <System.Text.RegularExpressions.RegexLWCGCompiler>
;* V01 arg1 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.String>
; V02 arg2 [V02,T01] ( 5, 4 ) ref -> r15 class-hnd single-def <System.Text.RegularExpressions.RegexTree>
; V03 arg3 [V03,T06] ( 4, 3 ) int -> r14 single-def
; V04 arg4 [V04,T07] ( 3, 2.50) ubyte -> r13 single-def
; V05 loc0 [V05,T31] ( 4, 2 ) int -> r13
;* V06 loc1 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.String>
;* V07 loc2 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.Reflection.Emit.DynamicMethod>
;* V08 loc3 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.Reflection.Emit.DynamicMethod>
; V09 loc4 [V09 ] ( 1, 1 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
-; V10 loc5 [V10 ] ( 85, 42.50) struct (40) [rbp-0x58] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+; V10 loc5 [V10 ] ( 84, 42 ) struct (40) [rbp-0x58] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
; V11 OutArgs [V11 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V12 tmp1 [V12,T08] ( 4, 4 ) ref -> r12 class-hnd exact single-def "dup spill" <System.Type[]>
; V13 tmp2 [V13,T32] ( 2, 2 ) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.String>
;* V14 tmp3 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
;* V15 tmp4 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
;* V16 tmp5 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
;* V17 tmp6 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.Reflection.Emit.DynamicMethod>
-; V18 tmp7 [V18,T24] ( 3, 3 ) ref -> rdi class-hnd single-def "dup spill" <System.Collections.Generic.List`1[System.Object]>
+; V18 tmp7 [V18,T23] ( 3, 3 ) ref -> rdi class-hnd single-def "dup spill" <System.Collections.Generic.List`1[System.Object]>
;* V19 tmp8 [V19 ] ( 0, 0 ) ref -> zero-ref single-def
;* V20 tmp9 [V20 ] ( 0, 0 ) ref -> zero-ref single-def
;* V21 tmp10 [V21 ] ( 0, 0 ) ref -> zero-ref single-def
-; V22 tmp11 [V22,T45] ( 3, 1.50) ref -> rbx
+; V22 tmp11 [V22,T44] ( 3, 1.50) ref -> rbx
; V23 tmp12 [V23,T02] ( 5, 5 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Text.RegularExpressions.CompiledRegexRunnerFactory>
;* V24 tmp13 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
; V25 tmp14 [V25,T03] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" <ushort[]>
;* V26 tmp15 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V27 tmp16 [V27 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V28 tmp17 [V28 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V29 tmp18 [V29 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V30 tmp19 [V30,T14] ( 4, 4 ) int -> rdi "Inlining Arg"
;* V31 tmp20 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V32 tmp21 [V32,T25] ( 3, 3 ) byref -> rax single-def "Inlining Arg"
-; V33 tmp22 [V33,T39] ( 2, 2 ) int -> rsi "Inlining Arg"
+; V32 tmp21 [V32,T24] ( 3, 3 ) byref -> rax single-def "Inlining Arg"
+; V33 tmp22 [V33,T38] ( 2, 2 ) int -> rsi "Inlining Arg"
;* V34 tmp23 [V34,T58] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V35 tmp24 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V36 tmp25 [V36 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V37 tmp26 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V38 tmp27 [V38 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V39 tmp28 [V39,T15] ( 4, 4 ) int -> rdi "Inlining Arg"
;* V40 tmp29 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V41 tmp30 [V41,T09] ( 4, 4 ) byref -> rax single-def "Inlining Arg"
-; V42 tmp31 [V42,T40] ( 2, 2 ) int -> rsi "Inlining Arg"
+; V42 tmp31 [V42,T39] ( 2, 2 ) int -> rsi "Inlining Arg"
;* V43 tmp32 [V43,T59] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V44 tmp33 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V45 tmp34 [V45 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V46 tmp35 [V46 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V47 tmp36 [V47 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
-; V48 tmp37 [V48,T16] ( 3, 3 ) int -> rdx "Inlining Arg"
+; V48 tmp37 [V48,T16] ( 2, 2 ) int -> rdi "Inlining Arg"
;* V49 tmp38 [V49 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V50 tmp39 [V50,T33] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+;* V50 tmp39 [V50,T52] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V51 tmp40 [V51,T55] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V52 tmp41 [V52,T60] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V53 tmp42 [V53 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V54 tmp43 [V54 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V55 tmp44 [V55 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V56 tmp45 [V56 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V57 tmp46 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Reflection.Emit.DynamicMethod>
-; V58 tmp47 [V58,T34] ( 2, 2 ) ref -> [rbp-0x60] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V59 tmp48 [V59,T35] ( 2, 2 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "Inlining Arg" <System.Type[]>
+; V58 tmp47 [V58,T33] ( 2, 2 ) ref -> [rbp-0x60] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V59 tmp48 [V59,T34] ( 2, 2 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "Inlining Arg" <System.Type[]>
; V60 tmp49 [V60,T10] ( 4, 4 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "NewObj constructor temp" <System.Reflection.Emit.DynamicMethod>
;* V61 tmp50 [V61 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.Emit.DynamicMethod>
;* V62 tmp51 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
; V63 tmp52 [V63,T04] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" <ushort[]>
;* V64 tmp53 [V64 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V65 tmp54 [V65 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V66 tmp55 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V67 tmp56 [V67 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V68 tmp57 [V68,T17] ( 4, 4 ) int -> rdi "Inlining Arg"
;* V69 tmp58 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V70 tmp59 [V70,T26] ( 3, 3 ) byref -> rax single-def "Inlining Arg"
-; V71 tmp60 [V71,T41] ( 2, 2 ) int -> rsi "Inlining Arg"
+; V70 tmp59 [V70,T25] ( 3, 3 ) byref -> rax single-def "Inlining Arg"
+; V71 tmp60 [V71,T40] ( 2, 2 ) int -> rsi "Inlining Arg"
;* V72 tmp61 [V72,T61] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V73 tmp62 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V74 tmp63 [V74 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V75 tmp64 [V75 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V76 tmp65 [V76 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V77 tmp66 [V77,T18] ( 4, 4 ) int -> rdi "Inlining Arg"
;* V78 tmp67 [V78 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V79 tmp68 [V79,T11] ( 4, 4 ) byref -> rax single-def "Inlining Arg"
-; V80 tmp69 [V80,T42] ( 2, 2 ) int -> rsi "Inlining Arg"
+; V80 tmp69 [V80,T41] ( 2, 2 ) int -> rsi "Inlining Arg"
;* V81 tmp70 [V81,T62] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V82 tmp71 [V82 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V83 tmp72 [V83 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V84 tmp73 [V84 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V85 tmp74 [V85 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V86 tmp75 [V86,T19] ( 2, 2 ) int -> rdi "Inlining Arg"
;* V87 tmp76 [V87 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V88 tmp77 [V88,T53] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V89 tmp78 [V89,T56] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V90 tmp79 [V90,T63] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V91 tmp80 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V92 tmp81 [V92 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V93 tmp82 [V93 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V94 tmp83 [V94 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V95 tmp84 [V95 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Reflection.Emit.DynamicMethod>
-; V96 tmp85 [V96,T36] ( 2, 2 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V97 tmp86 [V97,T37] ( 2, 2 ) ref -> [rbp-0x80] class-hnd exact spill-single-def "Inlining Arg" <System.Type[]>
+; V96 tmp85 [V96,T35] ( 2, 2 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V97 tmp86 [V97,T36] ( 2, 2 ) ref -> [rbp-0x80] class-hnd exact spill-single-def "Inlining Arg" <System.Type[]>
; V98 tmp87 [V98,T12] ( 4, 4 ) ref -> [rbp-0x88] class-hnd exact spill-single-def "NewObj constructor temp" <System.Reflection.Emit.DynamicMethod>
;* V99 tmp88 [V99 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.Emit.DynamicMethod>
;* V100 tmp89 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
; V101 tmp90 [V101,T05] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" <ushort[]>
;* V102 tmp91 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V103 tmp92 [V103 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V104 tmp93 [V104 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V105 tmp94 [V105 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V106 tmp95 [V106,T20] ( 4, 4 ) int -> rdi "Inlining Arg"
;* V107 tmp96 [V107 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V108 tmp97 [V108,T27] ( 3, 3 ) byref -> r12 single-def "Inlining Arg"
-; V109 tmp98 [V109,T43] ( 2, 2 ) int -> rsi "Inlining Arg"
+; V108 tmp97 [V108,T26] ( 3, 3 ) byref -> r12 single-def "Inlining Arg"
+; V109 tmp98 [V109,T42] ( 2, 2 ) int -> rsi "Inlining Arg"
;* V110 tmp99 [V110,T64] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V111 tmp100 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V112 tmp101 [V112 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V113 tmp102 [V113 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V114 tmp103 [V114 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V115 tmp104 [V115,T21] ( 4, 4 ) int -> rdi "Inlining Arg"
;* V116 tmp105 [V116 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V117 tmp106 [V117,T28] ( 3, 3 ) byref -> r13 single-def "Inlining Arg"
-; V118 tmp107 [V118,T44] ( 2, 2 ) int -> rsi "Inlining Arg"
+; V117 tmp106 [V117,T27] ( 3, 3 ) byref -> r13 single-def "Inlining Arg"
+; V118 tmp107 [V118,T43] ( 2, 2 ) int -> rsi "Inlining Arg"
;* V119 tmp108 [V119,T65] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V120 tmp109 [V120 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V121 tmp110 [V121 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V122 tmp111 [V122 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V123 tmp112 [V123 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V124 tmp113 [V124,T22] ( 2, 2 ) int -> rdi "Inlining Arg"
;* V125 tmp114 [V125 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V126 tmp115 [V126,T54] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V127 tmp116 [V127,T57] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V128 tmp117 [V128,T66] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V129 tmp118 [V129 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V130 tmp119 [V130 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V131 tmp120 [V131 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V132 tmp121 [V132 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V133 tmp122 [V133,T13] ( 4, 4 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "NewObj constructor temp" <System.Reflection.Emit.DynamicMethod>
;* V134 tmp123 [V134 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.Emit.DynamicMethod>
-; V135 tmp124 [V135,T38] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Globalization.CultureInfo>
-; V136 tmp125 [V136,T46] ( 3, 1.50) byref -> rdi "field V28._reference (fldOffset=0x0)" P-INDEP
-; V137 tmp126 [V137,T50] ( 3, 1.50) int -> rsi "field V28._length (fldOffset=0x8)" P-INDEP
+; V135 tmp124 [V135,T37] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Globalization.CultureInfo>
+; V136 tmp125 [V136,T45] ( 3, 1.50) byref -> rdi "field V28._reference (fldOffset=0x0)" P-INDEP
+; V137 tmp126 [V137,T49] ( 3, 1.50) int -> rsi "field V28._length (fldOffset=0x8)" P-INDEP
;* V138 tmp127 [V138 ] ( 0, 0 ) byref -> zero-ref "field V29._reference (fldOffset=0x0)" P-INDEP
;* V139 tmp128 [V139 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP
;* V140 tmp129 [V140 ] ( 0, 0 ) byref -> zero-ref single-def "field V31._reference (fldOffset=0x0)" P-INDEP
;* V141 tmp130 [V141 ] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP
;* V142 tmp131 [V142 ] ( 0, 0 ) byref -> zero-ref single-def "field V35._reference (fldOffset=0x0)" P-INDEP
;* V143 tmp132 [V143 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP
;* V144 tmp133 [V144 ] ( 0, 0 ) byref -> zero-ref "field V38._reference (fldOffset=0x0)" P-INDEP
;* V145 tmp134 [V145 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP
;* V146 tmp135 [V146 ] ( 0, 0 ) byref -> zero-ref single-def "field V40._reference (fldOffset=0x0)" P-INDEP
;* V147 tmp136 [V147 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP
;* V148 tmp137 [V148 ] ( 0, 0 ) byref -> zero-ref single-def "field V44._reference (fldOffset=0x0)" P-INDEP
;* V149 tmp138 [V149 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP
;* V150 tmp139 [V150 ] ( 0, 0 ) byref -> zero-ref "field V47._reference (fldOffset=0x0)" P-INDEP
;* V151 tmp140 [V151 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP
;* V152 tmp141 [V152 ] ( 0, 0 ) byref -> zero-ref single-def "field V49._reference (fldOffset=0x0)" P-INDEP
;* V153 tmp142 [V153 ] ( 0, 0 ) int -> zero-ref "field V49._length (fldOffset=0x8)" P-INDEP
;* V154 tmp143 [V154 ] ( 0, 0 ) byref -> zero-ref single-def "field V53._reference (fldOffset=0x0)" P-INDEP
;* V155 tmp144 [V155 ] ( 0, 0 ) int -> zero-ref "field V53._length (fldOffset=0x8)" P-INDEP
-; V156 tmp145 [V156,T47] ( 3, 1.50) byref -> rdi "field V66._reference (fldOffset=0x0)" P-INDEP
-; V157 tmp146 [V157,T51] ( 3, 1.50) int -> rsi "field V66._length (fldOffset=0x8)" P-INDEP
+; V156 tmp145 [V156,T46] ( 3, 1.50) byref -> rdi "field V66._reference (fldOffset=0x0)" P-INDEP
+; V157 tmp146 [V157,T50] ( 3, 1.50) int -> rsi "field V66._length (fldOffset=0x8)" P-INDEP
;* V158 tmp147 [V158 ] ( 0, 0 ) byref -> zero-ref "field V67._reference (fldOffset=0x0)" P-INDEP
;* V159 tmp148 [V159 ] ( 0, 0 ) int -> zero-ref "field V67._length (fldOffset=0x8)" P-INDEP
;* V160 tmp149 [V160 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP
;* V161 tmp150 [V161 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP
;* V162 tmp151 [V162 ] ( 0, 0 ) byref -> zero-ref single-def "field V73._reference (fldOffset=0x0)" P-INDEP
;* V163 tmp152 [V163 ] ( 0, 0 ) int -> zero-ref "field V73._length (fldOffset=0x8)" P-INDEP
;* V164 tmp153 [V164 ] ( 0, 0 ) byref -> zero-ref "field V76._reference (fldOffset=0x0)" P-INDEP
;* V165 tmp154 [V165 ] ( 0, 0 ) int -> zero-ref "field V76._length (fldOffset=0x8)" P-INDEP
;* V166 tmp155 [V166 ] ( 0, 0 ) byref -> zero-ref single-def "field V78._reference (fldOffset=0x0)" P-INDEP
;* V167 tmp156 [V167 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
;* V168 tmp157 [V168 ] ( 0, 0 ) byref -> zero-ref single-def "field V82._reference (fldOffset=0x0)" P-INDEP
;* V169 tmp158 [V169 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
;* V170 tmp159 [V170 ] ( 0, 0 ) byref -> zero-ref "field V85._reference (fldOffset=0x0)" P-INDEP
;* V171 tmp160 [V171 ] ( 0, 0 ) int -> zero-ref "field V85._length (fldOffset=0x8)" P-INDEP
;* V172 tmp161 [V172 ] ( 0, 0 ) byref -> zero-ref single-def "field V87._reference (fldOffset=0x0)" P-INDEP
;* V173 tmp162 [V173 ] ( 0, 0 ) int -> zero-ref "field V87._length (fldOffset=0x8)" P-INDEP
;* V174 tmp163 [V174 ] ( 0, 0 ) byref -> zero-ref single-def "field V91._reference (fldOffset=0x0)" P-INDEP
;* V175 tmp164 [V175 ] ( 0, 0 ) int -> zero-ref "field V91._length (fldOffset=0x8)" P-INDEP
-; V176 tmp165 [V176,T48] ( 3, 1.50) byref -> rdi "field V104._reference (fldOffset=0x0)" P-INDEP
-; V177 tmp166 [V177,T52] ( 3, 1.50) int -> rsi "field V104._length (fldOffset=0x8)" P-INDEP
+; V176 tmp165 [V176,T47] ( 3, 1.50) byref -> rdi "field V104._reference (fldOffset=0x0)" P-INDEP
+; V177 tmp166 [V177,T51] ( 3, 1.50) int -> rsi "field V104._length (fldOffset=0x8)" P-INDEP
;* V178 tmp167 [V178 ] ( 0, 0 ) byref -> zero-ref "field V105._reference (fldOffset=0x0)" P-INDEP
;* V179 tmp168 [V179 ] ( 0, 0 ) int -> zero-ref "field V105._length (fldOffset=0x8)" P-INDEP
;* V180 tmp169 [V180 ] ( 0, 0 ) byref -> zero-ref single-def "field V107._reference (fldOffset=0x0)" P-INDEP
;* V181 tmp170 [V181 ] ( 0, 0 ) int -> zero-ref "field V107._length (fldOffset=0x8)" P-INDEP
;* V182 tmp171 [V182 ] ( 0, 0 ) byref -> zero-ref single-def "field V111._reference (fldOffset=0x0)" P-INDEP
;* V183 tmp172 [V183 ] ( 0, 0 ) int -> zero-ref "field V111._length (fldOffset=0x8)" P-INDEP
;* V184 tmp173 [V184 ] ( 0, 0 ) byref -> zero-ref "field V114._reference (fldOffset=0x0)" P-INDEP
;* V185 tmp174 [V185 ] ( 0, 0 ) int -> zero-ref "field V114._length (fldOffset=0x8)" P-INDEP
;* V186 tmp175 [V186 ] ( 0, 0 ) byref -> zero-ref single-def "field V116._reference (fldOffset=0x0)" P-INDEP
;* V187 tmp176 [V187 ] ( 0, 0 ) int -> zero-ref "field V116._length (fldOffset=0x8)" P-INDEP
;* V188 tmp177 [V188 ] ( 0, 0 ) byref -> zero-ref single-def "field V120._reference (fldOffset=0x0)" P-INDEP
;* V189 tmp178 [V189 ] ( 0, 0 ) int -> zero-ref "field V120._length (fldOffset=0x8)" P-INDEP
;* V190 tmp179 [V190 ] ( 0, 0 ) byref -> zero-ref "field V123._reference (fldOffset=0x0)" P-INDEP
;* V191 tmp180 [V191 ] ( 0, 0 ) int -> zero-ref "field V123._length (fldOffset=0x8)" P-INDEP
;* V192 tmp181 [V192 ] ( 0, 0 ) byref -> zero-ref single-def "field V125._reference (fldOffset=0x0)" P-INDEP
;* V193 tmp182 [V193 ] ( 0, 0 ) int -> zero-ref "field V125._length (fldOffset=0x8)" P-INDEP
;* V194 tmp183 [V194 ] ( 0, 0 ) byref -> zero-ref single-def "field V129._reference (fldOffset=0x0)" P-INDEP
;* V195 tmp184 [V195 ] ( 0, 0 ) int -> zero-ref "field V129._length (fldOffset=0x8)" P-INDEP
; V196 cse0 [V196,T30] ( 4, 2 ) ref -> r12 "CSE #08: conservative"
-; V197 cse1 [V197,T49] ( 3, 1.50) ref -> [rbp-0x98] spill-single-def "CSE #16: conservative"
-; V198 cse2 [V198,T23] ( 6, 3 ) ref -> [rbp-0xA0] multi-def "CSE #06: aggressive"
+; V197 cse1 [V197,T48] ( 3, 1.50) ref -> [rbp-0x98] spill-single-def "CSE #16: conservative"
+; V198 cse2 [V198,T28] ( 5, 2.50) ref -> [rbp-0xA0] multi-def "CSE #06: aggressive"
; V199 cse3 [V199,T29] ( 5, 2.50) ref -> [rbp-0xA8] multi-def "CSE #02: moderate"
;
; Lcl frame size = 168
G_M15201_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 168
lea rbp, [rsp+0xD0]
xor eax, eax
mov qword ptr [rbp-0x58], rax
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0x50], ymm8
mov qword ptr [rbp-0x30], rax
mov rbx, rdi
mov r15, rdx
mov r14d, ecx
mov r13d, r8d
;; size=57 bbWeight=1 PerfScore 12.33
G_M15201_IG02:
mov rdi, gword ptr [r15+0x08]
lea rsi, [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexNode:SupportsCompilation(byref):ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.Text.RegularExpressions.RegexNode:SupportsCompilation(byref):ubyte:this
test eax, eax
je G_M15201_IG37
;; size=30 bbWeight=1 PerfScore 10.00
G_M15201_IG03:
lea rdi, bword ptr [rbx+0x10]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
mov dword ptr [rbx+0x30], r14d
mov byte ptr [rbx+0x34], r13b
mov rdi, 0xD1FFAB1E ; static handle
mov esi, 1
mov r13d, esi
lock
xadd dword ptr [rdi], r13d
inc r13d
xor rdi, rdi
mov gword ptr [rbp-0x58], rdi
mov rdi, 0xD1FFAB1E ; const ptr
mov r12, gword ptr [rdi]
mov rdi, r12
mov esi, 256
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
mov gword ptr [rbp-0x50], rax
test rax, rax
je SHORT G_M15201_IG04
lea rdi, bword ptr [rax+0x10]
mov esi, dword ptr [rax+0x08]
jmp SHORT G_M15201_IG05
;; size=103 bbWeight=0.50 PerfScore 17.88
G_M15201_IG04:
xor rdi, rdi
xor esi, esi
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M15201_IG05:
mov bword ptr [rbp-0x40], rdi
mov dword ptr [rbp-0x38], esi
xor edi, edi
mov dword ptr [rbp-0x48], edi
mov byte ptr [rbp-0x44], 0
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
ja G_M15201_IG39
mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rax, bword ptr [rsi+2*rax]
mov esi, dword ptr [rbp-0x38]
sub esi, edi
cmp esi, 5
jae SHORT G_M15201_IG06
lea rdi, [rbp-0x58]
mov rcx, 0xD1FFAB1E ; 'Regex'
mov gword ptr [rbp-0xA8], rcx
mov rsi, rcx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M15201_IG07
;; size=86 bbWeight=0.50 PerfScore 9.88
G_M15201_IG06:
mov rcx, 0xD1FFAB1E ; 'Regex'
mov gword ptr [rbp-0xA8], rcx
mov rdi, 0xD1FFAB1E
mov qword ptr [rax], rdi
mov word ptr [rax+0x08], 120
mov edi, dword ptr [rbp-0x48]
add edi, 5
mov dword ptr [rbp-0x48], edi
;; size=45 bbWeight=0.50 PerfScore 2.88
G_M15201_IG07:
lea rdi, [rbp-0x58]
mov esi, r13d
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[uint](uint):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[uint](uint):this
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
ja G_M15201_IG39
mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rax, bword ptr [rsi+2*rax]
mov esi, dword ptr [rbp-0x38]
sub esi, edi
cmp esi, 36
jae SHORT G_M15201_IG08
lea rdi, [rbp-0x58]
mov rsi, 0xD1FFAB1E ; '_TryFindNextPossibleStartingPosition'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M15201_IG09
;; size=79 bbWeight=0.50 PerfScore 9.12
G_M15201_IG08:
vmovups ymm0, ymmword ptr [reloc @RWD00]
vmovups ymmword ptr [rax], ymm0
vmovups ymm0, ymmword ptr [reloc @RWD32]
vmovups ymmword ptr [rax+0x20], ymm0
mov rdi, 0xD1FFAB1E
mov qword ptr [rax+0x40], rdi
mov edi, dword ptr [rbp-0x48]
add edi, 36
mov dword ptr [rbp-0x48], edi
;; size=48 bbWeight=0.50 PerfScore 7.75
G_M15201_IG09:
cmp byte ptr [rbp-0x44], 0
je SHORT G_M15201_IG10
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; ''
mov gword ptr [rbp-0xA0], rax
mov rsi, rax
mov rcx, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
call [rcx]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
jmp SHORT G_M15201_IG11
;; size=44 bbWeight=0.50 PerfScore 5.12
G_M15201_IG10:
- mov edx, dword ptr [rbp-0x48]
- cmp edx, dword ptr [rbp-0x38]
+ mov edi, dword ptr [rbp-0x48]
+ cmp edi, dword ptr [rbp-0x38]
ja G_M15201_IG39
- mov rsi, bword ptr [rbp-0x40]
- lea rdi, bword ptr [rsi+2*rdx]
mov rax, 0xD1FFAB1E ; ''
- xor edx, edx
mov gword ptr [rbp-0xA0], rax
- lea rsi, bword ptr [rax+0x0C]
- mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
- call [rcx]System.SpanHelpers:Memmove(byref,byref,ulong)
mov edi, dword ptr [rbp-0x48]
mov dword ptr [rbp-0x48], edi
- ;; size=61 bbWeight=0.50 PerfScore 6.38
+ ;; size=35 bbWeight=0.50 PerfScore 3.62
G_M15201_IG11:
lea rdi, [rbp-0x58]
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
- call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
+ mov rcx, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
+ call [rcx]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
mov gword ptr [rbp-0x60], rax
mov rdi, 0xD1FFAB1E ; const ptr
mov rcx, gword ptr [rdi]
mov gword ptr [rbp-0x98], rcx
mov gword ptr [rbp-0x68], rcx
mov rdi, 0xD1FFAB1E ; System.Reflection.Emit.DynamicMethod
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0x70], rax
mov rdi, 0xD1FFAB1E ; 'System.Text.RegularExpressions.CompiledRegexRunner'
mov gword ptr [rsp], rdi
xor rdi, rdi
mov gword ptr [rsp+0x08], rdi
;; size=84 bbWeight=0.50 PerfScore 6.88
G_M15201_IG12:
mov dword ptr [rsp+0x10], edi
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M15201_IG13:
mov dword ptr [rsp+0x18], edi
mov rdi, rax
mov rsi, gword ptr [rbp-0x60]
mov r9, gword ptr [rbp-0x68]
mov edx, 22
mov ecx, 1
mov r8, 0xD1FFAB1E ; 'System.Boolean'
mov r10, 0xD1FFAB1E ; code for System.Reflection.Emit.DynamicMethod:Init(System.String,int,int,System.Type,System.Type[],System.Type,System.Reflection.Module,ubyte,ubyte):this
call [r10]System.Reflection.Emit.DynamicMethod:Init(System.String,int,int,System.Type,System.Type[],System.Type,System.Reflection.Module,ubyte,ubyte):this
mov rdi, gword ptr [rbp-0x70]
mov esi, 64
mov rax, 0xD1FFAB1E ; code for System.Reflection.Emit.DynamicMethod:GetILGenerator(int):System.Reflection.Emit.ILGenerator:this
call [rax]System.Reflection.Emit.DynamicMethod:GetILGenerator(int):System.Reflection.Emit.ILGenerator:this
lea rdi, bword ptr [rbx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCompiler:EmitTryFindNextPossibleStartingPosition():this
call [rax]System.Text.RegularExpressions.RegexCompiler:EmitTryFindNextPossibleStartingPosition():this
xor rdi, rdi
mov gword ptr [rbp-0x58], rdi
mov rdi, r12
mov esi, 256
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
mov gword ptr [rbp-0x50], rax
test rax, rax
je SHORT G_M15201_IG14
lea rdi, bword ptr [rax+0x10]
mov esi, dword ptr [rax+0x08]
jmp SHORT G_M15201_IG15
;; size=140 bbWeight=0.50 PerfScore 14.38
G_M15201_IG14:
xor rdi, rdi
xor esi, esi
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M15201_IG15:
mov bword ptr [rbp-0x40], rdi
mov dword ptr [rbp-0x38], esi
xor edi, edi
mov dword ptr [rbp-0x48], edi
mov byte ptr [rbp-0x44], 0
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
ja G_M15201_IG39
mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rax, bword ptr [rsi+2*rax]
mov esi, dword ptr [rbp-0x38]
sub esi, edi
cmp esi, 5
jae SHORT G_M15201_IG16
lea rdi, [rbp-0x58]
mov rsi, gword ptr [rbp-0xA8]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M15201_IG17
;; size=73 bbWeight=0.50 PerfScore 9.62
G_M15201_IG16:
mov rdi, 0xD1FFAB1E
mov qword ptr [rax], rdi
mov word ptr [rax+0x08], 120
mov edi, dword ptr [rbp-0x48]
add edi, 5
mov dword ptr [rbp-0x48], edi
;; size=28 bbWeight=0.50 PerfScore 2.25
G_M15201_IG17:
lea rdi, [rbp-0x58]
mov esi, r13d
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[uint](uint):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[uint](uint):this
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
ja G_M15201_IG39
mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rax, bword ptr [rsi+2*rax]
mov esi, dword ptr [rbp-0x38]
sub esi, edi
cmp esi, 26
jae SHORT G_M15201_IG18
lea rdi, [rbp-0x58]
mov rsi, 0xD1FFAB1E ; '_TryMatchAtCurrentPosition'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M15201_IG19
;; size=79 bbWeight=0.50 PerfScore 9.12
G_M15201_IG18:
vmovups ymm0, ymmword ptr [reloc @RWD64]
vmovups ymmword ptr [rax], ymm0
vmovups xmm0, xmmword ptr [reloc @RWD96]
vmovups xmmword ptr [rax+0x20], xmm0
mov dword ptr [rax+0x30], 0xD1FFAB1E
mov edi, dword ptr [rbp-0x48]
add edi, 26
mov dword ptr [rbp-0x48], edi
;; size=41 bbWeight=0.50 PerfScore 7.12
G_M15201_IG19:
cmp byte ptr [rbp-0x44], 0
je SHORT G_M15201_IG20
lea rdi, [rbp-0x58]
mov rsi, gword ptr [rbp-0xA0]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
jmp SHORT G_M15201_IG21
;; size=31 bbWeight=0.50 PerfScore 4.88
G_M15201_IG20:
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
ja G_M15201_IG39
mov edi, dword ptr [rbp-0x48]
mov dword ptr [rbp-0x48], edi
;; size=18 bbWeight=0.50 PerfScore 3.00
G_M15201_IG21:
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
mov gword ptr [rbp-0x78], rax
mov rcx, gword ptr [rbp-0x98]
mov gword ptr [rbp-0x80], rcx
mov rdi, 0xD1FFAB1E ; System.Reflection.Emit.DynamicMethod
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0x88], rax
mov rdi, 0xD1FFAB1E ; 'System.Text.RegularExpressions.CompiledRegexRunner'
mov gword ptr [rsp], rdi
xor rdi, rdi
mov gword ptr [rsp+0x08], rdi
;; size=74 bbWeight=0.50 PerfScore 5.75
G_M15201_IG22:
mov dword ptr [rsp+0x10], edi
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M15201_IG23:
mov dword ptr [rsp+0x18], edi
mov rdi, rax
mov rsi, gword ptr [rbp-0x78]
mov r9, gword ptr [rbp-0x80]
mov edx, 22
mov ecx, 1
mov r8, 0xD1FFAB1E ; 'System.Boolean'
mov r10, 0xD1FFAB1E ; code for System.Reflection.Emit.DynamicMethod:Init(System.String,int,int,System.Type,System.Type[],System.Type,System.Reflection.Module,ubyte,ubyte):this
call [r10]System.Reflection.Emit.DynamicMethod:Init(System.String,int,int,System.Type,System.Type[],System.Type,System.Reflection.Module,ubyte,ubyte):this
mov rdi, gword ptr [rbp-0x88]
mov esi, 64
mov rax, 0xD1FFAB1E ; code for System.Reflection.Emit.DynamicMethod:GetILGenerator(int):System.Reflection.Emit.ILGenerator:this
call [rax]System.Reflection.Emit.DynamicMethod:GetILGenerator(int):System.Reflection.Emit.ILGenerator:this
lea rdi, bword ptr [rbx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCompiler:EmitTryMatchAtCurrentPosition():this
call [rax]System.Text.RegularExpressions.RegexCompiler:EmitTryMatchAtCurrentPosition():this
xor rdi, rdi
mov gword ptr [rbp-0x58], rdi
mov rdi, r12
mov esi, 256
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
mov gword ptr [rbp-0x50], rax
test rax, rax
je SHORT G_M15201_IG24
lea rdi, bword ptr [rax+0x10]
mov esi, dword ptr [rax+0x08]
jmp SHORT G_M15201_IG25
;; size=143 bbWeight=0.50 PerfScore 14.38
G_M15201_IG24:
xor rdi, rdi
xor esi, esi
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M15201_IG25:
mov bword ptr [rbp-0x40], rdi
mov dword ptr [rbp-0x38], esi
xor edi, edi
mov dword ptr [rbp-0x48], edi
mov byte ptr [rbp-0x44], 0
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
ja G_M15201_IG39
mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea r12, bword ptr [rsi+2*rax]
mov esi, dword ptr [rbp-0x38]
sub esi, edi
cmp esi, 5
jae SHORT G_M15201_IG26
lea rdi, [rbp-0x58]
mov rsi, gword ptr [rbp-0xA8]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M15201_IG27
;; size=73 bbWeight=0.50 PerfScore 9.62
G_M15201_IG26:
mov rdi, 0xD1FFAB1E
mov qword ptr [r12], rdi
mov word ptr [r12+0x08], 120
mov edi, dword ptr [rbp-0x48]
add edi, 5
mov dword ptr [rbp-0x48], edi
;; size=31 bbWeight=0.50 PerfScore 2.25
G_M15201_IG27:
lea rdi, [rbp-0x58]
mov esi, r13d
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[uint](uint):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[uint](uint):this
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
ja G_M15201_IG39
mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea r13, bword ptr [rsi+2*rax]
mov esi, dword ptr [rbp-0x38]
sub esi, edi
cmp esi, 5
jae SHORT G_M15201_IG28
lea rdi, [rbp-0x58]
mov rsi, 0xD1FFAB1E ; '_Scan'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M15201_IG29
;; size=79 bbWeight=0.50 PerfScore 9.12
G_M15201_IG28:
mov rdi, 0xD1FFAB1E
mov qword ptr [r13], rdi
mov word ptr [r13+0x08], 110
mov edi, dword ptr [rbp-0x48]
add edi, 5
mov dword ptr [rbp-0x48], edi
;; size=30 bbWeight=0.50 PerfScore 2.25
G_M15201_IG29:
cmp byte ptr [rbp-0x44], 0
je SHORT G_M15201_IG30
lea rdi, [rbp-0x58]
mov rsi, gword ptr [rbp-0xA0]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
jmp SHORT G_M15201_IG31
;; size=31 bbWeight=0.50 PerfScore 4.88
G_M15201_IG30:
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
ja G_M15201_IG39
mov edi, dword ptr [rbp-0x48]
mov dword ptr [rbp-0x48], edi
;; size=18 bbWeight=0.50 PerfScore 3.00
G_M15201_IG31:
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
mov r13, rax
mov rdi, 0xD1FFAB1E ; System.Type[]
mov esi, 2
call CORINFO_HELP_NEWARR_1_OBJ
mov r12, rax
mov rdi, 0xD1FFAB1E ; 'System.Text.RegularExpressions.RegexRunner'
mov gword ptr [r12+0x10], rdi
mov rdi, 0xD1FFAB1E ; 'System.ReadOnlySpan`1[System.Char]'
mov gword ptr [r12+0x18], rdi
mov rdi, 0xD1FFAB1E ; System.Reflection.Emit.DynamicMethod
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0x90], rax
mov rdi, 0xD1FFAB1E ; 'System.Text.RegularExpressions.CompiledRegexRunner'
mov gword ptr [rsp], rdi
xor rdi, rdi
mov gword ptr [rsp+0x08], rdi
;; size=115 bbWeight=0.50 PerfScore 6.50
G_M15201_IG32:
mov dword ptr [rsp+0x10], edi
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M15201_IG33:
mov dword ptr [rsp+0x18], edi
mov rdi, rax
mov rsi, r13
mov r9, r12
mov edx, 22
mov ecx, 1
xor r8, r8
mov r10, 0xD1FFAB1E ; code for System.Reflection.Emit.DynamicMethod:Init(System.String,int,int,System.Type,System.Type[],System.Type,System.Reflection.Module,ubyte,ubyte):this
call [r10]System.Reflection.Emit.DynamicMethod:Init(System.String,int,int,System.Type,System.Type[],System.Type,System.Reflection.Module,ubyte,ubyte):this
mov rdi, gword ptr [rbp-0x90]
mov esi, 64
mov rax, 0xD1FFAB1E ; code for System.Reflection.Emit.DynamicMethod:GetILGenerator(int):System.Reflection.Emit.ILGenerator:this
call [rax]System.Reflection.Emit.DynamicMethod:GetILGenerator(int):System.Reflection.Emit.ILGenerator:this
lea rdi, bword ptr [rbx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, rbx
mov esi, r14d
mov rdx, gword ptr [rbp-0x70]
mov rcx, gword ptr [rbp-0x88]
mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCompiler:EmitScan(int,System.Reflection.MethodInfo,System.Reflection.MethodInfo):this
call [rax]System.Text.RegularExpressions.RegexCompiler:EmitScan(int,System.Reflection.MethodInfo,System.Reflection.MethodInfo):this
mov rdi, gword ptr [rbx+0x18]
test rdi, rdi
je SHORT G_M15201_IG34
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this
call [rax]System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this
mov rbx, rax
jmp SHORT G_M15201_IG35
;; size=130 bbWeight=0.50 PerfScore 13.25
G_M15201_IG34:
xor rbx, rbx
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M15201_IG35:
mov rdi, 0xD1FFAB1E ; System.Text.RegularExpressions.CompiledRegexRunnerFactory
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov r15, gword ptr [r15+0x18]
lea rdi, bword ptr [r14+0x08]
mov rsi, gword ptr [rbp-0x90]
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r14+0x10]
mov rsi, rbx
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r14+0x18]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
mov rax, r14
;; size=65 bbWeight=0.50 PerfScore 4.88
G_M15201_IG36:
vzeroupper
add rsp, 168
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=21 bbWeight=0.50 PerfScore 2.62
G_M15201_IG37:
xor rax, rax
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M15201_IG38:
vzeroupper
add rsp, 168
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=21 bbWeight=0.50 PerfScore 2.62
G_M15201_IG39:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
RWD00 dq 007900720054005Fh, 0064006E00690046h, 007400780065004Eh, 00730073006F0050h
RWD32 dq 0065006C00620069h, 0072006100740053h, 0067006E00690074h, 00690073006F0050h
RWD64 dq 007900720054005Fh, 006300740061004Dh, 0043007400410068h, 0065007200720075h
RWD96 dq 006F00500074006Eh, 0069007400690073h
-; Total bytes of code 1919, prolog size 45, PerfScore 222.21, instruction count 441, allocated bytes for code 1919 (MethodHash=819ac49e) for method System.Text.RegularExpressions.RegexLWCGCompiler:FactoryInstanceFromCode(System.String,System.Text.RegularExpressions.RegexTree,int,ubyte):System.Text.RegularExpressions.RegexRunnerFactory:this (FullOpts)
+; Total bytes of code 1893, prolog size 45, PerfScore 219.46, instruction count 435, allocated bytes for code 1893 (MethodHash=819ac49e) for method System.Text.RegularExpressions.RegexLWCGCompiler:FactoryInstanceFromCode(System.String,System.Text.RegularExpressions.RegexTree,int,ubyte):System.Text.RegularExpressions.RegexRunnerFactory:this (FullOpts)
; ============================================================ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Job completed in 20 minutes 34 seconds.
dotnet/runtime#108955
Diffs
Artifacts:
The text was updated successfully, but these errors were encountered: