Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
Untitled diff
作成日
昨年
差分は期限切れになりません
クリア
エクスポート
共有
説明
51 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
238 行
すべてコピー
51 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
239 行
すべてコピー
; Assembly listing for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (FullOpts)
; Assembly listing for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; FullOpts code
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
コピー
コピー済み
コピー
コピー済み
; 0 inlinees with PGO data;
77
single block inlinees; 32 inlinees without PGO data
; 0 inlinees with PGO data;
80
single block inlinees; 32 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T47] ( 3, 3 ) ref -> r15 class-hnd single-def <System.Text.Json.Utf8JsonWriter>
; V00 arg0 [V00,T47] ( 3, 3 ) ref -> r15 class-hnd single-def <System.Text.Json.Utf8JsonWriter>
;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Int128>
;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Int128>
;* V02 loc0 [V02 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]>
;* V02 loc0 [V02 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]>
; V03 loc1 [V03 ] ( 4, 2.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op
; V03 loc1 [V03 ] ( 4, 2.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op
; V04 OutArgs [V04 ] ( 1, 1 ) struct (16) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
; V04 OutArgs [V04 ] ( 1, 1 ) struct (16) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
;* V05 tmp1 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V05 tmp1 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V06 tmp2 [V06 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V06 tmp2 [V06 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V07 tmp3 [V07 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
;* V07 tmp3 [V07 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
; V08 tmp4 [V08,T49] ( 2, 4 ) long -> r13 "Inlining Arg"
; V08 tmp4 [V08,T49] ( 2, 4 ) long -> r13 "Inlining Arg"
;* V09 tmp5 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Int128>
;* V09 tmp5 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Int128>
;* V10 tmp6 [V10 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Span`1[ubyte]>
;* V10 tmp6 [V10 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Span`1[ubyte]>
; V11 tmp7 [V11,T69] ( 2, 1.50) ref -> rdi class-hnd exact single-def "Inline stloc first use temp" <System.Globalization.CultureInfo>
; V11 tmp7 [V11,T69] ( 2, 1.50) ref -> rdi class-hnd exact single-def "Inline stloc first use temp" <System.Globalization.CultureInfo>
;* V12 tmp8 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
;* V12 tmp8 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
;* V13 tmp9 [V13 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V13 tmp9 [V13 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V14 tmp10 [V14 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V14 tmp10 [V14 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V15 tmp11 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V15 tmp11 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V16 tmp12 [V16 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Int128>
;* V16 tmp12 [V16 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Int128>
;* V17 tmp13 [V17 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V17 tmp13 [V17 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V18 tmp14 [V18 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
;* V18 tmp14 [V18 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
; V19 tmp15 [V19,T57] ( 4, 2 ) ref -> r12 class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
; V19 tmp15 [V19,T57] ( 4, 2 ) ref -> r12 class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
;* V20 tmp16 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]>
;* V20 tmp16 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]>
; V21 tmp17 [V21,T60] ( 2, 2 ) ref -> rax class-hnd single-def "dup spill" <ubyte[]>
; V21 tmp17 [V21,T60] ( 2, 2 ) ref -> rax class-hnd single-def "dup spill" <ubyte[]>
; V22 tmp18 [V22,T53] ( 6, 3 ) ref -> rax
; V22 tmp18 [V22,T53] ( 6, 3 ) ref -> rax
;* V23 tmp19 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <ubyte[]>
;* V23 tmp19 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <ubyte[]>
;* V24 tmp20 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]>
;* V24 tmp20 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]>
; V25 tmp21 [V25,T54] ( 3, 3 ) ref -> rdi single-def "Spilling to split statement for tree"
; V25 tmp21 [V25,T54] ( 3, 3 ) ref -> rdi single-def "Spilling to split statement for tree"
; V26 tmp22 [V26,T45] ( 5, 5 ) ref -> rsi single-def "Spilling to split statement for tree"
; V26 tmp22 [V26,T45] ( 5, 5 ) ref -> rsi single-def "Spilling to split statement for tree"
コピー
コピー済み
コピー
コピー済み
; V27 tmp23 [V27,T58] ( 4, 2 ) ref -> [rbp-0x
6
0] class-hnd "Inline return value spill temp" <ubyte[]>
; V27 tmp23 [V27,T58] ( 4, 2 ) ref -> [rbp-0x
5
0] class-hnd "Inline return value spill temp" <ubyte[]>
;* V28 tmp24 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.String>
;* V28 tmp24 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.String>
;* V29 tmp25 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V29 tmp25 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V30 tmp26 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ubyte[]>
;* V30 tmp26 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ubyte[]>
;* V31 tmp27 [V31 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V31 tmp27 [V31 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V32 tmp28 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <ubyte[]>
;* V32 tmp28 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <ubyte[]>
;* V33 tmp29 [V33 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V33 tmp29 [V33 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V34 tmp30 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V34 tmp30 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V35 tmp31 [V35 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V35 tmp31 [V35 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V36 tmp32 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V36 tmp32 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V37 tmp33 [V37 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V37 tmp33 [V37 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V38 tmp34 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V38 tmp34 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V39 tmp35 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V39 tmp35 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
; V40 tmp36 [V40 ] ( 3, 1.50) byref -> [rbp-0x38] must-init pinned "Inline stloc first use temp"
; V40 tmp36 [V40 ] ( 3, 1.50) byref -> [rbp-0x38] must-init pinned "Inline stloc first use temp"
; V41 tmp37 [V41,T64] ( 3, 1.50) long -> r12 "Inline stloc first use temp"
; V41 tmp37 [V41,T64] ( 3, 1.50) long -> r12 "Inline stloc first use temp"
;* V42 tmp38 [V42 ] ( 0, 0 ) long -> zero-ref
;* V42 tmp38 [V42 ] ( 0, 0 ) long -> zero-ref
; V43 tmp39 [V43,T55] ( 5, 2.50) int -> rdi "Inline return value spill temp"
; V43 tmp39 [V43,T55] ( 5, 2.50) int -> rdi "Inline return value spill temp"
;* V44 tmp40 [V44 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest ld-addr-op "Inlining Arg" <System.UInt128>
;* V44 tmp40 [V44 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest ld-addr-op "Inlining Arg" <System.UInt128>
;* V45 tmp41 [V45 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V45 tmp41 [V45 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
; V46 tmp42 [V46,T56] ( 5, 2.50) int -> rdi "Inline stloc first use temp"
; V46 tmp42 [V46,T56] ( 5, 2.50) int -> rdi "Inline stloc first use temp"
;* V47 tmp43 [V47 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V47 tmp43 [V47 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V48 tmp44 [V48 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.UInt128>
;* V48 tmp44 [V48 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.UInt128>
;* V49 tmp45 [V49 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V49 tmp45 [V49 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V50 tmp46 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V50 tmp46 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V51 tmp47 [V51 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V51 tmp47 [V51 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V52 tmp48 [V52 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V52 tmp48 [V52 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V53 tmp49 [V53,T65] ( 3, 1.50) long -> rdi "Inline stloc first use temp"
; V53 tmp49 [V53,T65] ( 3, 1.50) long -> rdi "Inline stloc first use temp"
;* V54 tmp50 [V54 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
;* V54 tmp50 [V54 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
;* V55 tmp51 [V55 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V55 tmp51 [V55 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V56 tmp52 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V56 tmp52 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V57 tmp53 [V57 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V57 tmp53 [V57 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V58 tmp54 [V58 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V58 tmp54 [V58 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V59 tmp55 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
;* V59 tmp55 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
;* V60 tmp56 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V60 tmp56 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V61 tmp57 [V61 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V61 tmp57 [V61 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V62 tmp58 [V62 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V62 tmp58 [V62 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V63 tmp59 [V63,T66] ( 3, 1.50) long -> rdi "Inline stloc first use temp"
; V63 tmp59 [V63,T66] ( 3, 1.50) long -> rdi "Inline stloc first use temp"
;* V64 tmp60 [V64 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
;* V64 tmp60 [V64 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
;* V65 tmp61 [V65 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V65 tmp61 [V65 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V66 tmp62 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V66 tmp62 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V67 tmp63 [V67 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V67 tmp63 [V67 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V68 tmp64 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V68 tmp64 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V69 tmp65 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
;* V69 tmp65 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
; V70 tmp66 [V70,T59] ( 4, 2 ) int -> rsi "Inline return value spill temp"
; V70 tmp66 [V70,T59] ( 4, 2 ) int -> rsi "Inline return value spill temp"
;* V71 tmp67 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V71 tmp67 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V72 tmp68 [V72 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128>
;* V72 tmp68 [V72 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128>
; V73 tmp69 [V73,T25] ( 4, 18 ) long -> r12 "Inlining Arg"
; V73 tmp69 [V73,T25] ( 4, 18 ) long -> r12 "Inlining Arg"
;* V74 tmp70 [V74 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128>
;* V74 tmp70 [V74 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128>
;* V75 tmp71 [V75 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V75 tmp71 [V75 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V76 tmp72 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128>
;* V76 tmp72 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128>
;* V77 tmp73 [V77 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V77 tmp73 [V77 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V78 tmp74 [V78 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V78 tmp74 [V78 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V79 tmp75 [V79 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V79 tmp75 [V79 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V80 tmp76 [V80 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128>
;* V80 tmp76 [V80 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128>
;* V81 tmp77 [V81 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V81 tmp77 [V81 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V82 tmp78 [V82 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V82 tmp78 [V82 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V83 tmp79 [V83 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V83 tmp79 [V83 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
; V84 tmp80 [V84,T36] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp"
; V84 tmp80 [V84,T36] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp"
;* V85 tmp81 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V85 tmp81 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V86 tmp82 [V86 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V86 tmp82 [V86 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V87 tmp83 [V87 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V87 tmp83 [V87 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V88 tmp84 [V88 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V88 tmp84 [V88 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V89 tmp85 [V89 ] ( 2, 8 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V89 tmp85 [V89 ] ( 2, 8 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
;* V90 tmp86 [V90 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V90 tmp86 [V90 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V91 tmp87 [V91 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V91 tmp87 [V91 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V92 tmp88 [V92 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V92 tmp88 [V92 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V93 tmp89 [V93,T37] ( 2, 8 ) long -> r14 "Inline stloc first use temp"
; V93 tmp89 [V93,T37] ( 2, 8 ) long -> r14 "Inline stloc first use temp"
;* V94 tmp90 [V94 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V94 tmp90 [V94 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V95 tmp91 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V95 tmp91 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V96 tmp92 [V96 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V96 tmp92 [V96 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V97 tmp93 [V97,T00] ( 10,592 ) long -> registers "Inlining Arg"
; V97 tmp93 [V97,T00] ( 10,592 ) long -> registers "Inlining Arg"
; V98 tmp94 [V98,T02] ( 8,496 ) long -> r12 "Inlining Arg"
; V98 tmp94 [V98,T02] ( 8,496 ) long -> r12 "Inlining Arg"
; V99 tmp95 [V99,T04] ( 6,392 ) int -> rdi "Inlining Arg"
; V99 tmp95 [V99,T04] ( 6,392 ) int -> rdi "Inlining Arg"
;* V100 tmp96 [V100 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V100 tmp96 [V100 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V101 tmp97 [V101 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V101 tmp97 [V101 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V102 tmp98 [V102 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V102 tmp98 [V102 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
; V103 tmp99 [V103,T06] ( 2,256 ) long -> r12 "dup spill"
; V103 tmp99 [V103,T06] ( 2,256 ) long -> r12 "dup spill"
; V104 tmp100 [V104,T16] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
; V104 tmp100 [V104,T16] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
;* V105 tmp101 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V105 tmp101 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V106 tmp102 [V106 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V106 tmp102 [V106 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V107 tmp103 [V107 ] ( 0, 0 ) long -> zero-ref
;* V107 tmp103 [V107 ] ( 0, 0 ) long -> zero-ref
;* V108 tmp104 [V108 ] ( 0, 0 ) long -> zero-ref
;* V108 tmp104 [V108 ] ( 0, 0 ) long -> zero-ref
;* V109 tmp105 [V109 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V109 tmp105 [V109 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V110 tmp106 [V110 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V110 tmp106 [V110 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V111 tmp107 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V111 tmp107 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V112 tmp108 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V112 tmp108 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V113 tmp109 [V113 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V113 tmp109 [V113 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V114 tmp110 [V114,T08] ( 3,192 ) long -> rdx "Inline stloc first use temp"
; V114 tmp110 [V114,T08] ( 3,192 ) long -> rdx "Inline stloc first use temp"
;* V115 tmp111 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V115 tmp111 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V116 tmp112 [V116 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V116 tmp112 [V116 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V117 tmp113 [V117 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V117 tmp113 [V117 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V118 tmp114 [V118 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V118 tmp114 [V118 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
; V119 tmp115 [V119,T20] ( 9, 37 ) long -> registers "Inlining Arg"
; V119 tmp115 [V119,T20] ( 9, 37 ) long -> registers "Inlining Arg"
; V120 tmp116 [V120,T24] ( 6, 27 ) long -> rdi "Inlining Arg"
; V120 tmp116 [V120,T24] ( 6, 27 ) long -> rdi "Inlining Arg"
;* V121 tmp117 [V121 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V121 tmp117 [V121 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V122 tmp118 [V122 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V122 tmp118 [V122 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
; V123 tmp119 [V123,T32] ( 3, 12 ) long -> rdx "Inline stloc first use temp"
; V123 tmp119 [V123,T32] ( 3, 12 ) long -> rdx "Inline stloc first use temp"
;* V124 tmp120 [V124 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V124 tmp120 [V124 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V125 tmp121 [V125 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V125 tmp121 [V125 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V126 tmp122 [V126 ] ( 0, 0 ) long -> zero-ref
;* V126 tmp122 [V126 ] ( 0, 0 ) long -> zero-ref
;* V127 tmp123 [V127 ] ( 0, 0 ) long -> zero-ref
;* V127 tmp123 [V127 ] ( 0, 0 ) long -> zero-ref
;* V128 tmp124 [V128 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V128 tmp124 [V128 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V129 tmp125 [V129 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V129 tmp125 [V129 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V130 tmp126 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V130 tmp126 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V131 tmp127 [V131 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V131 tmp127 [V131 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V132 tmp128 [V132 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V132 tmp128 [V132 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V133 tmp129 [V133,T70] ( 2, 1 ) long -> rdi
; V133 tmp129 [V133,T70] ( 2, 1 ) long -> rdi
;* V134 tmp130 [V134 ] ( 0, 0 ) long -> zero-ref
;* V134 tmp130 [V134 ] ( 0, 0 ) long -> zero-ref
;* V135 tmp131 [V135 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V135 tmp131 [V135 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V136 tmp132 [V136 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V136 tmp132 [V136 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V137 tmp133 [V137 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V137 tmp133 [V137 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V138 tmp134 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V138 tmp134 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V139 tmp135 [V139 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V139 tmp135 [V139 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V140 tmp136 [V140 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V140 tmp136 [V140 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V141 tmp137 [V141 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128>
;* V141 tmp137 [V141 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128>
; V142 tmp138 [V142,T26] ( 4, 18 ) long -> r12 "Inlining Arg"
; V142 tmp138 [V142,T26] ( 4, 18 ) long -> r12 "Inlining Arg"
; V143 tmp139 [V143,T27] ( 4, 18 ) int -> rbx "Inlining Arg"
; V143 tmp139 [V143,T27] ( 4, 18 ) int -> rbx "Inlining Arg"
;* V144 tmp140 [V144 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128>
;* V144 tmp140 [V144 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128>
;* V145 tmp141 [V145 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V145 tmp141 [V145 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V146 tmp142 [V146 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128>
;* V146 tmp142 [V146 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128>
;* V147 tmp143 [V147 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V147 tmp143 [V147 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V148 tmp144 [V148 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V148 tmp144 [V148 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V149 tmp145 [V149 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V149 tmp145 [V149 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V150 tmp146 [V150 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128>
;* V150 tmp146 [V150 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128>
;* V151 tmp147 [V151 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V151 tmp147 [V151 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V152 tmp148 [V152 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V152 tmp148 [V152 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V153 tmp149 [V153 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V153 tmp149 [V153 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
; V154 tmp150 [V154,T38] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp"
; V154 tmp150 [V154,T38] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp"
;* V155 tmp151 [V155 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V155 tmp151 [V155 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V156 tmp152 [V156 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V156 tmp152 [V156 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V157 tmp153 [V157 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V157 tmp153 [V157 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V158 tmp154 [V158 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V158 tmp154 [V158 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V159 tmp155 [V159 ] ( 2, 8 ) long -> [rbp-0x48] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V159 tmp155 [V159 ] ( 2, 8 ) long -> [rbp-0x48] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
;* V160 tmp156 [V160 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V160 tmp156 [V160 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V161 tmp157 [V161 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V161 tmp157 [V161 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V162 tmp158 [V162 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V162 tmp158 [V162 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V163 tmp159 [V163,T39] ( 2, 8 ) long -> r14 "Inline stloc first use temp"
; V163 tmp159 [V163,T39] ( 2, 8 ) long -> r14 "Inline stloc first use temp"
;* V164 tmp160 [V164 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V164 tmp160 [V164 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V165 tmp161 [V165 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V165 tmp161 [V165 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V166 tmp162 [V166 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V166 tmp162 [V166 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V167 tmp163 [V167,T01] ( 10,592 ) long -> registers "Inlining Arg"
; V167 tmp163 [V167,T01] ( 10,592 ) long -> registers "Inlining Arg"
; V168 tmp164 [V168,T03] ( 8,496 ) long -> r12 "Inlining Arg"
; V168 tmp164 [V168,T03] ( 8,496 ) long -> r12 "Inlining Arg"
; V169 tmp165 [V169,T05] ( 6,392 ) int -> rcx "Inlining Arg"
; V169 tmp165 [V169,T05] ( 6,392 ) int -> rcx "Inlining Arg"
;* V170 tmp166 [V170 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V170 tmp166 [V170 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V171 tmp167 [V171 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V171 tmp167 [V171 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V172 tmp168 [V172 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V172 tmp168 [V172 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
; V173 tmp169 [V173,T07] ( 2,256 ) long -> r12 "dup spill"
; V173 tmp169 [V173,T07] ( 2,256 ) long -> r12 "dup spill"
; V174 tmp170 [V174,T17] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
; V174 tmp170 [V174,T17] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
;* V175 tmp171 [V175 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V175 tmp171 [V175 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V176 tmp172 [V176 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V176 tmp172 [V176 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V177 tmp173 [V177 ] ( 0, 0 ) long -> zero-ref
;* V177 tmp173 [V177 ] ( 0, 0 ) long -> zero-ref
;* V178 tmp174 [V178 ] ( 0, 0 ) long -> zero-ref
;* V178 tmp174 [V178 ] ( 0, 0 ) long -> zero-ref
;* V179 tmp175 [V179 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V179 tmp175 [V179 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V180 tmp176 [V180 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V180 tmp176 [V180 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V181 tmp177 [V181 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V181 tmp177 [V181 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V182 tmp178 [V182 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V182 tmp178 [V182 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V183 tmp179 [V183 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V183 tmp179 [V183 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V184 tmp180 [V184,T09] ( 3,192 ) long -> rdx "Inline stloc first use temp"
; V184 tmp180 [V184,T09] ( 3,192 ) long -> rdx "Inline stloc first use temp"
;* V185 tmp181 [V185 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V185 tmp181 [V185 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V186 tmp182 [V186 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V186 tmp182 [V186 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V187 tmp183 [V187 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V187 tmp183 [V187 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V188 tmp184 [V188,T10] ( 10,138 ) long -> registers "Inlining Arg"
; V188 tmp184 [V188,T10] ( 10,138 ) long -> registers "Inlining Arg"
; V189 tmp185 [V189,T13] ( 7,121 ) long -> rsi "Inlining Arg"
; V189 tmp185 [V189,T13] ( 7,121 ) long -> rsi "Inlining Arg"
; V190 tmp186 [V190,T14] ( 6, 89 ) int -> rcx "Inlining Arg"
; V190 tmp186 [V190,T14] ( 6, 89 ) int -> rcx "Inlining Arg"
;* V191 tmp187 [V191 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V191 tmp187 [V191 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V192 tmp188 [V192 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V192 tmp188 [V192 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V193 tmp189 [V193 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V193 tmp189 [V193 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
; V194 tmp190 [V194,T15] ( 2, 64 ) long -> rsi "dup spill"
; V194 tmp190 [V194,T15] ( 2, 64 ) long -> rsi "dup spill"
; V195 tmp191 [V195,T33] ( 3, 12 ) long -> rdx "Inline stloc first use temp"
; V195 tmp191 [V195,T33] ( 3, 12 ) long -> rdx "Inline stloc first use temp"
;* V196 tmp192 [V196 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V196 tmp192 [V196 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V197 tmp193 [V197 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V197 tmp193 [V197 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V198 tmp194 [V198 ] ( 0, 0 ) long -> zero-ref
;* V198 tmp194 [V198 ] ( 0, 0 ) long -> zero-ref
;* V199 tmp195 [V199 ] ( 0, 0 ) long -> zero-ref
;* V199 tmp195 [V199 ] ( 0, 0 ) long -> zero-ref
;* V200 tmp196 [V200 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V200 tmp196 [V200 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V201 tmp197 [V201 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V201 tmp197 [V201 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V202 tmp198 [V202 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V202 tmp198 [V202 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V203 tmp199 [V203 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V203 tmp199 [V203 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V204 tmp200 [V204 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V204 tmp200 [V204 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V205 tmp201 [V205,T18] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
; V205 tmp201 [V205,T18] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
;* V206 tmp202 [V206 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V206 tmp202 [V206 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V207 tmp203 [V207 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V207 tmp203 [V207 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V208 tmp204 [V208 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V208 tmp204 [V208 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V209 tmp205 [V209,T44] ( 3, 6 ) int -> rdx "Inlining Arg"
; V209 tmp205 [V209,T44] ( 3, 6 ) int -> rdx "Inlining Arg"
;* V210 tmp206 [V210 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V210 tmp206 [V210 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
コピー
コピー済み
コピー
コピー済み
;* V211 tmp207 [V211 ] ( 0, 0 )
byref -> zero-ref "Inlining Arg"
;* V211 tmp207 [V211 ] ( 0, 0 )
int -> zero-ref "Inlining Arg"
;* V21
2
tmp20
8
[V21
2
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V212 tmp208 [V212 ] ( 0, 0 )
byref -> zero-ref "Inlining Arg"
;
V21
3
tmp2
09
[V21
3
] (
4
,
8
) struct (16)
[rbp-0x58] do-not-enreg[XSA]
multireg-arg
must-init addr-exposed
ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V21
3
tmp20
9
[V21
3
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;
V214 tmp210
[V21
4
,T48] ( 3, 2 ) long -> r14 single-def "field V01._lower (fldOffset=0x0)" P-INDEP
;
*
V21
4
tmp2
10
[V21
4
] (
0
,
0
) struct (16)
zero-ref
multireg-arg
ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
; V21
5
tmp21
1
[V21
5
,T46] ( 4, 3 ) long -> rbx single-def "field V01._upper (fldOffset=0x8)" P-INDEP
;
* V215 tmp211 [V215 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
; V21
6
tmp21
2
[V21
6
,T52] ( 5, 3.50) byref -> r13 single-def "field V02._reference (fldOffset=0x0)" P-INDEP
;* V216 tmp212 [V216 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;*
V217
tmp21
3
[
V217
,T71] ( 0, 0 ) int -> zero-ref "field V02._length (fldOffset=0x8)" P-INDEP
; V217 tmp213
[V21
7
,T48] ( 3, 2 ) long -> r14 single-def "field V01._lower (fldOffset=0x0)" P-INDEP
; V
218
tmp21
4
[V
218
,T61] ( 2, 2 ) byref -> r13 single-def "field V05._reference (fldOffset=0x0)" P-INDEP
; V21
8
tmp21
4
[V21
8
,T46] ( 4, 3 ) long -> rbx single-def "field V01._upper (fldOffset=0x8)" P-INDEP
;*
V219
tmp21
5
[
V219
,T72] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
; V21
9
tmp21
5
[V21
9
,T52] ( 5, 3.50) byref -> r13 single-def "field V02._reference (fldOffset=0x0)" P-INDEP
;* V22
0
tmp21
6
[V22
0
] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP
;*
V220
tmp21
6
[
V220
,T71] ( 0, 0 ) int -> zero-ref "field V02._length (fldOffset=0x8)" P-INDEP
;* V22
1
tmp2
17
[V22
1
] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP
; V
221
tmp21
7
[V
221
,T61] ( 2, 2 ) byref -> r13 single-def "field V05._reference (fldOffset=0x0)" P-INDEP
;* V22
2
tmp
218
[V22
2
] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
;*
V222
tmp21
8
[
V222
,T72] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
;* V22
3
tmp2
19
[V22
3
] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
;* V22
3
tmp21
9
[V22
3
] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP
;* V22
4
tmp22
0
[V22
4
] ( 0, 0 ) long -> zero-ref "field V09._lower (fldOffset=0x0)" P-INDEP
;* V22
4
tmp2
20
[V22
4
] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP
;* V22
5
tmp22
1
[V22
5
] ( 0, 0 ) long -> zero-ref "field V0
9._upper (fldOffset=0x8)" P-INDEP
;* V22
5
tmp
221
[V22
5
] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
;* V226 tmp222 [V226 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP
;* V22
6
tmp2
22
[V22
6
] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
;* V227 tmp223 [V227 ] ( 0, 0 ) int -> zero
;* V22
7
tmp22
3
[V22
7
] ( 0, 0 ) long -> zero-ref "field V09._lower (fldOffset=0x0)" P-INDEP
;* V22
8
tmp22
4
[V22
8
] ( 0, 0 ) long -> zero-ref "field V0
保存された差分
原文
ファイルを開く
; Assembly listing for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (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; 77 single block inlinees; 32 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T47] ( 3, 3 ) ref -> r15 class-hnd single-def <System.Text.Json.Utf8JsonWriter> ;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Int128> ;* V02 loc0 [V02 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]> ; V03 loc1 [V03 ] ( 4, 2.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op ; V04 OutArgs [V04 ] ( 1, 1 ) struct (16) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED> ;* V05 tmp1 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]> ;* V06 tmp2 [V06 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]> ;* V07 tmp3 [V07 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]> ; V08 tmp4 [V08,T49] ( 2, 4 ) long -> r13 "Inlining Arg" ;* V09 tmp5 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Int128> ;* V10 tmp6 [V10 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Span`1[ubyte]> ; V11 tmp7 [V11,T69] ( 2, 1.50) ref -> rdi class-hnd exact single-def "Inline stloc first use temp" <System.Globalization.CultureInfo> ;* V12 tmp8 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]> ;* V13 tmp9 [V13 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]> ;* V14 tmp10 [V14 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V15 tmp11 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]> ;* V16 tmp12 [V16 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Int128> ;* V17 tmp13 [V17 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V18 tmp14 [V18 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]> ; V19 tmp15 [V19,T57] ( 4, 2 ) ref -> r12 class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo> ;* V20 tmp16 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]> ; V21 tmp17 [V21,T60] ( 2, 2 ) ref -> rax class-hnd single-def "dup spill" <ubyte[]> ; V22 tmp18 [V22,T53] ( 6, 3 ) ref -> rax ;* V23 tmp19 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <ubyte[]> ;* V24 tmp20 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]> ; V25 tmp21 [V25,T54] ( 3, 3 ) ref -> rdi single-def "Spilling to split statement for tree" ; V26 tmp22 [V26,T45] ( 5, 5 ) ref -> rsi single-def "Spilling to split statement for tree" ; V27 tmp23 [V27,T58] ( 4, 2 ) ref -> [rbp-0x60] class-hnd "Inline return value spill temp" <ubyte[]> ;* V28 tmp24 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.String> ;* V29 tmp25 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed> ;* V30 tmp26 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ubyte[]> ;* V31 tmp27 [V31 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V32 tmp28 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <ubyte[]> ;* V33 tmp29 [V33 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V34 tmp30 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V35 tmp31 [V35 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V36 tmp32 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V37 tmp33 [V37 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V38 tmp34 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V39 tmp35 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ; V40 tmp36 [V40 ] ( 3, 1.50) byref -> [rbp-0x38] must-init pinned "Inline stloc first use temp" ; V41 tmp37 [V41,T64] ( 3, 1.50) long -> r12 "Inline stloc first use temp" ;* V42 tmp38 [V42 ] ( 0, 0 ) long -> zero-ref ; V43 tmp39 [V43,T55] ( 5, 2.50) int -> rdi "Inline return value spill temp" ;* V44 tmp40 [V44 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest ld-addr-op "Inlining Arg" <System.UInt128> ;* V45 tmp41 [V45 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ; V46 tmp42 [V46,T56] ( 5, 2.50) int -> rdi "Inline stloc first use temp" ;* V47 tmp43 [V47 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V48 tmp44 [V48 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.UInt128> ;* V49 tmp45 [V49 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V50 tmp46 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V51 tmp47 [V51 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V52 tmp48 [V52 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V53 tmp49 [V53,T65] ( 3, 1.50) long -> rdi "Inline stloc first use temp" ;* V54 tmp50 [V54 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]> ;* V55 tmp51 [V55 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V56 tmp52 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V57 tmp53 [V57 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V58 tmp54 [V58 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V59 tmp55 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]> ;* V60 tmp56 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V61 tmp57 [V61 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V62 tmp58 [V62 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V63 tmp59 [V63,T66] ( 3, 1.50) long -> rdi "Inline stloc first use temp" ;* V64 tmp60 [V64 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]> ;* V65 tmp61 [V65 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V66 tmp62 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V67 tmp63 [V67 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V68 tmp64 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V69 tmp65 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]> ; V70 tmp66 [V70,T59] ( 4, 2 ) int -> rsi "Inline return value spill temp" ;* V71 tmp67 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ;* V72 tmp68 [V72 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128> ; V73 tmp69 [V73,T25] ( 4, 18 ) long -> r12 "Inlining Arg" ;* V74 tmp70 [V74 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128> ;* V75 tmp71 [V75 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V76 tmp72 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128> ;* V77 tmp73 [V77 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V78 tmp74 [V78 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V79 tmp75 [V79 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V80 tmp76 [V80 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128> ;* V81 tmp77 [V81 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V82 tmp78 [V82 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V83 tmp79 [V83 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ; V84 tmp80 [V84,T36] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp" ;* V85 tmp81 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V86 tmp82 [V86 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ;* V87 tmp83 [V87 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V88 tmp84 [V88 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V89 tmp85 [V89 ] ( 2, 8 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V90 tmp86 [V90 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V91 tmp87 [V91 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V92 tmp88 [V92 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V93 tmp89 [V93,T37] ( 2, 8 ) long -> r14 "Inline stloc first use temp" ;* V94 tmp90 [V94 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V95 tmp91 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V96 tmp92 [V96 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V97 tmp93 [V97,T00] ( 10,592 ) long -> registers "Inlining Arg" ; V98 tmp94 [V98,T02] ( 8,496 ) long -> r12 "Inlining Arg" ; V99 tmp95 [V99,T04] ( 6,392 ) int -> rdi "Inlining Arg" ;* V100 tmp96 [V100 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V101 tmp97 [V101 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V102 tmp98 [V102 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V103 tmp99 [V103,T06] ( 2,256 ) long -> r12 "dup spill" ; V104 tmp100 [V104,T16] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V105 tmp101 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V106 tmp102 [V106 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V107 tmp103 [V107 ] ( 0, 0 ) long -> zero-ref ;* V108 tmp104 [V108 ] ( 0, 0 ) long -> zero-ref ;* V109 tmp105 [V109 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V110 tmp106 [V110 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V111 tmp107 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V112 tmp108 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V113 tmp109 [V113 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V114 tmp110 [V114,T08] ( 3,192 ) long -> rdx "Inline stloc first use temp" ;* V115 tmp111 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V116 tmp112 [V116 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V117 tmp113 [V117 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V118 tmp114 [V118 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ; V119 tmp115 [V119,T20] ( 9, 37 ) long -> registers "Inlining Arg" ; V120 tmp116 [V120,T24] ( 6, 27 ) long -> rdi "Inlining Arg" ;* V121 tmp117 [V121 ] ( 0, 0 ) long -> zero-ref "dup spill" ;* V122 tmp118 [V122 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V123 tmp119 [V123,T32] ( 3, 12 ) long -> rdx "Inline stloc first use temp" ;* V124 tmp120 [V124 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V125 tmp121 [V125 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V126 tmp122 [V126 ] ( 0, 0 ) long -> zero-ref ;* V127 tmp123 [V127 ] ( 0, 0 ) long -> zero-ref ;* V128 tmp124 [V128 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V129 tmp125 [V129 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V130 tmp126 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V131 tmp127 [V131 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V132 tmp128 [V132 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V133 tmp129 [V133,T70] ( 2, 1 ) long -> rdi ;* V134 tmp130 [V134 ] ( 0, 0 ) long -> zero-ref ;* V135 tmp131 [V135 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V136 tmp132 [V136 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V137 tmp133 [V137 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V138 tmp134 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V139 tmp135 [V139 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V140 tmp136 [V140 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V141 tmp137 [V141 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128> ; V142 tmp138 [V142,T26] ( 4, 18 ) long -> r12 "Inlining Arg" ; V143 tmp139 [V143,T27] ( 4, 18 ) int -> rbx "Inlining Arg" ;* V144 tmp140 [V144 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128> ;* V145 tmp141 [V145 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V146 tmp142 [V146 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128> ;* V147 tmp143 [V147 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V148 tmp144 [V148 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V149 tmp145 [V149 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V150 tmp146 [V150 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128> ;* V151 tmp147 [V151 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V152 tmp148 [V152 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V153 tmp149 [V153 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ; V154 tmp150 [V154,T38] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp" ;* V155 tmp151 [V155 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V156 tmp152 [V156 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ;* V157 tmp153 [V157 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V158 tmp154 [V158 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V159 tmp155 [V159 ] ( 2, 8 ) long -> [rbp-0x48] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V160 tmp156 [V160 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V161 tmp157 [V161 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V162 tmp158 [V162 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V163 tmp159 [V163,T39] ( 2, 8 ) long -> r14 "Inline stloc first use temp" ;* V164 tmp160 [V164 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V165 tmp161 [V165 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V166 tmp162 [V166 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V167 tmp163 [V167,T01] ( 10,592 ) long -> registers "Inlining Arg" ; V168 tmp164 [V168,T03] ( 8,496 ) long -> r12 "Inlining Arg" ; V169 tmp165 [V169,T05] ( 6,392 ) int -> rcx "Inlining Arg" ;* V170 tmp166 [V170 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V171 tmp167 [V171 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V172 tmp168 [V172 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V173 tmp169 [V173,T07] ( 2,256 ) long -> r12 "dup spill" ; V174 tmp170 [V174,T17] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V175 tmp171 [V175 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V176 tmp172 [V176 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V177 tmp173 [V177 ] ( 0, 0 ) long -> zero-ref ;* V178 tmp174 [V178 ] ( 0, 0 ) long -> zero-ref ;* V179 tmp175 [V179 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V180 tmp176 [V180 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V181 tmp177 [V181 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V182 tmp178 [V182 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V183 tmp179 [V183 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V184 tmp180 [V184,T09] ( 3,192 ) long -> rdx "Inline stloc first use temp" ;* V185 tmp181 [V185 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V186 tmp182 [V186 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V187 tmp183 [V187 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V188 tmp184 [V188,T10] ( 10,138 ) long -> registers "Inlining Arg" ; V189 tmp185 [V189,T13] ( 7,121 ) long -> rsi "Inlining Arg" ; V190 tmp186 [V190,T14] ( 6, 89 ) int -> rcx "Inlining Arg" ;* V191 tmp187 [V191 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V192 tmp188 [V192 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V193 tmp189 [V193 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V194 tmp190 [V194,T15] ( 2, 64 ) long -> rsi "dup spill" ; V195 tmp191 [V195,T33] ( 3, 12 ) long -> rdx "Inline stloc first use temp" ;* V196 tmp192 [V196 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V197 tmp193 [V197 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V198 tmp194 [V198 ] ( 0, 0 ) long -> zero-ref ;* V199 tmp195 [V199 ] ( 0, 0 ) long -> zero-ref ;* V200 tmp196 [V200 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V201 tmp197 [V201 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V202 tmp198 [V202 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V203 tmp199 [V203 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V204 tmp200 [V204 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V205 tmp201 [V205,T18] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V206 tmp202 [V206 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V207 tmp203 [V207 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V208 tmp204 [V208 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V209 tmp205 [V209,T44] ( 3, 6 ) int -> rdx "Inlining Arg" ;* V210 tmp206 [V210 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]> ;* V211 tmp207 [V211 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V212 tmp208 [V212 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ; V213 tmp209 [V213 ] ( 4, 8 ) struct (16) [rbp-0x58] do-not-enreg[XSA] multireg-arg must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ; V214 tmp210 [V214,T48] ( 3, 2 ) long -> r14 single-def "field V01._lower (fldOffset=0x0)" P-INDEP ; V215 tmp211 [V215,T46] ( 4, 3 ) long -> rbx single-def "field V01._upper (fldOffset=0x8)" P-INDEP ; V216 tmp212 [V216,T52] ( 5, 3.50) byref -> r13 single-def "field V02._reference (fldOffset=0x0)" P-INDEP ;* V217 tmp213 [V217,T71] ( 0, 0 ) int -> zero-ref "field V02._length (fldOffset=0x8)" P-INDEP ; V218 tmp214 [V218,T61] ( 2, 2 ) byref -> r13 single-def "field V05._reference (fldOffset=0x0)" P-INDEP ;* V219 tmp215 [V219,T72] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP ;* V220 tmp216 [V220 ] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP ;* V221 tmp217 [V221 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP ;* V222 tmp218 [V222 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP ;* V223 tmp219 [V223 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP ;* V224 tmp220 [V224 ] ( 0, 0 ) long -> zero-ref "field V09._lower (fldOffset=0x0)" P-INDEP ;* V225 tmp221 [V225 ] ( 0, 0 ) long -> zero-ref "field V09._upper (fldOffset=0x8)" P-INDEP ;* V226 tmp222 [V226 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP ;* V227 tmp223 [V227 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP ;* V228 tmp224 [V228 ] ( 0, 0 ) byref -> zero-ref single-def "field V12._reference (fldOffset=0x0)" P-INDEP ;* V229 tmp225 [V229 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP ;* V230 tmp226 [V230 ] ( 0, 0 ) byref -> zero-ref single-def "field V13._reference (fldOffset=0x0)" P-INDEP ;* V231 tmp227 [V231 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP ;* V232 tmp228 [V232 ] ( 0, 0 ) byref -> zero-ref single-def "field V15._reference (fldOffset=0x0)" P-INDEP ;* V233 tmp229 [V233 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP ;* V234 tmp230 [V234 ] ( 0, 0 ) long -> zero-ref "field V16._lower (fldOffset=0x0)" P-INDEP ;* V235 tmp231 [V235 ] ( 0, 0 ) long -> zero-ref "field V16._upper (fldOffset=0x8)" P-INDEP ;* V236 tmp232 [V236 ] ( 0, 0 ) long -> zero-ref "field V17._lower (fldOffset=0x0)" P-INDEP ;* V237 tmp233 [V237 ] ( 0, 0 ) long -> zero-ref "field V17._upper (fldOffset=0x8)" P-INDEP ;* V238 tmp234 [V238 ] ( 0, 0 ) byref -> zero-ref "field V18._reference (fldOffset=0x0)" P-INDEP ;* V239 tmp235 [V239 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP ;* V240 tmp236 [V240 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP ;* V241 tmp237 [V241 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP ; V242 tmp238 [V242,T63] ( 3, 1.50) byref -> rcx "field V31._reference (fldOffset=0x0)" P-INDEP ; V243 tmp239 [V243,T67] ( 3, 1.50) int -> r8 "field V31._length (fldOffset=0x8)" P-INDEP ; V244 tmp240 [V244,T50] ( 7, 3.50) long -> r14 "field V33._lower (fldOffset=0x0)" P-INDEP ; V245 tmp241 [V245,T51] ( 7, 3.50) long -> rbx "field V33._upper (fldOffset=0x8)" P-INDEP ;* V246 tmp242 [V246 ] ( 0, 0 ) byref -> zero-ref single-def "field V39._reference (fldOffset=0x0)" P-INDEP ;* V247 tmp243 [V247 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP ; V248 tmp244 [V248,T68] ( 3, 1.50) long -> rax "field V44._lower (fldOffset=0x0)" P-INDEP ; V249 tmp245 [V249,T73] ( 1, 0.50) long -> rdx "field V44._upper (fldOffset=0x8)" P-INDEP ;* V250 tmp246 [V250 ] ( 0, 0 ) long -> zero-ref "field V47._lower (fldOffset=0x0)" P-INDEP ;* V251 tmp247 [V251 ] ( 0, 0 ) long -> zero-ref "field V47._upper (fldOffset=0x8)" P-INDEP ;* V252 tmp248 [V252 ] ( 0, 0 ) long -> zero-ref "field V48._lower (fldOffset=0x0)" P-INDEP ;* V253 tmp249 [V253 ] ( 0, 0 ) long -> zero-ref "field V48._upper (fldOffset=0x8)" P-INDEP ;* V254 tmp250 [V254 ] ( 0, 0 ) long -> zero-ref "field V49._lower (fldOffset=0x0)" P-DEP ;* V255 tmp251 [V255 ] ( 0, 0 ) long -> zero-ref "field V49._upper (fldOffset=0x8)" P-DEP ;* V256 tmp252 [V256 ] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP ;* V257 tmp253 [V257 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP ;* V258 tmp254 [V258 ] ( 0, 0 ) byref -> zero-ref single-def "field V54._reference (fldOffset=0x0)" P-INDEP ;* V259 tmp255 [V259 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP ;* V260 tmp256 [V260 ] ( 0, 0 ) byref -> zero-ref single-def "field V56._reference (fldOffset=0x0)" P-INDEP ;* V261 tmp257 [V261 ] ( 0, 0 ) int -> zero-ref "field V56._length (fldOffset=0x8)" P-INDEP ;* V262 tmp258 [V262 ] ( 0, 0 ) byref -> zero-ref single-def "field V59._reference (fldOffset=0x0)" P-INDEP ;* V263 tmp259 [V263 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP ;* V264 tmp260 [V264 ] ( 0, 0 ) byref -> zero-ref single-def "field V60._reference (fldOffset=0x0)" P-INDEP ;* V265 tmp261 [V265 ] ( 0, 0 ) int -> zero-ref "field V60._length (fldOffset=0x8)" P-INDEP ;* V266 tmp262 [V266 ] ( 0, 0 ) byref -> zero-ref single-def "field V64._reference (fldOffset=0x0)" P-INDEP ;* V267 tmp263 [V267 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP ;* V268 tmp264 [V268 ] ( 0, 0 ) byref -> zero-ref single-def "field V66._reference (fldOffset=0x0)" P-INDEP ;* V269 tmp265 [V269 ] ( 0, 0 ) int -> zero-ref "field V66._length (fldOffset=0x8)" P-INDEP ;* V270 tmp266 [V270 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP ;* V271 tmp267 [V271 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP ;* V272 tmp268 [V272 ] ( 0, 0 ) byref -> zero-ref single-def "field V71._reference (fldOffset=0x0)" P-INDEP ;* V273 tmp269 [V273 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP ; V274 tmp270 [V274,T28] ( 5, 13 ) long -> registers "field V72._lower (fldOffset=0x0)" P-INDEP ; V275 tmp271 [V275,T29] ( 5, 13 ) long -> rsi "field V72._upper (fldOffset=0x8)" P-INDEP ;* V276 tmp272 [V276 ] ( 0, 0 ) long -> zero-ref "field V74._lower (fldOffset=0x0)" P-INDEP ;* V277 tmp273 [V277 ] ( 0, 0 ) long -> zero-ref "field V74._upper (fldOffset=0x8)" P-INDEP ;* V278 tmp274 [V278 ] ( 0, 0 ) long -> zero-ref "field V76._lower (fldOffset=0x0)" P-INDEP ;* V279 tmp275 [V279 ] ( 0, 0 ) long -> zero-ref "field V76._upper (fldOffset=0x8)" P-INDEP ;* V280 tmp276 [V280 ] ( 0, 0 ) long -> zero-ref "field V77._lower (fldOffset=0x0)" P-INDEP ;* V281 tmp277 [V281 ] ( 0, 0 ) long -> zero-ref "field V77._upper (fldOffset=0x8)" P-INDEP ;* V282 tmp278 [V282 ] ( 0, 0 ) long -> zero-ref "field V78._lower (fldOffset=0x0)" P-INDEP ;* V283 tmp279 [V283 ] ( 0, 0 ) long -> zero-ref "field V78._upper (fldOffset=0x8)" P-INDEP ;* V284 tmp280 [V284 ] ( 0, 0 ) long -> zero-ref "field V79._lower (fldOffset=0x0)" P-DEP ;* V285 tmp281 [V285 ] ( 0, 0 ) long -> zero-ref "field V79._upper (fldOffset=0x8)" P-DEP ; V286 tmp282 [V286,T34] ( 3, 12 ) long -> rax "field V80._lower (fldOffset=0x0)" P-INDEP ; V287 tmp283 [V287,T40] ( 2, 8 ) long -> rsi "field V80._upper (fldOffset=0x8)" P-INDEP ;* V288 tmp284 [V288 ] ( 0, 0 ) long -> zero-ref "field V81._lower (fldOffset=0x0)" P-INDEP ;* V289 tmp285 [V289 ] ( 0, 0 ) long -> zero-ref "field V81._upper (fldOffset=0x8)" P-INDEP ;* V290 tmp286 [V290 ] ( 0, 0 ) long -> zero-ref "field V83._lower (fldOffset=0x0)" P-INDEP ;* V291 tmp287 [V291 ] ( 0, 0 ) long -> zero-ref "field V83._upper (fldOffset=0x8)" P-INDEP ;* V292 tmp288 [V292 ] ( 0, 0 ) long -> zero-ref "field V85._lower (fldOffset=0x0)" P-INDEP ;* V293 tmp289 [V293 ] ( 0, 0 ) long -> zero-ref "field V85._upper (fldOffset=0x8)" P-INDEP ;* V294 tmp290 [V294 ] ( 0, 0 ) long -> zero-ref "field V95._lower (fldOffset=0x0)" P-INDEP ;* V295 tmp291 [V295 ] ( 0, 0 ) long -> zero-ref "field V95._upper (fldOffset=0x8)" P-INDEP ;* V296 tmp292 [V296 ] ( 0, 0 ) long -> zero-ref "field V100.Item1 (fldOffset=0x0)" P-INDEP ;* V297 tmp293 [V297 ] ( 0, 0 ) long -> zero-ref "field V100.Item2 (fldOffset=0x8)" P-INDEP ;* V298 tmp294 [V298 ] ( 0, 0 ) long -> zero-ref "field V102.Item1 (fldOffset=0x0)" P-INDEP ;* V299 tmp295 [V299 ] ( 0, 0 ) long -> zero-ref "field V102.Item2 (fldOffset=0x8)" P-INDEP ;* V300 tmp296 [V300 ] ( 0, 0 ) long -> zero-ref "field V105.Item1 (fldOffset=0x0)" P-INDEP ; V301 tmp297 [V301,T21] ( 2, 32 ) long -> r14 "field V105.Item2 (fldOffset=0x8)" P-INDEP ;* V302 tmp298 [V302 ] ( 0, 0 ) byref -> zero-ref "field V109._reference (fldOffset=0x0)" P-INDEP ;* V303 tmp299 [V303 ] ( 0, 0 ) int -> zero-ref "field V109._length (fldOffset=0x8)" P-INDEP ;* V304 tmp300 [V304 ] ( 0, 0 ) byref -> zero-ref "field V111._reference (fldOffset=0x0)" P-INDEP ;* V305 tmp301 [V305 ] ( 0, 0 ) int -> zero-ref "field V111._length (fldOffset=0x8)" P-INDEP ;* V306 tmp302 [V306 ] ( 0, 0 ) byref -> zero-ref "field V112._reference (fldOffset=0x0)" P-INDEP ;* V307 tmp303 [V307 ] ( 0, 0 ) int -> zero-ref "field V112._length (fldOffset=0x8)" P-INDEP ;* V308 tmp304 [V308 ] ( 0, 0 ) long -> zero-ref "field V115.Item1 (fldOffset=0x0)" P-INDEP ; V309 tmp305 [V309,T11] ( 2,128 ) long -> r8 "field V115.Item2 (fldOffset=0x8)" P-INDEP ;* V310 tmp306 [V310 ] ( 0, 0 ) long -> zero-ref "field V122.Item1 (fldOffset=0x0)" P-INDEP ;* V311 tmp307 [V311 ] ( 0, 0 ) long -> zero-ref "field V122.Item2 (fldOffset=0x8)" P-INDEP ;* V312 tmp308 [V312 ] ( 0, 0 ) long -> zero-ref "field V124.Item1 (fldOffset=0x0)" P-INDEP ; V313 tmp309 [V313,T41] ( 2, 8 ) long -> rcx "field V124.Item2 (fldOffset=0x8)" P-INDEP ;* V314 tmp310 [V314 ] ( 0, 0 ) byref -> zero-ref "field V128._reference (fldOffset=0x0)" P-INDEP ;* V315 tmp311 [V315 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP ;* V316 tmp312 [V316 ] ( 0, 0 ) byref -> zero-ref "field V130._reference (fldOffset=0x0)" P-INDEP ;* V317 tmp313 [V317 ] ( 0, 0 ) int -> zero-ref "field V130._length (fldOffset=0x8)" P-INDEP ;* V318 tmp314 [V318 ] ( 0, 0 ) byref -> zero-ref "field V131._reference (fldOffset=0x0)" P-INDEP ;* V319 tmp315 [V319 ] ( 0, 0 ) int -> zero-ref "field V131._length (fldOffset=0x8)" P-INDEP ;* V320 tmp316 [V320 ] ( 0, 0 ) byref -> zero-ref "field V135._reference (fldOffset=0x0)" P-INDEP ;* V321 tmp317 [V321 ] ( 0, 0 ) int -> zero-ref "field V135._length (fldOffset=0x8)" P-INDEP ;* V322 tmp318 [V322 ] ( 0, 0 ) byref -> zero-ref single-def "field V137._reference (fldOffset=0x0)" P-INDEP ;* V323 tmp319 [V323 ] ( 0, 0 ) int -> zero-ref "field V137._length (fldOffset=0x8)" P-INDEP ;* V324 tmp320 [V324 ] ( 0, 0 ) byref -> zero-ref single-def "field V138._reference (fldOffset=0x0)" P-INDEP ;* V325 tmp321 [V325 ] ( 0, 0 ) int -> zero-ref "field V138._length (fldOffset=0x8)" P-INDEP ; V326 tmp322 [V326,T30] ( 5, 13 ) long -> registers "field V141._lower (fldOffset=0x0)" P-INDEP ; V327 tmp323 [V327,T31] ( 5, 13 ) long -> rsi "field V141._upper (fldOffset=0x8)" P-INDEP ;* V328 tmp324 [V328 ] ( 0, 0 ) long -> zero-ref "field V144._lower (fldOffset=0x0)" P-INDEP ;* V329 tmp325 [V329 ] ( 0, 0 ) long -> zero-ref "field V144._upper (fldOffset=0x8)" P-INDEP ;* V330 tmp326 [V330 ] ( 0, 0 ) long -> zero-ref "field V146._lower (fldOffset=0x0)" P-INDEP ;* V331 tmp327 [V331 ] ( 0, 0 ) long -> zero-ref "field V146._upper (fldOffset=0x8)" P-INDEP ;* V332 tmp328 [V332 ] ( 0, 0 ) long -> zero-ref "field V147._lower (fldOffset=0x0)" P-INDEP ;* V333 tmp329 [V333 ] ( 0, 0 ) long -> zero-ref "field V147._upper (fldOffset=0x8)" P-INDEP ;* V334 tmp330 [V334 ] ( 0, 0 ) long -> zero-ref "field V148._lower (fldOffset=0x0)" P-INDEP ;* V335 tmp331 [V335 ] ( 0, 0 ) long -> zero-ref "field V148._upper (fldOffset=0x8)" P-INDEP ;* V336 tmp332 [V336 ] ( 0, 0 ) long -> zero-ref "field V149._lower (fldOffset=0x0)" P-DEP ;* V337 tmp333 [V337 ] ( 0, 0 ) long -> zero-ref "field V149._upper (fldOffset=0x8)" P-DEP ; V338 tmp334 [V338,T35] ( 3, 12 ) long -> rax "field V150._lower (fldOffset=0x0)" P-INDEP ; V339 tmp335 [V339,T42] ( 2, 8 ) long -> rsi "field V150._upper (fldOffset=0x8)" P-INDEP ;* V340 tmp336 [V340 ] ( 0, 0 ) long -> zero-ref "field V151._lower (fldOffset=0x0)" P-INDEP ;* V341 tmp337 [V341 ] ( 0, 0 ) long -> zero-ref "field V151._upper (fldOffset=0x8)" P-INDEP ;* V342 tmp338 [V342 ] ( 0, 0 ) long -> zero-ref "field V153._lower (fldOffset=0x0)" P-INDEP ;* V343 tmp339 [V343 ] ( 0, 0 ) long -> zero-ref "field V153._upper (fldOffset=0x8)" P-INDEP ;* V344 tmp340 [V344 ] ( 0, 0 ) long -> zero-ref "field V155._lower (fldOffset=0x0)" P-INDEP ;* V345 tmp341 [V345 ] ( 0, 0 ) long -> zero-ref "field V155._upper (fldOffset=0x8)" P-INDEP ;* V346 tmp342 [V346 ] ( 0, 0 ) long -> zero-ref "field V165._lower (fldOffset=0x0)" P-INDEP ;* V347 tmp343 [V347 ] ( 0, 0 ) long -> zero-ref "field V165._upper (fldOffset=0x8)" P-INDEP ;* V348 tmp344 [V348 ] ( 0, 0 ) long -> zero-ref "field V170.Item1 (fldOffset=0x0)" P-INDEP ;* V349 tmp345 [V349 ] ( 0, 0 ) long -> zero-ref "field V170.Item2 (fldOffset=0x8)" P-INDEP ;* V350 tmp346 [V350 ] ( 0, 0 ) long -> zero-ref "field V172.Item1 (fldOffset=0x0)" P-INDEP ;* V351 tmp347 [V351 ] ( 0, 0 ) long -> zero-ref "field V172.Item2 (fldOffset=0x8)" P-INDEP ;* V352 tmp348 [V352 ] ( 0, 0 ) long -> zero-ref "field V175.Item1 (fldOffset=0x0)" P-INDEP ; V353 tmp349 [V353,T22] ( 2, 32 ) long -> r14 "field V175.Item2 (fldOffset=0x8)" P-INDEP ;* V354 tmp350 [V354 ] ( 0, 0 ) byref -> zero-ref "field V179._reference (fldOffset=0x0)" P-INDEP ;* V355 tmp351 [V355 ] ( 0, 0 ) int -> zero-ref "field V179._length (fldOffset=0x8)" P-INDEP ;* V356 tmp352 [V356 ] ( 0, 0 ) byref -> zero-ref "field V181._reference (fldOffset=0x0)" P-INDEP ;* V357 tmp353 [V357 ] ( 0, 0 ) int -> zero-ref "field V181._length (fldOffset=0x8)" P-INDEP ;* V358 tmp354 [V358 ] ( 0, 0 ) byref -> zero-ref "field V182._reference (fldOffset=0x0)" P-INDEP ;* V359 tmp355 [V359 ] ( 0, 0 ) int -> zero-ref "field V182._length (fldOffset=0x8)" P-INDEP ;* V360 tmp356 [V360 ] ( 0, 0 ) long -> zero-ref "field V185.Item1 (fldOffset=0x0)" P-INDEP ; V361 tmp357 [V361,T12] ( 2,128 ) long -> rax "field V185.Item2 (fldOffset=0x8)" P-INDEP ;* V362 tmp358 [V362 ] ( 0, 0 ) long -> zero-ref "field V191.Item1 (fldOffset=0x0)" P-INDEP ;* V363 tmp359 [V363 ] ( 0, 0 ) long -> zero-ref "field V191.Item2 (fldOffset=0x8)" P-INDEP ;* V364 tmp360 [V364 ] ( 0, 0 ) long -> zero-ref "field V193.Item1 (fldOffset=0x0)" P-INDEP ;* V365 tmp361 [V365 ] ( 0, 0 ) long -> zero-ref "field V193.Item2 (fldOffset=0x8)" P-INDEP ;* V366 tmp362 [V366 ] ( 0, 0 ) long -> zero-ref "field V196.Item1 (fldOffset=0x0)" P-INDEP ; V367 tmp363 [V367,T43] ( 2, 8 ) long -> rdi "field V196.Item2 (fldOffset=0x8)" P-INDEP ;* V368 tmp364 [V368 ] ( 0, 0 ) byref -> zero-ref "field V200._reference (fldOffset=0x0)" P-INDEP ;* V369 tmp365 [V369 ] ( 0, 0 ) int -> zero-ref "field V200._length (fldOffset=0x8)" P-INDEP ;* V370 tmp366 [V370 ] ( 0, 0 ) byref -> zero-ref "field V202._reference (fldOffset=0x0)" P-INDEP ;* V371 tmp367 [V371 ] ( 0, 0 ) int -> zero-ref "field V202._length (fldOffset=0x8)" P-INDEP ;* V372 tmp368 [V372 ] ( 0, 0 ) byref -> zero-ref "field V203._reference (fldOffset=0x0)" P-INDEP ;* V373 tmp369 [V373 ] ( 0, 0 ) int -> zero-ref "field V203._length (fldOffset=0x8)" P-INDEP ;* V374 tmp370 [V374 ] ( 0, 0 ) long -> zero-ref "field V206.Item1 (fldOffset=0x0)" P-INDEP ; V375 tmp371 [V375,T23] ( 2, 32 ) long -> rax "field V206.Item2 (fldOffset=0x8)" P-INDEP ;* V376 tmp372 [V376 ] ( 0, 0 ) byref -> zero-ref single-def "field V210._reference (fldOffset=0x0)" P-INDEP ;* V377 tmp373 [V377 ] ( 0, 0 ) int -> zero-ref "field V210._length (fldOffset=0x8)" P-INDEP ;* V378 tmp374 [V378 ] ( 0, 0 ) byref -> zero-ref single-def "field V212._reference (fldOffset=0x0)" P-INDEP ;* V379 tmp375 [V379 ] ( 0, 0 ) int -> zero-ref "field V212._length (fldOffset=0x8)" P-INDEP ; V380 tmp376 [V380 ] ( 4, 8 ) byref -> [rbp-0x58] do-not-enreg[X] addr-exposed "field V213._reference (fldOffset=0x0)" P-DEP ; V381 tmp377 [V381 ] ( 4, 8 ) int -> [rbp-0x50] do-not-enreg[X] addr-exposed "field V213._length (fldOffset=0x8)" P-DEP ;* V382 tmp378 [V382 ] ( 0, 0 ) long -> zero-ref "V75.[000..008)" ;* V383 tmp379 [V383 ] ( 0, 0 ) long -> zero-ref "V75.[008..016)" ;* V384 tmp380 [V384 ] ( 0, 0 ) long -> zero-ref "V75.[016..024)" ;* V385 tmp381 [V385 ] ( 0, 0 ) long -> zero-ref "V75.[024..032)" ;* V386 tmp382 [V386 ] ( 0, 0 ) long -> zero-ref "V82.[000..008)" ;* V387 tmp383 [V387 ] ( 0, 0 ) long -> zero-ref "V82.[008..016)" ;* V388 tmp384 [V388 ] ( 0, 0 ) long -> zero-ref "V82.[016..024)" ;* V389 tmp385 [V389 ] ( 0, 0 ) long -> zero-ref "V82.[024..032)" ;* V390 tmp386 [V390 ] ( 0, 0 ) long -> zero-ref "V145.[000..008)" ;* V391 tmp387 [V391 ] ( 0, 0 ) long -> zero-ref "V145.[008..016)" ;* V392 tmp388 [V392 ] ( 0, 0 ) long -> zero-ref "V145.[016..024)" ;* V393 tmp389 [V393 ] ( 0, 0 ) long -> zero-ref "V145.[024..032)" ;* V394 tmp390 [V394 ] ( 0, 0 ) long -> zero-ref "V152.[000..008)" ;* V395 tmp391 [V395 ] ( 0, 0 ) long -> zero-ref "V152.[008..016)" ;* V396 tmp392 [V396 ] ( 0, 0 ) long -> zero-ref "V152.[016..024)" ;* V397 tmp393 [V397 ] ( 0, 0 ) long -> zero-ref "V152.[024..032)" ; V398 tmp394 [V398,T62] ( 2, 2 ) long -> r12 "Cast away GC" ; V399 GsCookie [V399 ] ( 1, 1 ) long -> [rbp-0x68] do-not-enreg[X] addr-exposed "GSSecurityCookie" ; V400 cse0 [V400,T19] ( 10, 47.25) long -> r8 hoist multi-def "CSE #03: moderate" ; ; Lcl frame size = 88 G_M34037_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 88 lea rbp, [rsp+0x80] xor eax, eax mov qword ptr [rbp-0x58], rax vxorps xmm8, xmm8, xmm8 vmovdqu ymmword ptr [rbp-0x50], ymm8 mov qword ptr [rbp-0x68], 0xD1FFAB1E mov r15, rdi mov r14, rsi mov rbx, rdx ;; size=55 bbWeight=1 PerfScore 12.08 G_M34037_IG02: test dword ptr [rsp], esp sub rsp, 48 lea r13, [rsp+0x10] mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] test rbx, rbx jl G_M34037_IG34 ;; size=34 bbWeight=1 PerfScore 7.25 G_M34037_IG03: test rbx, rbx je G_M34037_IG06 mov edi, 20 cmp rbx, 5 ja SHORT G_M34037_IG04 cmp rbx, 5 jne SHORT G_M34037_IG05 mov rsi, 0xD1FFAB1E mov edx, 21 cmp r14, rsi cmovae edi, edx jmp SHORT G_M34037_IG05 align [0 bytes for IG12] ;; size=49 bbWeight=0.50 PerfScore 3.50 G_M34037_IG04: mov rdi, r14 mov rsi, rbx mov rdx, 0xD1FFAB1E mov ecx, 5 mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rdi, rax or rdi, 1 lzcnt rdi, rdi xor edi, 63 movsxd rdi, edi mov rsi, 0xD1FFAB1E ; static handle movzx rdi, byte ptr [rdi+rsi] mov rsi, 0xD1FFAB1E ; static handle cmp rax, qword ptr [rsi+8*rdi] setb sil movzx rsi, sil sub edi, esi add edi, 20 ;; size=93 bbWeight=0.50 PerfScore 7.25 G_M34037_IG05: jmp SHORT G_M34037_IG07 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M34037_IG06: mov rdi, r14 or rdi, 1 lzcnt rdi, rdi xor edi, 63 movsxd rdi, edi mov rsi, 0xD1FFAB1E ; static handle movzx rdi, byte ptr [rdi+rsi] mov rsi, 0xD1FFAB1E ; static handle cmp r14, qword ptr [rsi+8*rdi] setb sil movzx rsi, sil sub edi, esi ;; size=57 bbWeight=0.50 PerfScore 5.00 G_M34037_IG07: mov esi, -1 test edi, edi cmovge esi, edi cmp esi, 40 jle SHORT G_M34037_IG08 xor esi, esi mov dword ptr [rbp-0x30], esi jmp G_M34037_IG18 ;; size=25 bbWeight=0.50 PerfScore 2.62 G_M34037_IG08: mov dword ptr [rbp-0x30], esi mov bword ptr [rbp-0x38], r13 mov r12, r13 movsxd rax, esi add r12, rax cmp edi, -1 jge G_M34037_IG30 mov rsi, rbx mov ebx, -1 test rsi, rsi jne G_M34037_IG25 ;; size=42 bbWeight=0.50 PerfScore 2.88 G_M34037_IG09: mov rdi, r14 ;; size=3 bbWeight=0.25 PerfScore 0.06 G_M34037_IG10: mov rsi, r12 mov ecx, ebx cmp rdi, 100 jb G_M34037_IG29 ;; size=15 bbWeight=0.50 PerfScore 0.88 G_M34037_IG11: mov r8, 0xD1FFAB1E ; static handle ;; size=10 bbWeight=0.25 PerfScore 0.06 G_M34037_IG12: add rsi, -2 add ecx, -2 mov rdx, 0xD1FFAB1E mov rax, rdi shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub rdi, rax mov r9, rdx add edi, edi mov eax, edi mov ax, word ptr [rax+r8] mov word ptr [rsi], ax cmp r9, 100 jb SHORT G_M34037_IG15 ;; size=59 bbWeight=4 PerfScore 49.00 G_M34037_IG13: mov rdi, r9 jmp SHORT G_M34037_IG12 align [0 bytes for IG14] ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG14: dec ecx mov rdx, 0xD1FFAB1E mov rax, r9 mul rdx:rax, rdx shr rdx, 3 lea rdi, [rdx+4*rdx] add rdi, rdi mov rax, r9 sub rax, rdi mov r9, rdx dec rsi add eax, 48 mov byte ptr [rsi], al ;; size=46 bbWeight=16 PerfScore 116.00 G_M34037_IG15: test r9, r9 jne SHORT G_M34037_IG14 ;; size=5 bbWeight=4 PerfScore 5.00 G_M34037_IG16: test ecx, ecx jg SHORT G_M34037_IG14 ;; size=4 bbWeight=4 PerfScore 5.00 G_M34037_IG17: xor edi, edi mov bword ptr [rbp-0x38], rdi ;; size=6 bbWeight=0.50 PerfScore 0.62 G_M34037_IG18: xor rdi, rdi mov bword ptr [rbp-0x38], rdi jmp G_M34037_IG41 align [0 bytes for IG20] ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M34037_IG19: mov r9, r14 jmp SHORT G_M34037_IG21 ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG20: dec ecx mov rdx, 0xD1FFAB1E mov rax, r9 mul rdx:rax, rdx shr rdx, 3 lea r8, [rdx+4*rdx] add r8, r8 mov rax, r9 sub rax, r8 mov r9, rdx dec r12 add eax, 48 mov byte ptr [r12], al ;; size=48 bbWeight=64 PerfScore 464.00 G_M34037_IG21: test r9, r9 jne SHORT G_M34037_IG20 ;; size=5 bbWeight=32 PerfScore 40.00 G_M34037_IG22: test ecx, ecx jg SHORT G_M34037_IG20 ;; size=4 bbWeight=32 PerfScore 40.00 G_M34037_IG23: add ebx, -19 test rsi, rsi je G_M34037_IG10 ;; size=12 bbWeight=4 PerfScore 6.00 G_M34037_IG24: mov r14, rdi ;; size=3 bbWeight=2 PerfScore 0.50 G_M34037_IG25: mov rdi, r14 mov rdx, 0xD1FFAB1E xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rsi, rdx mov rdi, 0xD1FFAB1E lea rcx, [rbp-0x48] mov rdx, rax mulx rdx, r8, rdi mov qword ptr [rcx], r8 mov rdx, qword ptr [rbp-0x48] sub r14, rdx mov rdi, rax mov ecx, 19 cmp r14, 100 jb G_M34037_IG19 ;; size=80 bbWeight=4 PerfScore 49.00 G_M34037_IG26: mov r8, 0xD1FFAB1E ; static handle align [0 bytes for IG27] ;; size=10 bbWeight=1 PerfScore 0.25 G_M34037_IG27: add r12, -2 add ecx, -2 mov rdx, 0xD1FFAB1E mov rax, r14 shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub r14, rax mov r9, rdx add r14d, r14d mov eax, r14d mov ax, word ptr [rax+r8] mov word ptr [r12], ax cmp r9, 100 jb G_M34037_IG21 ;; size=67 bbWeight=16 PerfScore 196.00 G_M34037_IG28: mov r14, r9 jmp SHORT G_M34037_IG27 ;; size=5 bbWeight=8 PerfScore 18.00 G_M34037_IG29: mov r9, rdi jmp G_M34037_IG15 align [0 bytes for IG45] ;; size=8 bbWeight=0.25 PerfScore 0.56 G_M34037_IG30: mov rsi, rbx test rsi, rsi jne G_M34037_IG54 ;; size=12 bbWeight=0.50 PerfScore 0.75 G_M34037_IG31: mov rbx, r14 ;; size=3 bbWeight=0.25 PerfScore 0.06 G_M34037_IG32: mov rdi, r12 mov rcx, rbx cmp rcx, 10 jae G_M34037_IG46 ;; size=16 bbWeight=0.50 PerfScore 0.88 G_M34037_IG33: add ecx, 48 mov byte ptr [rdi-0x01], cl jmp G_M34037_IG17 ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M34037_IG34: mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo call [rax]System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo mov r12, rax mov rax, gword ptr [r12+0x98] test rax, rax jne SHORT G_M34037_IG38 mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] mov rsi, gword ptr [r12+0x28] test rsi, rsi je SHORT G_M34037_IG35 cmp dword ptr [rsi+0x08], 32 jle SHORT G_M34037_IG36 ;; size=57 bbWeight=0.50 PerfScore 8.12 G_M34037_IG35: mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this call [rax]System.Text.Encoding:GetBytes(System.String):ubyte[]:this jmp SHORT G_M34037_IG37 ;; size=14 bbWeight=0.50 PerfScore 2.62 G_M34037_IG36: mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:GetBytesForSmallInput(System.String):ubyte[]:this call [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:GetBytesForSmallInput(System.String):ubyte[]:this ;; size=12 bbWeight=0.50 PerfScore 1.62 G_M34037_IG37: lea rdi, bword ptr [r12+0x98] mov gword ptr [rbp-0x60], rax mov rsi, rax call CORINFO_HELP_ASSIGN_REF mov r12, gword ptr [rbp-0x60] mov rax, r12 ;; size=27 bbWeight=0.50 PerfScore 2.00 G_M34037_IG38: test rax, rax je SHORT G_M34037_IG39 lea rcx, bword ptr [rax+0x10] mov r8d, dword ptr [rax+0x08] jmp SHORT G_M34037_IG40 ;; size=15 bbWeight=0.50 PerfScore 2.88 G_M34037_IG39: xor rcx, rcx xor r8d, r8d ;; size=5 bbWeight=0.50 PerfScore 0.25 G_M34037_IG40: mov edi, 40 mov bword ptr [rsp], r13 mov dword ptr [rsp+0x08], edi mov rdi, r14 mov rsi, rbx lea r9, [rbp-0x30] mov edx, -1 mov rax, 0xD1FFAB1E ; code for System.Number:TryNegativeInt128ToDecStr[ubyte](System.Int128,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte call [rax]System.Number:TryNegativeInt128ToDecStr[ubyte](System.Int128,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte ;; size=40 bbWeight=0.50 PerfScore 3.38 G_M34037_IG41: mov edx, dword ptr [rbp-0x30] cmp edx, 40 ja SHORT G_M34037_IG44 vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [rbp-0x58], xmm0 lea rdi, [rbp-0x58] mov rsi, r13 mov rax, 0xD1FFAB1E ; code for System.ReadOnlySpan`1[ubyte]:.ctor(byref,int):this call [rax]System.ReadOnlySpan`1[ubyte]:.ctor(byref,int):this mov rsi, bword ptr [rbp-0x58] mov rdx, qword ptr [rbp-0x50] mov rdi, r15 xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.Text.Json.Utf8JsonWriter:WriteRawValue(System.ReadOnlySpan`1[ubyte],ubyte):this cmp dword ptr [rdi], edi call [rax]System.Text.Json.Utf8JsonWriter:WriteRawValue(System.ReadOnlySpan`1[ubyte],ubyte):this cmp qword ptr [rbp-0x68], 0xD1FFAB1E je SHORT G_M34037_IG42 call CORINFO_HELP_FAIL_FAST ;; size=78 bbWeight=1 PerfScore 20.33 G_M34037_IG42: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M34037_IG43: lea rsp, [rbp-0x28] pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.50 G_M34037_IG44: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0.50 PerfScore 1.75 G_M34037_IG45: add rdi, -2 mov rdx, 0xD1FFAB1E mov rax, rcx shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub rcx, rax mov rax, rdx add ecx, ecx mov r8, 0xD1FFAB1E ; static handle mov r8w, word ptr [rcx+r8] mov word ptr [rdi], r8w mov rcx, rax ;; size=62 bbWeight=4 PerfScore 44.00 G_M34037_IG46: cmp rcx, 100 jae SHORT G_M34037_IG45 ;; size=6 bbWeight=4 PerfScore 5.00 G_M34037_IG47: cmp rcx, 10 jb G_M34037_IG33 add rdi, -2 lea eax, [rcx+rcx] mov r8, 0xD1FFAB1E ; static handle mov ax, word ptr [rax+r8] mov word ptr [rdi], ax jmp G_M34037_IG17 align [0 bytes for IG49] ;; size=40 bbWeight=0.50 PerfScore 3.62 G_M34037_IG48: mov rcx, r14 jmp SHORT G_M34037_IG50 ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG49: dec edi mov rdx, 0xD1FFAB1E mov rax, rcx mul rdx:rax, rdx shr rdx, 3 lea rax, [rdx+4*rdx] add rax, rax mov r8, rcx sub r8, rax mov rcx, rdx dec r12 add r8d, 48 mov byte ptr [r12], r8b ;; size=49 bbWeight=64 PerfScore 464.00 G_M34037_IG50: test rcx, rcx jne SHORT G_M34037_IG49 ;; size=5 bbWeight=32 PerfScore 40.00 G_M34037_IG51: test edi, edi jg SHORT G_M34037_IG49 ;; size=4 bbWeight=32 PerfScore 40.00 G_M34037_IG52: test rsi, rsi je G_M34037_IG32 ;; size=9 bbWeight=4 PerfScore 5.00 G_M34037_IG53: mov r14, rbx ;; size=3 bbWeight=2 PerfScore 0.50 G_M34037_IG54: mov rdi, r14 mov rdx, 0xD1FFAB1E xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rsi, rdx mov rdi, 0xD1FFAB1E lea rcx, [rbp-0x40] mov rdx, rax mulx rdx, r8, rdi mov qword ptr [rcx], r8 mov rdx, qword ptr [rbp-0x40] sub r14, rdx mov rbx, rax mov edi, 19 cmp r14, 100 jb G_M34037_IG48 ;; size=80 bbWeight=4 PerfScore 49.00 G_M34037_IG55: mov r8, 0xD1FFAB1E ; static handle align [0 bytes for IG56] ;; size=10 bbWeight=1 PerfScore 0.25 G_M34037_IG56: add r12, -2 add edi, -2 mov rdx, 0xD1FFAB1E mov rax, r14 shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub r14, rax mov rcx, rdx add r14d, r14d mov eax, r14d mov ax, word ptr [rax+r8] mov word ptr [r12], ax cmp rcx, 100 jb G_M34037_IG50 ;; size=67 bbWeight=16 PerfScore 196.00 G_M34037_IG57: mov r14, rcx jmp SHORT G_M34037_IG56 ;; size=5 bbWeight=8 PerfScore 18.00 ; Total bytes of code 1432, prolog size 55, PerfScore 1964.04, instruction count 364, allocated bytes for code 1436 (MethodHash=f57e7b0a) for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (FullOpts) ; ============================================================
変更されたテキスト
ファイルを開く
; Assembly listing for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (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; 80 single block inlinees; 32 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T47] ( 3, 3 ) ref -> r15 class-hnd single-def <System.Text.Json.Utf8JsonWriter> ;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Int128> ;* V02 loc0 [V02 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]> ; V03 loc1 [V03 ] ( 4, 2.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op ; V04 OutArgs [V04 ] ( 1, 1 ) struct (16) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED> ;* V05 tmp1 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]> ;* V06 tmp2 [V06 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]> ;* V07 tmp3 [V07 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]> ; V08 tmp4 [V08,T49] ( 2, 4 ) long -> r13 "Inlining Arg" ;* V09 tmp5 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Int128> ;* V10 tmp6 [V10 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Span`1[ubyte]> ; V11 tmp7 [V11,T69] ( 2, 1.50) ref -> rdi class-hnd exact single-def "Inline stloc first use temp" <System.Globalization.CultureInfo> ;* V12 tmp8 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]> ;* V13 tmp9 [V13 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]> ;* V14 tmp10 [V14 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V15 tmp11 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]> ;* V16 tmp12 [V16 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Int128> ;* V17 tmp13 [V17 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V18 tmp14 [V18 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]> ; V19 tmp15 [V19,T57] ( 4, 2 ) ref -> r12 class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo> ;* V20 tmp16 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]> ; V21 tmp17 [V21,T60] ( 2, 2 ) ref -> rax class-hnd single-def "dup spill" <ubyte[]> ; V22 tmp18 [V22,T53] ( 6, 3 ) ref -> rax ;* V23 tmp19 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <ubyte[]> ;* V24 tmp20 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]> ; V25 tmp21 [V25,T54] ( 3, 3 ) ref -> rdi single-def "Spilling to split statement for tree" ; V26 tmp22 [V26,T45] ( 5, 5 ) ref -> rsi single-def "Spilling to split statement for tree" ; V27 tmp23 [V27,T58] ( 4, 2 ) ref -> [rbp-0x50] class-hnd "Inline return value spill temp" <ubyte[]> ;* V28 tmp24 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.String> ;* V29 tmp25 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed> ;* V30 tmp26 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ubyte[]> ;* V31 tmp27 [V31 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V32 tmp28 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <ubyte[]> ;* V33 tmp29 [V33 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V34 tmp30 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V35 tmp31 [V35 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V36 tmp32 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V37 tmp33 [V37 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V38 tmp34 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V39 tmp35 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ; V40 tmp36 [V40 ] ( 3, 1.50) byref -> [rbp-0x38] must-init pinned "Inline stloc first use temp" ; V41 tmp37 [V41,T64] ( 3, 1.50) long -> r12 "Inline stloc first use temp" ;* V42 tmp38 [V42 ] ( 0, 0 ) long -> zero-ref ; V43 tmp39 [V43,T55] ( 5, 2.50) int -> rdi "Inline return value spill temp" ;* V44 tmp40 [V44 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest ld-addr-op "Inlining Arg" <System.UInt128> ;* V45 tmp41 [V45 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ; V46 tmp42 [V46,T56] ( 5, 2.50) int -> rdi "Inline stloc first use temp" ;* V47 tmp43 [V47 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V48 tmp44 [V48 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.UInt128> ;* V49 tmp45 [V49 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V50 tmp46 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V51 tmp47 [V51 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V52 tmp48 [V52 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V53 tmp49 [V53,T65] ( 3, 1.50) long -> rdi "Inline stloc first use temp" ;* V54 tmp50 [V54 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]> ;* V55 tmp51 [V55 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V56 tmp52 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V57 tmp53 [V57 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V58 tmp54 [V58 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V59 tmp55 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]> ;* V60 tmp56 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V61 tmp57 [V61 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V62 tmp58 [V62 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V63 tmp59 [V63,T66] ( 3, 1.50) long -> rdi "Inline stloc first use temp" ;* V64 tmp60 [V64 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]> ;* V65 tmp61 [V65 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V66 tmp62 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V67 tmp63 [V67 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V68 tmp64 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V69 tmp65 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]> ; V70 tmp66 [V70,T59] ( 4, 2 ) int -> rsi "Inline return value spill temp" ;* V71 tmp67 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ;* V72 tmp68 [V72 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128> ; V73 tmp69 [V73,T25] ( 4, 18 ) long -> r12 "Inlining Arg" ;* V74 tmp70 [V74 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128> ;* V75 tmp71 [V75 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V76 tmp72 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128> ;* V77 tmp73 [V77 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V78 tmp74 [V78 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V79 tmp75 [V79 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V80 tmp76 [V80 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128> ;* V81 tmp77 [V81 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V82 tmp78 [V82 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V83 tmp79 [V83 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ; V84 tmp80 [V84,T36] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp" ;* V85 tmp81 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V86 tmp82 [V86 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ;* V87 tmp83 [V87 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V88 tmp84 [V88 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V89 tmp85 [V89 ] ( 2, 8 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V90 tmp86 [V90 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V91 tmp87 [V91 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V92 tmp88 [V92 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V93 tmp89 [V93,T37] ( 2, 8 ) long -> r14 "Inline stloc first use temp" ;* V94 tmp90 [V94 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V95 tmp91 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V96 tmp92 [V96 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V97 tmp93 [V97,T00] ( 10,592 ) long -> registers "Inlining Arg" ; V98 tmp94 [V98,T02] ( 8,496 ) long -> r12 "Inlining Arg" ; V99 tmp95 [V99,T04] ( 6,392 ) int -> rdi "Inlining Arg" ;* V100 tmp96 [V100 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V101 tmp97 [V101 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V102 tmp98 [V102 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V103 tmp99 [V103,T06] ( 2,256 ) long -> r12 "dup spill" ; V104 tmp100 [V104,T16] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V105 tmp101 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V106 tmp102 [V106 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V107 tmp103 [V107 ] ( 0, 0 ) long -> zero-ref ;* V108 tmp104 [V108 ] ( 0, 0 ) long -> zero-ref ;* V109 tmp105 [V109 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V110 tmp106 [V110 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V111 tmp107 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V112 tmp108 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V113 tmp109 [V113 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V114 tmp110 [V114,T08] ( 3,192 ) long -> rdx "Inline stloc first use temp" ;* V115 tmp111 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V116 tmp112 [V116 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V117 tmp113 [V117 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V118 tmp114 [V118 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ; V119 tmp115 [V119,T20] ( 9, 37 ) long -> registers "Inlining Arg" ; V120 tmp116 [V120,T24] ( 6, 27 ) long -> rdi "Inlining Arg" ;* V121 tmp117 [V121 ] ( 0, 0 ) long -> zero-ref "dup spill" ;* V122 tmp118 [V122 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V123 tmp119 [V123,T32] ( 3, 12 ) long -> rdx "Inline stloc first use temp" ;* V124 tmp120 [V124 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V125 tmp121 [V125 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V126 tmp122 [V126 ] ( 0, 0 ) long -> zero-ref ;* V127 tmp123 [V127 ] ( 0, 0 ) long -> zero-ref ;* V128 tmp124 [V128 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V129 tmp125 [V129 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V130 tmp126 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V131 tmp127 [V131 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V132 tmp128 [V132 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V133 tmp129 [V133,T70] ( 2, 1 ) long -> rdi ;* V134 tmp130 [V134 ] ( 0, 0 ) long -> zero-ref ;* V135 tmp131 [V135 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V136 tmp132 [V136 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V137 tmp133 [V137 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V138 tmp134 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V139 tmp135 [V139 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V140 tmp136 [V140 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V141 tmp137 [V141 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128> ; V142 tmp138 [V142,T26] ( 4, 18 ) long -> r12 "Inlining Arg" ; V143 tmp139 [V143,T27] ( 4, 18 ) int -> rbx "Inlining Arg" ;* V144 tmp140 [V144 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128> ;* V145 tmp141 [V145 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V146 tmp142 [V146 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128> ;* V147 tmp143 [V147 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V148 tmp144 [V148 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V149 tmp145 [V149 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V150 tmp146 [V150 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128> ;* V151 tmp147 [V151 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V152 tmp148 [V152 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V153 tmp149 [V153 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ; V154 tmp150 [V154,T38] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp" ;* V155 tmp151 [V155 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V156 tmp152 [V156 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ;* V157 tmp153 [V157 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V158 tmp154 [V158 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V159 tmp155 [V159 ] ( 2, 8 ) long -> [rbp-0x48] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V160 tmp156 [V160 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V161 tmp157 [V161 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V162 tmp158 [V162 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V163 tmp159 [V163,T39] ( 2, 8 ) long -> r14 "Inline stloc first use temp" ;* V164 tmp160 [V164 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V165 tmp161 [V165 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V166 tmp162 [V166 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V167 tmp163 [V167,T01] ( 10,592 ) long -> registers "Inlining Arg" ; V168 tmp164 [V168,T03] ( 8,496 ) long -> r12 "Inlining Arg" ; V169 tmp165 [V169,T05] ( 6,392 ) int -> rcx "Inlining Arg" ;* V170 tmp166 [V170 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V171 tmp167 [V171 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V172 tmp168 [V172 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V173 tmp169 [V173,T07] ( 2,256 ) long -> r12 "dup spill" ; V174 tmp170 [V174,T17] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V175 tmp171 [V175 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V176 tmp172 [V176 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V177 tmp173 [V177 ] ( 0, 0 ) long -> zero-ref ;* V178 tmp174 [V178 ] ( 0, 0 ) long -> zero-ref ;* V179 tmp175 [V179 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V180 tmp176 [V180 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V181 tmp177 [V181 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V182 tmp178 [V182 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V183 tmp179 [V183 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V184 tmp180 [V184,T09] ( 3,192 ) long -> rdx "Inline stloc first use temp" ;* V185 tmp181 [V185 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V186 tmp182 [V186 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V187 tmp183 [V187 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V188 tmp184 [V188,T10] ( 10,138 ) long -> registers "Inlining Arg" ; V189 tmp185 [V189,T13] ( 7,121 ) long -> rsi "Inlining Arg" ; V190 tmp186 [V190,T14] ( 6, 89 ) int -> rcx "Inlining Arg" ;* V191 tmp187 [V191 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V192 tmp188 [V192 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V193 tmp189 [V193 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V194 tmp190 [V194,T15] ( 2, 64 ) long -> rsi "dup spill" ; V195 tmp191 [V195,T33] ( 3, 12 ) long -> rdx "Inline stloc first use temp" ;* V196 tmp192 [V196 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V197 tmp193 [V197 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V198 tmp194 [V198 ] ( 0, 0 ) long -> zero-ref ;* V199 tmp195 [V199 ] ( 0, 0 ) long -> zero-ref ;* V200 tmp196 [V200 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V201 tmp197 [V201 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V202 tmp198 [V202 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V203 tmp199 [V203 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V204 tmp200 [V204 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V205 tmp201 [V205,T18] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V206 tmp202 [V206 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V207 tmp203 [V207 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V208 tmp204 [V208 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V209 tmp205 [V209,T44] ( 3, 6 ) int -> rdx "Inlining Arg" ;* V210 tmp206 [V210 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]> ;* V211 tmp207 [V211 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V212 tmp208 [V212 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V213 tmp209 [V213 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ;* V214 tmp210 [V214 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V215 tmp211 [V215 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V216 tmp212 [V216 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ; V217 tmp213 [V217,T48] ( 3, 2 ) long -> r14 single-def "field V01._lower (fldOffset=0x0)" P-INDEP ; V218 tmp214 [V218,T46] ( 4, 3 ) long -> rbx single-def "field V01._upper (fldOffset=0x8)" P-INDEP ; V219 tmp215 [V219,T52] ( 5, 3.50) byref -> r13 single-def "field V02._reference (fldOffset=0x0)" P-INDEP ;* V220 tmp216 [V220,T71] ( 0, 0 ) int -> zero-ref "field V02._length (fldOffset=0x8)" P-INDEP ; V221 tmp217 [V221,T61] ( 2, 2 ) byref -> r13 single-def "field V05._reference (fldOffset=0x0)" P-INDEP ;* V222 tmp218 [V222,T72] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP ;* V223 tmp219 [V223 ] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP ;* V224 tmp220 [V224 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP ;* V225 tmp221 [V225 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP ;* V226 tmp222 [V226 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP ;* V227 tmp223 [V227 ] ( 0, 0 ) long -> zero-ref "field V09._lower (fldOffset=0x0)" P-INDEP ;* V228 tmp224 [V228 ] ( 0, 0 ) long -> zero-ref "field V09._upper (fldOffset=0x8)" P-INDEP ;* V229 tmp225 [V229 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP ;* V230 tmp226 [V230 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP ;* V231 tmp227 [V231 ] ( 0, 0 ) byref -> zero-ref single-def "field V12._reference (fldOffset=0x0)" P-INDEP ;* V232 tmp228 [V232 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP ;* V233 tmp229 [V233 ] ( 0, 0 ) byref -> zero-ref single-def "field V13._reference (fldOffset=0x0)" P-INDEP ;* V234 tmp230 [V234 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP ;* V235 tmp231 [V235 ] ( 0, 0 ) byref -> zero-ref single-def "field V15._reference (fldOffset=0x0)" P-INDEP ;* V236 tmp232 [V236 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP ;* V237 tmp233 [V237 ] ( 0, 0 ) long -> zero-ref "field V16._lower (fldOffset=0x0)" P-INDEP ;* V238 tmp234 [V238 ] ( 0, 0 ) long -> zero-ref "field V16._upper (fldOffset=0x8)" P-INDEP ;* V239 tmp235 [V239 ] ( 0, 0 ) long -> zero-ref "field V17._lower (fldOffset=0x0)" P-INDEP ;* V240 tmp236 [V240 ] ( 0, 0 ) long -> zero-ref "field V17._upper (fldOffset=0x8)" P-INDEP ;* V241 tmp237 [V241 ] ( 0, 0 ) byref -> zero-ref "field V18._reference (fldOffset=0x0)" P-INDEP ;* V242 tmp238 [V242 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP ;* V243 tmp239 [V243 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP ;* V244 tmp240 [V244 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP ; V245 tmp241 [V245,T63] ( 3, 1.50) byref -> rcx "field V31._reference (fldOffset=0x0)" P-INDEP ; V246 tmp242 [V246,T67] ( 3, 1.50) int -> r8 "field V31._length (fldOffset=0x8)" P-INDEP ; V247 tmp243 [V247,T50] ( 7, 3.50) long -> r14 "field V33._lower (fldOffset=0x0)" P-INDEP ; V248 tmp244 [V248,T51] ( 7, 3.50) long -> rbx "field V33._upper (fldOffset=0x8)" P-INDEP ;* V249 tmp245 [V249 ] ( 0, 0 ) byref -> zero-ref single-def "field V39._reference (fldOffset=0x0)" P-INDEP ;* V250 tmp246 [V250 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP ; V251 tmp247 [V251,T68] ( 3, 1.50) long -> rax "field V44._lower (fldOffset=0x0)" P-INDEP ; V252 tmp248 [V252,T73] ( 1, 0.50) long -> rdx "field V44._upper (fldOffset=0x8)" P-INDEP ;* V253 tmp249 [V253 ] ( 0, 0 ) long -> zero-ref "field V47._lower (fldOffset=0x0)" P-INDEP ;* V254 tmp250 [V254 ] ( 0, 0 ) long -> zero-ref "field V47._upper (fldOffset=0x8)" P-INDEP ;* V255 tmp251 [V255 ] ( 0, 0 ) long -> zero-ref "field V48._lower (fldOffset=0x0)" P-INDEP ;* V256 tmp252 [V256 ] ( 0, 0 ) long -> zero-ref "field V48._upper (fldOffset=0x8)" P-INDEP ;* V257 tmp253 [V257 ] ( 0, 0 ) long -> zero-ref "field V49._lower (fldOffset=0x0)" P-DEP ;* V258 tmp254 [V258 ] ( 0, 0 ) long -> zero-ref "field V49._upper (fldOffset=0x8)" P-DEP ;* V259 tmp255 [V259 ] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP ;* V260 tmp256 [V260 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP ;* V261 tmp257 [V261 ] ( 0, 0 ) byref -> zero-ref single-def "field V54._reference (fldOffset=0x0)" P-INDEP ;* V262 tmp258 [V262 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP ;* V263 tmp259 [V263 ] ( 0, 0 ) byref -> zero-ref single-def "field V56._reference (fldOffset=0x0)" P-INDEP ;* V264 tmp260 [V264 ] ( 0, 0 ) int -> zero-ref "field V56._length (fldOffset=0x8)" P-INDEP ;* V265 tmp261 [V265 ] ( 0, 0 ) byref -> zero-ref single-def "field V59._reference (fldOffset=0x0)" P-INDEP ;* V266 tmp262 [V266 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP ;* V267 tmp263 [V267 ] ( 0, 0 ) byref -> zero-ref single-def "field V60._reference (fldOffset=0x0)" P-INDEP ;* V268 tmp264 [V268 ] ( 0, 0 ) int -> zero-ref "field V60._length (fldOffset=0x8)" P-INDEP ;* V269 tmp265 [V269 ] ( 0, 0 ) byref -> zero-ref single-def "field V64._reference (fldOffset=0x0)" P-INDEP ;* V270 tmp266 [V270 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP ;* V271 tmp267 [V271 ] ( 0, 0 ) byref -> zero-ref single-def "field V66._reference (fldOffset=0x0)" P-INDEP ;* V272 tmp268 [V272 ] ( 0, 0 ) int -> zero-ref "field V66._length (fldOffset=0x8)" P-INDEP ;* V273 tmp269 [V273 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP ;* V274 tmp270 [V274 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP ;* V275 tmp271 [V275 ] ( 0, 0 ) byref -> zero-ref single-def "field V71._reference (fldOffset=0x0)" P-INDEP ;* V276 tmp272 [V276 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP ; V277 tmp273 [V277,T28] ( 5, 13 ) long -> registers "field V72._lower (fldOffset=0x0)" P-INDEP ; V278 tmp274 [V278,T29] ( 5, 13 ) long -> rsi "field V72._upper (fldOffset=0x8)" P-INDEP ;* V279 tmp275 [V279 ] ( 0, 0 ) long -> zero-ref "field V74._lower (fldOffset=0x0)" P-INDEP ;* V280 tmp276 [V280 ] ( 0, 0 ) long -> zero-ref "field V74._upper (fldOffset=0x8)" P-INDEP ;* V281 tmp277 [V281 ] ( 0, 0 ) long -> zero-ref "field V76._lower (fldOffset=0x0)" P-INDEP ;* V282 tmp278 [V282 ] ( 0, 0 ) long -> zero-ref "field V76._upper (fldOffset=0x8)" P-INDEP ;* V283 tmp279 [V283 ] ( 0, 0 ) long -> zero-ref "field V77._lower (fldOffset=0x0)" P-INDEP ;* V284 tmp280 [V284 ] ( 0, 0 ) long -> zero-ref "field V77._upper (fldOffset=0x8)" P-INDEP ;* V285 tmp281 [V285 ] ( 0, 0 ) long -> zero-ref "field V78._lower (fldOffset=0x0)" P-INDEP ;* V286 tmp282 [V286 ] ( 0, 0 ) long -> zero-ref "field V78._upper (fldOffset=0x8)" P-INDEP ;* V287 tmp283 [V287 ] ( 0, 0 ) long -> zero-ref "field V79._lower (fldOffset=0x0)" P-DEP ;* V288 tmp284 [V288 ] ( 0, 0 ) long -> zero-ref "field V79._upper (fldOffset=0x8)" P-DEP ; V289 tmp285 [V289,T34] ( 3, 12 ) long -> rax "field V80._lower (fldOffset=0x0)" P-INDEP ; V290 tmp286 [V290,T40] ( 2, 8 ) long -> rsi "field V80._upper (fldOffset=0x8)" P-INDEP ;* V291 tmp287 [V291 ] ( 0, 0 ) long -> zero-ref "field V81._lower (fldOffset=0x0)" P-INDEP ;* V292 tmp288 [V292 ] ( 0, 0 ) long -> zero-ref "field V81._upper (fldOffset=0x8)" P-INDEP ;* V293 tmp289 [V293 ] ( 0, 0 ) long -> zero-ref "field V83._lower (fldOffset=0x0)" P-INDEP ;* V294 tmp290 [V294 ] ( 0, 0 ) long -> zero-ref "field V83._upper (fldOffset=0x8)" P-INDEP ;* V295 tmp291 [V295 ] ( 0, 0 ) long -> zero-ref "field V85._lower (fldOffset=0x0)" P-INDEP ;* V296 tmp292 [V296 ] ( 0, 0 ) long -> zero-ref "field V85._upper (fldOffset=0x8)" P-INDEP ;* V297 tmp293 [V297 ] ( 0, 0 ) long -> zero-ref "field V95._lower (fldOffset=0x0)" P-INDEP ;* V298 tmp294 [V298 ] ( 0, 0 ) long -> zero-ref "field V95._upper (fldOffset=0x8)" P-INDEP ;* V299 tmp295 [V299 ] ( 0, 0 ) long -> zero-ref "field V100.Item1 (fldOffset=0x0)" P-INDEP ;* V300 tmp296 [V300 ] ( 0, 0 ) long -> zero-ref "field V100.Item2 (fldOffset=0x8)" P-INDEP ;* V301 tmp297 [V301 ] ( 0, 0 ) long -> zero-ref "field V102.Item1 (fldOffset=0x0)" P-INDEP ;* V302 tmp298 [V302 ] ( 0, 0 ) long -> zero-ref "field V102.Item2 (fldOffset=0x8)" P-INDEP ;* V303 tmp299 [V303 ] ( 0, 0 ) long -> zero-ref "field V105.Item1 (fldOffset=0x0)" P-INDEP ; V304 tmp300 [V304,T21] ( 2, 32 ) long -> r14 "field V105.Item2 (fldOffset=0x8)" P-INDEP ;* V305 tmp301 [V305 ] ( 0, 0 ) byref -> zero-ref "field V109._reference (fldOffset=0x0)" P-INDEP ;* V306 tmp302 [V306 ] ( 0, 0 ) int -> zero-ref "field V109._length (fldOffset=0x8)" P-INDEP ;* V307 tmp303 [V307 ] ( 0, 0 ) byref -> zero-ref "field V111._reference (fldOffset=0x0)" P-INDEP ;* V308 tmp304 [V308 ] ( 0, 0 ) int -> zero-ref "field V111._length (fldOffset=0x8)" P-INDEP ;* V309 tmp305 [V309 ] ( 0, 0 ) byref -> zero-ref "field V112._reference (fldOffset=0x0)" P-INDEP ;* V310 tmp306 [V310 ] ( 0, 0 ) int -> zero-ref "field V112._length (fldOffset=0x8)" P-INDEP ;* V311 tmp307 [V311 ] ( 0, 0 ) long -> zero-ref "field V115.Item1 (fldOffset=0x0)" P-INDEP ; V312 tmp308 [V312,T11] ( 2,128 ) long -> r8 "field V115.Item2 (fldOffset=0x8)" P-INDEP ;* V313 tmp309 [V313 ] ( 0, 0 ) long -> zero-ref "field V122.Item1 (fldOffset=0x0)" P-INDEP ;* V314 tmp310 [V314 ] ( 0, 0 ) long -> zero-ref "field V122.Item2 (fldOffset=0x8)" P-INDEP ;* V315 tmp311 [V315 ] ( 0, 0 ) long -> zero-ref "field V124.Item1 (fldOffset=0x0)" P-INDEP ; V316 tmp312 [V316,T41] ( 2, 8 ) long -> rcx "field V124.Item2 (fldOffset=0x8)" P-INDEP ;* V317 tmp313 [V317 ] ( 0, 0 ) byref -> zero-ref "field V128._reference (fldOffset=0x0)" P-INDEP ;* V318 tmp314 [V318 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP ;* V319 tmp315 [V319 ] ( 0, 0 ) byref -> zero-ref "field V130._reference (fldOffset=0x0)" P-INDEP ;* V320 tmp316 [V320 ] ( 0, 0 ) int -> zero-ref "field V130._length (fldOffset=0x8)" P-INDEP ;* V321 tmp317 [V321 ] ( 0, 0 ) byref -> zero-ref "field V131._reference (fldOffset=0x0)" P-INDEP ;* V322 tmp318 [V322 ] ( 0, 0 ) int -> zero-ref "field V131._length (fldOffset=0x8)" P-INDEP ;* V323 tmp319 [V323 ] ( 0, 0 ) byref -> zero-ref "field V135._reference (fldOffset=0x0)" P-INDEP ;* V324 tmp320 [V324 ] ( 0, 0 ) int -> zero-ref "field V135._length (fldOffset=0x8)" P-INDEP ;* V325 tmp321 [V325 ] ( 0, 0 ) byref -> zero-ref single-def "field V137._reference (fldOffset=0x0)" P-INDEP ;* V326 tmp322 [V326 ] ( 0, 0 ) int -> zero-ref "field V137._length (fldOffset=0x8)" P-INDEP ;* V327 tmp323 [V327 ] ( 0, 0 ) byref -> zero-ref single-def "field V138._reference (fldOffset=0x0)" P-INDEP ;* V328 tmp324 [V328 ] ( 0, 0 ) int -> zero-ref "field V138._length (fldOffset=0x8)" P-INDEP ; V329 tmp325 [V329,T30] ( 5, 13 ) long -> registers "field V141._lower (fldOffset=0x0)" P-INDEP ; V330 tmp326 [V330,T31] ( 5, 13 ) long -> rsi "field V141._upper (fldOffset=0x8)" P-INDEP ;* V331 tmp327 [V331 ] ( 0, 0 ) long -> zero-ref "field V144._lower (fldOffset=0x0)" P-INDEP ;* V332 tmp328 [V332 ] ( 0, 0 ) long -> zero-ref "field V144._upper (fldOffset=0x8)" P-INDEP ;* V333 tmp329 [V333 ] ( 0, 0 ) long -> zero-ref "field V146._lower (fldOffset=0x0)" P-INDEP ;* V334 tmp330 [V334 ] ( 0, 0 ) long -> zero-ref "field V146._upper (fldOffset=0x8)" P-INDEP ;* V335 tmp331 [V335 ] ( 0, 0 ) long -> zero-ref "field V147._lower (fldOffset=0x0)" P-INDEP ;* V336 tmp332 [V336 ] ( 0, 0 ) long -> zero-ref "field V147._upper (fldOffset=0x8)" P-INDEP ;* V337 tmp333 [V337 ] ( 0, 0 ) long -> zero-ref "field V148._lower (fldOffset=0x0)" P-INDEP ;* V338 tmp334 [V338 ] ( 0, 0 ) long -> zero-ref "field V148._upper (fldOffset=0x8)" P-INDEP ;* V339 tmp335 [V339 ] ( 0, 0 ) long -> zero-ref "field V149._lower (fldOffset=0x0)" P-DEP ;* V340 tmp336 [V340 ] ( 0, 0 ) long -> zero-ref "field V149._upper (fldOffset=0x8)" P-DEP ; V341 tmp337 [V341,T35] ( 3, 12 ) long -> rax "field V150._lower (fldOffset=0x0)" P-INDEP ; V342 tmp338 [V342,T42] ( 2, 8 ) long -> rsi "field V150._upper (fldOffset=0x8)" P-INDEP ;* V343 tmp339 [V343 ] ( 0, 0 ) long -> zero-ref "field V151._lower (fldOffset=0x0)" P-INDEP ;* V344 tmp340 [V344 ] ( 0, 0 ) long -> zero-ref "field V151._upper (fldOffset=0x8)" P-INDEP ;* V345 tmp341 [V345 ] ( 0, 0 ) long -> zero-ref "field V153._lower (fldOffset=0x0)" P-INDEP ;* V346 tmp342 [V346 ] ( 0, 0 ) long -> zero-ref "field V153._upper (fldOffset=0x8)" P-INDEP ;* V347 tmp343 [V347 ] ( 0, 0 ) long -> zero-ref "field V155._lower (fldOffset=0x0)" P-INDEP ;* V348 tmp344 [V348 ] ( 0, 0 ) long -> zero-ref "field V155._upper (fldOffset=0x8)" P-INDEP ;* V349 tmp345 [V349 ] ( 0, 0 ) long -> zero-ref "field V165._lower (fldOffset=0x0)" P-INDEP ;* V350 tmp346 [V350 ] ( 0, 0 ) long -> zero-ref "field V165._upper (fldOffset=0x8)" P-INDEP ;* V351 tmp347 [V351 ] ( 0, 0 ) long -> zero-ref "field V170.Item1 (fldOffset=0x0)" P-INDEP ;* V352 tmp348 [V352 ] ( 0, 0 ) long -> zero-ref "field V170.Item2 (fldOffset=0x8)" P-INDEP ;* V353 tmp349 [V353 ] ( 0, 0 ) long -> zero-ref "field V172.Item1 (fldOffset=0x0)" P-INDEP ;* V354 tmp350 [V354 ] ( 0, 0 ) long -> zero-ref "field V172.Item2 (fldOffset=0x8)" P-INDEP ;* V355 tmp351 [V355 ] ( 0, 0 ) long -> zero-ref "field V175.Item1 (fldOffset=0x0)" P-INDEP ; V356 tmp352 [V356,T22] ( 2, 32 ) long -> r14 "field V175.Item2 (fldOffset=0x8)" P-INDEP ;* V357 tmp353 [V357 ] ( 0, 0 ) byref -> zero-ref "field V179._reference (fldOffset=0x0)" P-INDEP ;* V358 tmp354 [V358 ] ( 0, 0 ) int -> zero-ref "field V179._length (fldOffset=0x8)" P-INDEP ;* V359 tmp355 [V359 ] ( 0, 0 ) byref -> zero-ref "field V181._reference (fldOffset=0x0)" P-INDEP ;* V360 tmp356 [V360 ] ( 0, 0 ) int -> zero-ref "field V181._length (fldOffset=0x8)" P-INDEP ;* V361 tmp357 [V361 ] ( 0, 0 ) byref -> zero-ref "field V182._reference (fldOffset=0x0)" P-INDEP ;* V362 tmp358 [V362 ] ( 0, 0 ) int -> zero-ref "field V182._length (fldOffset=0x8)" P-INDEP ;* V363 tmp359 [V363 ] ( 0, 0 ) long -> zero-ref "field V185.Item1 (fldOffset=0x0)" P-INDEP ; V364 tmp360 [V364,T12] ( 2,128 ) long -> rax "field V185.Item2 (fldOffset=0x8)" P-INDEP ;* V365 tmp361 [V365 ] ( 0, 0 ) long -> zero-ref "field V191.Item1 (fldOffset=0x0)" P-INDEP ;* V366 tmp362 [V366 ] ( 0, 0 ) long -> zero-ref "field V191.Item2 (fldOffset=0x8)" P-INDEP ;* V367 tmp363 [V367 ] ( 0, 0 ) long -> zero-ref "field V193.Item1 (fldOffset=0x0)" P-INDEP ;* V368 tmp364 [V368 ] ( 0, 0 ) long -> zero-ref "field V193.Item2 (fldOffset=0x8)" P-INDEP ;* V369 tmp365 [V369 ] ( 0, 0 ) long -> zero-ref "field V196.Item1 (fldOffset=0x0)" P-INDEP ; V370 tmp366 [V370,T43] ( 2, 8 ) long -> rdi "field V196.Item2 (fldOffset=0x8)" P-INDEP ;* V371 tmp367 [V371 ] ( 0, 0 ) byref -> zero-ref "field V200._reference (fldOffset=0x0)" P-INDEP ;* V372 tmp368 [V372 ] ( 0, 0 ) int -> zero-ref "field V200._length (fldOffset=0x8)" P-INDEP ;* V373 tmp369 [V373 ] ( 0, 0 ) byref -> zero-ref "field V202._reference (fldOffset=0x0)" P-INDEP ;* V374 tmp370 [V374 ] ( 0, 0 ) int -> zero-ref "field V202._length (fldOffset=0x8)" P-INDEP ;* V375 tmp371 [V375 ] ( 0, 0 ) byref -> zero-ref "field V203._reference (fldOffset=0x0)" P-INDEP ;* V376 tmp372 [V376 ] ( 0, 0 ) int -> zero-ref "field V203._length (fldOffset=0x8)" P-INDEP ;* V377 tmp373 [V377 ] ( 0, 0 ) long -> zero-ref "field V206.Item1 (fldOffset=0x0)" P-INDEP ; V378 tmp374 [V378,T23] ( 2, 32 ) long -> rax "field V206.Item2 (fldOffset=0x8)" P-INDEP ;* V379 tmp375 [V379 ] ( 0, 0 ) byref -> zero-ref single-def "field V210._reference (fldOffset=0x0)" P-INDEP ;* V380 tmp376 [V380 ] ( 0, 0 ) int -> zero-ref "field V210._length (fldOffset=0x8)" P-INDEP ;* V381 tmp377 [V381 ] ( 0, 0 ) byref -> zero-ref single-def "field V213._reference (fldOffset=0x0)" P-INDEP ;* V382 tmp378 [V382 ] ( 0, 0 ) int -> zero-ref "field V213._length (fldOffset=0x8)" P-INDEP ;* V383 tmp379 [V383 ] ( 0, 0 ) byref -> zero-ref single-def "field V214._reference (fldOffset=0x0)" P-INDEP ;* V384 tmp380 [V384 ] ( 0, 0 ) int -> zero-ref "field V214._length (fldOffset=0x8)" P-INDEP ;* V385 tmp381 [V385 ] ( 0, 0 ) long -> zero-ref "V75.[000..008)" ;* V386 tmp382 [V386 ] ( 0, 0 ) long -> zero-ref "V75.[008..016)" ;* V387 tmp383 [V387 ] ( 0, 0 ) long -> zero-ref "V75.[016..024)" ;* V388 tmp384 [V388 ] ( 0, 0 ) long -> zero-ref "V75.[024..032)" ;* V389 tmp385 [V389 ] ( 0, 0 ) long -> zero-ref "V82.[000..008)" ;* V390 tmp386 [V390 ] ( 0, 0 ) long -> zero-ref "V82.[008..016)" ;* V391 tmp387 [V391 ] ( 0, 0 ) long -> zero-ref "V82.[016..024)" ;* V392 tmp388 [V392 ] ( 0, 0 ) long -> zero-ref "V82.[024..032)" ;* V393 tmp389 [V393 ] ( 0, 0 ) long -> zero-ref "V145.[000..008)" ;* V394 tmp390 [V394 ] ( 0, 0 ) long -> zero-ref "V145.[008..016)" ;* V395 tmp391 [V395 ] ( 0, 0 ) long -> zero-ref "V145.[016..024)" ;* V396 tmp392 [V396 ] ( 0, 0 ) long -> zero-ref "V145.[024..032)" ;* V397 tmp393 [V397 ] ( 0, 0 ) long -> zero-ref "V152.[000..008)" ;* V398 tmp394 [V398 ] ( 0, 0 ) long -> zero-ref "V152.[008..016)" ;* V399 tmp395 [V399 ] ( 0, 0 ) long -> zero-ref "V152.[016..024)" ;* V400 tmp396 [V400 ] ( 0, 0 ) long -> zero-ref "V152.[024..032)" ; V401 tmp397 [V401,T62] ( 2, 2 ) long -> r12 "Cast away GC" ; V402 GsCookie [V402 ] ( 1, 1 ) long -> [rbp-0x58] do-not-enreg[X] addr-exposed "GSSecurityCookie" ; V403 cse0 [V403,T19] ( 10, 47.25) long -> r8 hoist multi-def "CSE #03: moderate" ; ; Lcl frame size = 72 G_M34037_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 72 lea rbp, [rsp+0x70] xor eax, eax mov qword ptr [rbp-0x38], rax mov qword ptr [rbp-0x58], 0xD1FFAB1E mov r15, rdi mov r14, rsi mov rbx, rdx ;; size=42 bbWeight=1 PerfScore 9.75 G_M34037_IG02: test dword ptr [rsp], esp sub rsp, 48 lea r13, [rsp+0x10] mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] test rbx, rbx jl G_M34037_IG34 ;; size=34 bbWeight=1 PerfScore 7.25 G_M34037_IG03: test rbx, rbx je G_M34037_IG06 mov edi, 20 cmp rbx, 5 ja SHORT G_M34037_IG04 cmp rbx, 5 jne G_M34037_IG05 mov rsi, 0xD1FFAB1E mov edx, 21 cmp r14, rsi cmovae edi, edx jmp SHORT G_M34037_IG05 align [8 bytes for IG12] ;; size=61 bbWeight=0.50 PerfScore 3.50 G_M34037_IG04: mov rdi, r14 mov rsi, rbx mov rdx, 0xD1FFAB1E mov ecx, 5 mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rdi, rax or rdi, 1 lzcnt rdi, rdi xor edi, 63 movsxd rdi, edi mov rsi, 0xD1FFAB1E ; static handle movzx rdi, byte ptr [rdi+rsi] mov rsi, 0xD1FFAB1E ; static handle cmp rax, qword ptr [rsi+8*rdi] setb sil movzx rsi, sil sub edi, esi add edi, 20 ;; size=93 bbWeight=0.50 PerfScore 7.25 G_M34037_IG05: jmp SHORT G_M34037_IG07 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M34037_IG06: mov rdi, r14 or rdi, 1 lzcnt rdi, rdi xor edi, 63 movsxd rdi, edi mov rsi, 0xD1FFAB1E ; static handle movzx rdi, byte ptr [rdi+rsi] mov rsi, 0xD1FFAB1E ; static handle cmp r14, qword ptr [rsi+8*rdi] setb sil movzx rsi, sil sub edi, esi ;; size=57 bbWeight=0.50 PerfScore 5.00 G_M34037_IG07: mov esi, -1 test edi, edi cmovge esi, edi cmp esi, 40 jle SHORT G_M34037_IG08 xor esi, esi mov dword ptr [rbp-0x30], esi jmp G_M34037_IG18 ;; size=25 bbWeight=0.50 PerfScore 2.62 G_M34037_IG08: mov dword ptr [rbp-0x30], esi mov bword ptr [rbp-0x38], r13 mov r12, r13 movsxd rax, esi add r12, rax cmp edi, -1 jge G_M34037_IG30 mov rsi, rbx mov ebx, -1 test rsi, rsi jne G_M34037_IG25 ;; size=42 bbWeight=0.50 PerfScore 2.88 G_M34037_IG09: mov rdi, r14 ;; size=3 bbWeight=0.25 PerfScore 0.06 G_M34037_IG10: mov rsi, r12 mov ecx, ebx cmp rdi, 100 jb G_M34037_IG29 ;; size=15 bbWeight=0.50 PerfScore 0.88 G_M34037_IG11: mov r8, 0xD1FFAB1E ; static handle ;; size=10 bbWeight=0.25 PerfScore 0.06 G_M34037_IG12: add rsi, -2 add ecx, -2 mov rdx, 0xD1FFAB1E mov rax, rdi shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub rdi, rax mov r9, rdx add edi, edi mov eax, edi mov ax, word ptr [rax+r8] mov word ptr [rsi], ax cmp r9, 100 jb SHORT G_M34037_IG15 ;; size=59 bbWeight=4 PerfScore 49.00 G_M34037_IG13: mov rdi, r9 jmp SHORT G_M34037_IG12 align [0 bytes for IG14] ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG14: dec ecx mov rdx, 0xD1FFAB1E mov rax, r9 mul rdx:rax, rdx shr rdx, 3 lea rdi, [rdx+4*rdx] add rdi, rdi mov rax, r9 sub rax, rdi mov r9, rdx dec rsi add eax, 48 mov byte ptr [rsi], al ;; size=46 bbWeight=16 PerfScore 116.00 G_M34037_IG15: test r9, r9 jne SHORT G_M34037_IG14 ;; size=5 bbWeight=4 PerfScore 5.00 G_M34037_IG16: test ecx, ecx jg SHORT G_M34037_IG14 ;; size=4 bbWeight=4 PerfScore 5.00 G_M34037_IG17: xor edi, edi mov bword ptr [rbp-0x38], rdi ;; size=6 bbWeight=0.50 PerfScore 0.62 G_M34037_IG18: xor rdi, rdi mov bword ptr [rbp-0x38], rdi jmp G_M34037_IG41 align [3 bytes for IG20] ;; size=14 bbWeight=0.50 PerfScore 1.62 G_M34037_IG19: mov r9, r14 jmp SHORT G_M34037_IG21 ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG20: dec ecx mov rdx, 0xD1FFAB1E mov rax, r9 mul rdx:rax, rdx shr rdx, 3 lea r8, [rdx+4*rdx] add r8, r8 mov rax, r9 sub rax, r8 mov r9, rdx dec r12 add eax, 48 mov byte ptr [r12], al ;; size=48 bbWeight=64 PerfScore 464.00 G_M34037_IG21: test r9, r9 jne SHORT G_M34037_IG20 ;; size=5 bbWeight=32 PerfScore 40.00 G_M34037_IG22: test ecx, ecx jg SHORT G_M34037_IG20 ;; size=4 bbWeight=32 PerfScore 40.00 G_M34037_IG23: add ebx, -19 test rsi, rsi je G_M34037_IG10 ;; size=12 bbWeight=4 PerfScore 6.00 G_M34037_IG24: mov r14, rdi ;; size=3 bbWeight=2 PerfScore 0.50 G_M34037_IG25: mov rdi, r14 mov rdx, 0xD1FFAB1E xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rsi, rdx mov rdi, 0xD1FFAB1E lea rcx, [rbp-0x48] mov rdx, rax mulx rdx, r8, rdi mov qword ptr [rcx], r8 mov rdx, qword ptr [rbp-0x48] sub r14, rdx mov rdi, rax mov ecx, 19 cmp r14, 100 jb G_M34037_IG19 ;; size=80 bbWeight=4 PerfScore 49.00 G_M34037_IG26: mov r8, 0xD1FFAB1E ; static handle align [0 bytes for IG27] ;; size=10 bbWeight=1 PerfScore 0.25 G_M34037_IG27: add r12, -2 add ecx, -2 mov rdx, 0xD1FFAB1E mov rax, r14 shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub r14, rax mov r9, rdx add r14d, r14d mov eax, r14d mov ax, word ptr [rax+r8] mov word ptr [r12], ax cmp r9, 100 jb G_M34037_IG21 ;; size=67 bbWeight=16 PerfScore 196.00 G_M34037_IG28: mov r14, r9 jmp SHORT G_M34037_IG27 ;; size=5 bbWeight=8 PerfScore 18.00 G_M34037_IG29: mov r9, rdi jmp G_M34037_IG15 align [0 bytes for IG45] ;; size=8 bbWeight=0.25 PerfScore 0.56 G_M34037_IG30: mov rsi, rbx test rsi, rsi jne G_M34037_IG54 ;; size=12 bbWeight=0.50 PerfScore 0.75 G_M34037_IG31: mov rbx, r14 ;; size=3 bbWeight=0.25 PerfScore 0.06 G_M34037_IG32: mov rdi, r12 mov rcx, rbx cmp rcx, 10 jae G_M34037_IG46 ;; size=16 bbWeight=0.50 PerfScore 0.88 G_M34037_IG33: add ecx, 48 mov byte ptr [rdi-0x01], cl jmp G_M34037_IG17 ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M34037_IG34: mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo call [rax]System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo mov r12, rax mov rax, gword ptr [r12+0x98] test rax, rax jne SHORT G_M34037_IG38 mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] mov rsi, gword ptr [r12+0x28] test rsi, rsi je SHORT G_M34037_IG35 cmp dword ptr [rsi+0x08], 32 jle SHORT G_M34037_IG36 ;; size=57 bbWeight=0.50 PerfScore 8.12 G_M34037_IG35: mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this call [rax]System.Text.Encoding:GetBytes(System.String):ubyte[]:this jmp SHORT G_M34037_IG37 ;; size=14 bbWeight=0.50 PerfScore 2.62 G_M34037_IG36: mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:GetBytesForSmallInput(System.String):ubyte[]:this call [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:GetBytesForSmallInput(System.String):ubyte[]:this ;; size=12 bbWeight=0.50 PerfScore 1.62 G_M34037_IG37: lea rdi, bword ptr [r12+0x98] mov gword ptr [rbp-0x50], rax mov rsi, rax call CORINFO_HELP_ASSIGN_REF mov r12, gword ptr [rbp-0x50] mov rax, r12 ;; size=27 bbWeight=0.50 PerfScore 2.00 G_M34037_IG38: test rax, rax je SHORT G_M34037_IG39 lea rcx, bword ptr [rax+0x10] mov r8d, dword ptr [rax+0x08] jmp SHORT G_M34037_IG40 ;; size=15 bbWeight=0.50 PerfScore 2.88 G_M34037_IG39: xor rcx, rcx xor r8d, r8d ;; size=5 bbWeight=0.50 PerfScore 0.25 G_M34037_IG40: mov edi, 40 mov bword ptr [rsp], r13 mov dword ptr [rsp+0x08], edi mov rdi, r14 mov rsi, rbx lea r9, [rbp-0x30] mov edx, -1 mov rax, 0xD1FFAB1E ; code for System.Number:TryNegativeInt128ToDecStr[ubyte](System.Int128,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte call [rax]System.Number:TryNegativeInt128ToDecStr[ubyte](System.Int128,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte ;; size=40 bbWeight=0.50 PerfScore 3.38 G_M34037_IG41: mov edx, dword ptr [rbp-0x30] cmp edx, 40 ja SHORT G_M34037_IG44 mov rsi, r13 mov rdi, r15 xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.Text.Json.Utf8JsonWriter:WriteRawValue(System.ReadOnlySpan`1[ubyte],ubyte):this cmp dword ptr [rdi], edi call [rax]System.Text.Json.Utf8JsonWriter:WriteRawValue(System.ReadOnlySpan`1[ubyte],ubyte):this cmp qword ptr [rbp-0x58], 0xD1FFAB1E je SHORT G_M34037_IG42 call CORINFO_HELP_FAIL_FAST ;; size=45 bbWeight=1 PerfScore 13.25 G_M34037_IG42: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M34037_IG43: lea rsp, [rbp-0x28] pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.50 G_M34037_IG44: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0.50 PerfScore 1.75 G_M34037_IG45: add rdi, -2 mov rdx, 0xD1FFAB1E mov rax, rcx shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub rcx, rax mov rax, rdx add ecx, ecx mov r8, 0xD1FFAB1E ; static handle mov r8w, word ptr [rcx+r8] mov word ptr [rdi], r8w mov rcx, rax ;; size=62 bbWeight=4 PerfScore 44.00 G_M34037_IG46: cmp rcx, 100 jae SHORT G_M34037_IG45 ;; size=6 bbWeight=4 PerfScore 5.00 G_M34037_IG47: cmp rcx, 10 jb G_M34037_IG33 add rdi, -2 lea eax, [rcx+rcx] mov r8, 0xD1FFAB1E ; static handle mov ax, word ptr [rax+r8] mov word ptr [rdi], ax jmp G_M34037_IG17 align [0 bytes for IG49] ;; size=40 bbWeight=0.50 PerfScore 3.62 G_M34037_IG48: mov rcx, r14 jmp SHORT G_M34037_IG50 ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG49: dec edi mov rdx, 0xD1FFAB1E mov rax, rcx mul rdx:rax, rdx shr rdx, 3 lea rax, [rdx+4*rdx] add rax, rax mov r8, rcx sub r8, rax mov rcx, rdx dec r12 add r8d, 48 mov byte ptr [r12], r8b ;; size=49 bbWeight=64 PerfScore 464.00 G_M34037_IG50: test rcx, rcx jne SHORT G_M34037_IG49 ;; size=5 bbWeight=32 PerfScore 40.00 G_M34037_IG51: test edi, edi jg SHORT G_M34037_IG49 ;; size=4 bbWeight=32 PerfScore 40.00 G_M34037_IG52: test rsi, rsi je G_M34037_IG32 ;; size=9 bbWeight=4 PerfScore 5.00 G_M34037_IG53: mov r14, rbx ;; size=3 bbWeight=2 PerfScore 0.50 G_M34037_IG54: mov rdi, r14 mov rdx, 0xD1FFAB1E xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rsi, rdx mov rdi, 0xD1FFAB1E lea rcx, [rbp-0x40] mov rdx, rax mulx rdx, r8, rdi mov qword ptr [rcx], r8 mov rdx, qword ptr [rbp-0x40] sub r14, rdx mov rbx, rax mov edi, 19 cmp r14, 100 jb G_M34037_IG48 ;; size=80 bbWeight=4 PerfScore 49.00 G_M34037_IG55: mov r8, 0xD1FFAB1E ; static handle align [0 bytes for IG56] ;; size=10 bbWeight=1 PerfScore 0.25 G_M34037_IG56: add r12, -2 add edi, -2 mov rdx, 0xD1FFAB1E mov rax, r14 shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub r14, rax mov rcx, rdx add r14d, r14d mov eax, r14d mov ax, word ptr [rax+r8] mov word ptr [r12], ax cmp rcx, 100 jb G_M34037_IG50 ;; size=67 bbWeight=16 PerfScore 196.00 G_M34037_IG57: mov r14, rcx jmp SHORT G_M34037_IG56 ;; size=5 bbWeight=8 PerfScore 18.00 ; Total bytes of code 1401, prolog size 42, PerfScore 1954.62, instruction count 355, allocated bytes for code 1401 (MethodHash=f57e7b0a) for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (FullOpts) ; ============================================================
違いを見つける