Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
Untitled diff
作成日
昨年
差分は期限切れになりません
クリア
エクスポート
共有
説明
155 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
251 行
すべてコピー
152 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
247 行
すべてコピー
; Assembly listing for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (FullOpts)
; Assembly listing for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (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
; partially interruptible
; partially interruptible
; No PGO data
; No PGO data
コピー
コピー済み
コピー
コピー済み
; 0 inlinees with PGO data;
22
single block inlinees;
14
inlinees without PGO data
; 0 inlinees with PGO data;
25
single block inlinees;
15
inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T00] ( 9, 7 ) ref -> rbx class-hnd <System.String>
; V00 arg0 [V00,T00] ( 9, 7 ) ref -> rbx class-hnd <System.String>
;* V01 loc0 [V01 ] ( 0, 0 ) int -> zero-ref
;* V01 loc0 [V01 ] ( 0, 0 ) int -> zero-ref
; V02 loc1 [V02 ] ( 25, 12.50) struct (40) [rbp-0x40] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
; V02 loc1 [V02 ] ( 25, 12.50) struct (40) [rbp-0x40] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
;* V04 tmp1 [V04 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V04 tmp1 [V04 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
; V05 tmp2 [V05,T05] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
; V05 tmp2 [V05,T05] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
; V06 tmp3 [V06,T06] ( 2, 4 ) int -> rdx "Inlining Arg"
; V06 tmp3 [V06,T06] ( 2, 4 ) int -> rdx "Inlining Arg"
; V07 tmp4 [V07,T07] ( 4, 3 ) int -> r15 "Inline return value spill temp"
; V07 tmp4 [V07,T07] ( 4, 3 ) int -> r15 "Inline return value spill temp"
;* V08 tmp5 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
;* V08 tmp5 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
; V09 tmp6 [V09,T02] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" <ushort[]>
; V09 tmp6 [V09,T02] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" <ushort[]>
;* V10 tmp7 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V10 tmp7 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V11 tmp8 [V11 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V11 tmp8 [V11 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V13 tmp10 [V13 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V13 tmp10 [V13 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
; V15 tmp12 [V15,T01] ( 6, 6 ) int -> r15 "Inlining Arg"
; V15 tmp12 [V15,T01] ( 6, 6 ) int -> r15 "Inlining Arg"
;* V16 tmp13 [V16 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V16 tmp13 [V16 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V17 tmp14 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
;* V17 tmp14 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
コピー
コピー済み
コピー
コピー済み
;* V18 tmp15 [V18 ] ( 0, 0 )
byref
-> zero-ref "Inlining Arg"
;* V18 tmp15 [V18 ] ( 0, 0 )
int
-> zero-ref "Inlining Arg"
;* V19 tmp16 [V19 ] ( 0, 0 )
struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V19 tmp16 [V19 ] ( 0, 0 )
byref -> zero-ref "Inlining Arg"
;* V2
0
tmp1
7
[V2
0
] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
;* V20 tmp17 [V20 ] ( 0, 0 )
struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
; V2
1
tmp1
8
[V2
1
,T03] ( 4, 4 ) int -> rdx "Inlining Arg"
;* V2
1
tmp1
8
[V2
1
] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
;* V2
2 tmp19
[V2
2
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V2
2
tmp1
9
[V2
2
,T03] ( 4, 4 ) int -> rdx "Inlining Arg"
; V2
3
tmp2
0
[V2
3
,T09] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
;* V2
3 tmp20
[V2
3
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V2
4
tmp2
1
[V2
4
,T12] ( 2, 2 ) int -> rdi "Inlining Arg"
; V2
4
tmp2
1
[V2
4
,T09] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
;* V2
5
tmp2
2
[V2
5
,T22] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V2
5
tmp2
2
[V2
5
,T12] ( 2, 2 ) int -> rdi "Inlining Arg"
;* V2
6
tmp2
3
[V2
6
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V2
6
tmp2
3
[V2
6
,T22] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V27 tmp24 [V27 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V2
7
tmp2
4
[V2
7
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
コピー
コピー済み
コピー
コピー済み
;* V29 tmp26 [V29 ] ( 0, 0 )
long
-> zero-ref "Inlining Arg"
;* V29 tmp26 [V29 ] ( 0, 0 )
byref
-> zero-ref "Inlining Arg"
;* V30 tmp27 [V30 ] ( 0, 0 )
struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
;* V30 tmp27 [V30 ] ( 0, 0 )
long -> zero-ref "Inlining Arg"
; V3
1
tmp2
8
[V3
1
,T04] ( 4, 4 ) int -> rdi "Inlining Arg"
;* V31 tmp28 [V31 ] ( 0, 0 )
struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
;* V3
2 tmp29
[V3
2
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V3
2
tmp2
9
[V3
2
,T04] ( 4, 4 ) int -> rdi "Inlining Arg"
; V3
3
tmp3
0
[V3
3
,T10] ( 2, 2 ) byref -> rbx single-def "Inlining Arg"
;* V3
3 tmp30
[V3
3
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V3
4
tmp3
1
[V3
4
,T13] ( 2, 2 ) int -> rsi "Inlining Arg"
; V3
4
tmp3
1
[V3
4
,T10] ( 2, 2 ) byref -> rbx single-def "Inlining Arg"
;* V3
5
tmp3
2
[V3
5
,T23] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V3
5
tmp3
2
[V3
5
,T13] ( 2, 2 ) int -> rsi "Inlining Arg"
;* V3
6
tmp3
3
[V3
6
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V3
6
tmp3
3
[V3
6
,T23] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V37 tmp34 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V3
7
tmp3
4
[V3
7
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V38 tmp35 [V38 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V38 tmp35 [V38 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
コピー
コピー済み
コピー
コピー済み
;* V39 tmp36 [V39 ] ( 0, 0 )
struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V39 tmp36 [V39 ] ( 0, 0 )
byref -> zero-ref "Inlining Arg"
; V4
0
tmp3
7
[V4
0
,T11] ( 2, 2 ) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.String>
;* V40 tmp37 [V40 ] ( 0, 0 )
struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V4
1
tmp3
8
[V4
1
] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V4
1
tmp3
8
[V4
1
,T11] ( 2, 2 ) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.String>
; V4
2 tmp39
[V4
2
,T08] ( 3, 3 ) int -> rsi "Inlining Arg"
;* V4
2
tmp3
9
[V4
2
] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
;* V4
3
tmp4
0
[V4
3
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V4
3 tmp40
[V4
3
,T08] ( 3, 3 ) int -> rsi "Inlining Arg"
;* V4
4
tmp4
1
[
V44
] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V4
4
tmp4
1
[V4
4
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V4
5
tmp4
2
[V4
5
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V4
5
tmp4
2
[
V45 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V4
6
tmp4
3
[V4
6
] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V46 tmp43 [V46
] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V4
7
tmp4
4
[V4
7
] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V4
7
tmp4
4
[V4
7
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;*
V48
tmp4
5
[
V48
] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V4
8
tmp4
5
[V4
8
] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;
V49
tmp4
6
[
V49
,T14] ( 3, 1.50) ref -> rsi class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V4
9
tmp4
6
[V4
9
] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V5
0
tmp4
7
[V5
0
] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP
;*
V50
tmp4
7
[
V50
] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V5
1 tmp48
[V5
1
] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
;
V51
tmp4
8
[
V51
,T14] ( 3, 1.50) ref -> rsi class-hnd single-def "Inline stloc first use temp" <ushort[]>
; V5
2 tmp49
[V5
2
,T15] ( 3, 1.50) byref -> rsi "field V12._reference (fldOffset=0x0)" P-INDEP
;* V5
2
tmp4
9
[V5
2
] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP
; V5
3
tmp5
0
[V5
3
,T18] ( 3, 1.50) int -> rdx "field V12._length (fldOffset=0x8)" P-INDEP
;* V5
3 tmp50
[V5
3
] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
;* V5
4
tmp5
1
[V5
4
] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP
; V5
4 tmp51
[V5
4
,T15] ( 3, 1.50) byref -> rsi "field V12._reference (fldOffset=0x0)" P-INDEP
;* V5
5
tmp5
2
[V5
5
] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
; V5
5
tmp5
2
[V5
5
,T18] ( 3, 1.50) int -> rdx "field V12._length (fldOffset=0x8)" P-INDEP
; V5
6
tmp5
3
[V5
6
,T16] ( 3, 1.50) byref -> rsi single-def "field V16._reference (fldOffset=0x0)" P-INDEP
;* V5
6
tmp5
3
[V5
6
] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP
;* V57 tmp54 [V57 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP
;* V5
7
tmp5
4
[V5
7
] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
;* V58 tmp55 [V58 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP
; V5
8
tmp5
5
[V5
8
,T16] ( 3, 1.50) byref -> rsi single-def "field V16._reference (fldOffset=0x0)" P-INDEP
;* V59 tmp56 [V59 ] ( 0, 0 ) int -> zero-ref "field V1
7
._length (fldOffset=0x8)" P-INDEP
;* V59 tmp56 [V59 ] ( 0, 0 ) int -> zero-ref "field V1
6
._length (fldOffset=0x8)" P-INDEP
;* V60 tmp57 [V60 ] ( 0, 0 ) byref -> zero-ref
single-def
"field V1
9
._reference (fldOffset=0x0)" P-INDEP
;* V60 tmp57 [V60 ] ( 0, 0 ) byref -> zero-ref
"field V1
7
._reference (fldOffset=0x0)" P-INDEP
;* V61 tmp58 [V61 ] ( 0, 0 ) int -> zero-ref "field V1
9
._length (fldOffset=0x8)" P-INDEP
;* V61 tmp58 [V61 ] ( 0, 0 ) int -> zero-ref "field V1
7
._length (fldOffset=0x8)" P-INDEP
;* V62 tmp59 [V62 ] ( 0, 0 ) byref -> zero-ref
"field V20._reference (fldOffset=0x0)" P-INDEP
;* V62 tmp59 [V62 ] ( 0, 0 ) byref -> zero-ref
single-def
"field V20._reference (fldOffset=0x0)" P-INDEP
;* V63 tmp60 [V63 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
;* V63 tmp60 [V63 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
コピー
コピー済み
コピー
コピー済み
;* V64 tmp61 [V64 ] ( 0, 0 ) byref -> zero-ref
single-def
"field V2
2
._reference (fldOffset=0x0)" P-INDEP
;* V64 tmp61 [V64 ] ( 0, 0 ) byref -> zero-ref
"field V2
1
._reference (fldOffset=0x0)" P-INDEP
;* V65 tmp62 [V65 ] ( 0, 0 ) int -> zero-ref "field V2
2
._length (fldOffset=0x8)" P-INDEP
;* V65 tmp62 [V65 ] ( 0, 0 ) int -> zero-ref "field V2
1
._length (fldOffset=0x8)" P-INDEP
;* V66 tmp63 [V66 ] ( 0, 0 ) byref -> zero-ref single-def "field V2
6
._reference (fldOffset=0x0)" P-INDEP
;* V66 tmp63 [V66 ] ( 0, 0 ) byref -> zero-ref single-def "field V2
3
._reference (fldOffset=0x0)" P-INDEP
;* V67 tmp64 [V67 ] ( 0, 0 ) int -> zero-ref "field V2
6
._length (fldOffset=0x8)" P-INDEP
;* V67 tmp64 [V67 ] ( 0, 0 ) int -> zero-ref "field V2
3
._length (fldOffset=0x8)" P-INDEP
;* V68 tmp65 [V68 ] ( 0, 0 ) byref -> zero-ref
"field
V30
._reference (fldOffset=0x0)" P-INDEP
;* V68 tmp65 [V68 ] ( 0, 0 ) byref -> zero-ref
single-def
"field
V27
._reference (fldOffset=0x0)" P-INDEP
;* V69 tmp66 [V69 ] ( 0, 0 ) int -> zero-ref "field
V30
._length (fldOffset=0x8)" P-INDEP
;* V69 tmp66 [V69 ] ( 0, 0 ) int -> zero-ref "field
V27
._length (fldOffset=0x8)" P-INDEP
;* V70 tmp67 [V70 ] ( 0, 0 ) byref -> zero-ref
single-def
"field V3
2
._reference (fldOffset=0x0)" P-INDEP
;* V70 tmp67 [V70 ] ( 0, 0 ) byref -> zero-ref
"field V3
1
._reference (fldOffset=0x0)" P-INDEP
;* V71 tmp68 [V71 ] ( 0, 0 ) int -> zero-ref "field V3
2
._length (fldOffset=0x8)" P-INDEP
;* V71 tmp68 [V71 ] ( 0, 0 ) int -> zero-ref "field V3
1
._length (fldOffset=0x8)" P-INDEP
;* V72 tmp69 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V3
6
._reference (fldOffset=0x0)" P-INDEP
;* V72 tmp69 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V3
3
._reference (fldOffset=0x0)" P-INDEP
;* V73 tmp70 [V73 ] ( 0, 0 ) int -> zero-ref "field V3
6
._length (fldOffset=0x8)" P-INDEP
;* V73 tmp70 [V73 ] ( 0, 0 ) int -> zero-ref "field V3
3
._length (fldOffset=0x8)" P-INDEP
;* V74 tmp71 [V74 ] ( 0, 0 ) byref -> zero-ref
"field V3
9
._reference (fldOffset=0x0)" P-INDEP
;* V74 tmp71 [V74 ] ( 0, 0 ) byref -> zero-ref
single-def
"field V3
7
._reference (fldOffset=0x0)" P-INDEP
;* V75 tmp72 [V75 ] ( 0, 0 ) int -> zero-ref "field V3
9
._length (fldOffset=0x8)" P-INDEP
;* V75 tmp72 [V75 ] ( 0, 0 ) int -> zero-ref "field V3
7
._length (fldOffset=0x8)" P-INDEP
;* V76 tmp73 [V76 ] ( 0, 0 ) byref -> zero-ref "field V4
1
._reference (fldOffset=0x0)" P-INDEP
;* V76 tmp73 [V76 ] ( 0, 0 ) byref -> zero-ref "field V4
0
._reference (fldOffset=0x0)" P-INDEP
;* V77 tmp74 [V77 ] ( 0, 0 ) int -> zero-ref "field V4
1
._length (fldOffset=0x8)" P-INDEP
;* V77 tmp74 [V77 ] ( 0, 0 ) int -> zero-ref "field V4
0
._length (fldOffset=0x8)" P-INDEP
;
V78
tmp7
5 [V78
,T21] ( 2, 1 ) byref -> rdi single-def "field V4
3
._reference (fldOffset=0x0)" P-INDEP
;
* V78 tmp75 [
V78
] ( 0, 0 ) byref -> zero-ref "field V42._reference (fldOffset=0x0)" P-INDEP
;*
V79
tmp7
6
[
V79
] ( 0, 0 ) int -> zero-ref "field V4
3
._length (fldOffset=0x8)" P-INDEP
;* V79
tmp7
6 [V79 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
;* V8
0
tmp7
7
[V8
0
] ( 0, 0 ) byref -> zero-ref single-def "field V4
5
._reference (fldOffset=0x0)" P-INDEP
; V80 tmp77 [V80
,T21] ( 2, 1 ) byref -> rdi single-def "field V4
4
._reference (fldOffset=0x0)" P-INDEP
;* V8
1
tmp
78
[V8
1
] ( 0, 0 ) int -> zero-ref "field V4
5
._length (fldOffset=0x8)" P-INDEP
;*
V81
tmp7
8
[
V81
] ( 0, 0 ) int -> zero-ref "field V4
4
._length (fldOffset=0x8)" P-INDEP
;* V8
2 tmp79
[V8
2
] ( 0, 0 ) byref -> zero-ref single-def "field V4
6
._reference (fldOffset=0x0)" P-INDEP
;* V8
2
tmp7
9
[V8
2
] ( 0, 0 ) byref -> zero-ref single-def "field V4
7
._reference (fldOffset=0x0)" P-INDEP
;* V8
3
tmp8
0
[V8
3
] ( 0, 0 ) int -> zero-ref "field V4
6
._length (fldOffset=0x8)" P-INDEP
;* V8
3
tmp
80
[V8
3
] ( 0, 0 ) int -> zero-ref "field V4
7
._length (fldOffset=0x8)" P-INDEP
; V8
4
cse0 [V8
4
,T17] ( 3, 1.50) ref -> r14 "CSE #06: moderate"
;* V8
4 tmp81
[V8
4
] ( 0, 0 ) byref -> zero-ref single-def "field V4
8
._reference (fldOffset=0x0)" P-INDEP
; V8
5
cse1 [V8
5
,T19] ( 3, 1.50) int -> rdi "CSE #03: moderate"
;* V8
5
tmp8
2
[V8
5
] ( 0, 0 ) int -> zero-ref "field V4
8
._length (fldOffset=0x8)" P-INDEP
; V8
6
cse2 [V8
6
,T20] ( 3, 1.50) int -> rsi "CSE #04: moderate"
; V8
6
cse0 [V8
6
,T17] ( 3, 1.50) ref -> r14 "CSE #06: moderate"
; V8
7
cse1 [V8
7
,T19] ( 3, 1.50) int -> rdi "CSE #03: moderate"
; V8
8
cse2 [V8
8
,T20] ( 3, 1.50) int -> rsi "CSE #04: moderate"
;
;
; Lcl frame size = 40
; Lcl frame size = 40
G_M35916_IG01:
G_M35916_IG01:
push rbp
push rbp
push r15
push r15
push r14
push r14
push rbx
push rbx
sub rsp, 40
sub rsp, 40
lea rbp, [rsp+0x40]
lea rbp, [rsp+0x40]
vxorps xmm8, xmm8, xmm8
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0x40], ymm8
vmovdqu ymmword ptr [rbp-0x40], ymm8
xor eax, eax
xor eax, eax
mov qword ptr [rbp-0x20], rax
mov qword ptr [rbp-0x20], rax
mov rbx, rdi
mov rbx, rdi
;; size=34 bbWeight=1 PerfScore 8.58
;; size=34 bbWeight=1 PerfScore 8.58
G_M35916_IG02:
G_M35916_IG02:
lea rdi, bword ptr [rbx+0x0C]
lea rdi, bword ptr [rbx+0x0C]
mov edx, dword ptr [rbx+0x08]
mov edx, dword ptr [rbx+0x08]
mov esi, 63
mov esi, 63
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov r15d, eax
mov r15d, eax
test r15d, r15d
test r15d, r15d
jl G_M35916_IG11
jl G_M35916_IG11
;; size=36 bbWeight=1 PerfScore 7.50
;; size=36 bbWeight=1 PerfScore 7.50
G_M35916_IG03:
G_M35916_IG03:
mov edi, dword ptr [rbx+0x08]
mov edi, dword ptr [rbx+0x08]
dec edi
dec edi
cmp edi, r15d
cmp edi, r15d
jle G_M35916_IG11
jle G_M35916_IG11
xor rdi, rdi
xor rdi, rdi
mov gword ptr [rbp-0x40], rdi
mov gword ptr [rbp-0x40], rdi
mov rdi, 0xD1FFAB1E ; const ptr
mov rdi, 0xD1FFAB1E ; const ptr
mov r14, gword ptr [rdi]
mov r14, gword ptr [rdi]
mov rdi, r14
mov rdi, r14
mov esi, 256
mov esi, 256
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
mov gword ptr [rbp-0x38], rax
mov gword ptr [rbp-0x38], rax
test rax, rax
test rax, rax
je SHORT G_M35916_IG04
je SHORT G_M35916_IG04
lea rsi, bword ptr [rax+0x10]
lea rsi, bword ptr [rax+0x10]
mov edx, dword ptr [rax+0x08]
mov edx, dword ptr [rax+0x08]
jmp SHORT G_M35916_IG05
jmp SHORT G_M35916_IG05
;; size=71 bbWeight=0.50 PerfScore 8.75
;; size=71 bbWeight=0.50 PerfScore 8.75
G_M35916_IG04:
G_M35916_IG04:
xor rsi, rsi
xor rsi, rsi
xor edx, edx
xor edx, edx
;; size=4 bbWeight=0.50 PerfScore 0.25
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M35916_IG05:
G_M35916_IG05:
mov bword ptr [rbp-0x28], rsi
mov bword ptr [rbp-0x28], rsi
mov dword ptr [rbp-0x20], edx
mov dword ptr [rbp-0x20], edx
xor esi, esi
xor esi, esi
mov dword ptr [rbp-0x30], esi
mov dword ptr [rbp-0x30], esi
mov byte ptr [rbp-0x2C], 0
mov byte ptr [rbp-0x2C], 0
inc r15d
inc r15d
cmp dword ptr [rbx+0x08], r15d
cmp dword ptr [rbx+0x08], r15d
コピー
コピー済み
コピー
コピー済み
jb G_M35916_IG1
4
jb G_M35916_IG1
3
lea rsi, bword ptr [rbx+0x0C]
lea rsi, bword ptr [rbx+0x0C]
mov edx, dword ptr [rbp-0x30]
mov edx, dword ptr [rbp-0x30]
mov edi, dword ptr [rbp-0x20]
mov edi, dword ptr [rbp-0x20]
cmp edx, edi
cmp edx, edi
ja G_M35916_IG13
ja G_M35916_IG13
mov rax, bword ptr [rbp-0x28]
mov rax, bword ptr [rbp-0x28]
mov ecx, edx
mov ecx, edx
lea rax, bword ptr [rax+2*rcx]
lea rax, bword ptr [rax+2*rcx]
sub edi, edx
sub edi, edx
cmp r15d, edi
cmp r15d, edi
jbe SHORT G_M35916_IG06
jbe SHORT G_M35916_IG06
mov edx, r15d
mov edx, r15d
lea rdi, [rbp-0x40]
lea rdi, [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this
jmp SHORT G_M35916_IG07
jmp SHORT G_M35916_IG07
;; size=85 bbWeight=0.50 PerfScore 10.75
;; size=85 bbWeight=0.50 PerfScore 10.75
G_M35916_IG06:
G_M35916_IG06:
mov edx, r15d
mov edx, r15d
add rdx, rdx
add rdx, rdx
mov rdi, rax
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
add r15d, dword ptr [rbp-0x30]
add r15d, dword ptr [rbp-0x30]
mov dword ptr [rbp-0x30], r15d
mov dword ptr [rbp-0x30], r15d
;; size=29 bbWeight=0.50 PerfScore 3.50
;; size=29 bbWeight=0.50 PerfScore 3.50
G_M35916_IG07:
G_M35916_IG07:
mov edi, dword ptr [rbp-0x30]
mov edi, dword ptr [rbp-0x30]
mov esi, dword ptr [rbp-0x20]
mov esi, dword ptr [rbp-0x20]
cmp edi, esi
cmp edi, esi
ja G_M35916_IG13
ja G_M35916_IG13
mov rax, bword ptr [rbp-0x28]
mov rax, bword ptr [rbp-0x28]
mov ecx, edi
mov ecx, edi
lea rbx, bword ptr [rax+2*rcx]
lea rbx, bword ptr [rax+2*rcx]
sub esi, edi
sub esi, edi
jne SHORT G_M35916_IG08
jne SHORT G_M35916_IG08
lea rdi, [rbp-0x40]
lea rdi, [rbp-0x40]
mov rsi, 0xD1FFAB1E ; '*'
mov rsi, 0xD1FFAB1E ; '*'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M35916_IG09
jmp SHORT G_M35916_IG09
;; size=56 bbWeight=0.50 PerfScore 6.12
;; size=56 bbWeight=0.50 PerfScore 6.12
G_M35916_IG08:
G_M35916_IG08:
mov word ptr [rbx], 42
mov word ptr [rbx], 42
mov edi, dword ptr [rbp-0x30]
mov edi, dword ptr [rbp-0x30]
inc edi
inc edi
mov dword ptr [rbp-0x30], edi
mov dword ptr [rbp-0x30], edi
;; size=13 bbWeight=0.50 PerfScore 1.62
;; size=13 bbWeight=0.50 PerfScore 1.62
G_M35916_IG09:
G_M35916_IG09:
mov esi, dword ptr [rbp-0x30]
mov esi, dword ptr [rbp-0x30]
cmp esi, dword ptr [rbp-0x20]
cmp esi, dword ptr [rbp-0x20]
ja SHORT G_M35916_IG13
ja SHORT G_M35916_IG13
mov rdi, bword ptr [rbp-0x28]
mov rdi, bword ptr [rbp-0x28]
call System.String:.ctor(System.ReadOnlySpan`1[ushort]):this
call System.String:.ctor(System.ReadOnlySpan`1[ushort]):this
mov rbx, rax
mov rbx, rax
mov rsi, gword ptr [rbp-0x38]
mov rsi, gword ptr [rbp-0x38]
xor rdi, rdi
xor rdi, rdi
mov gword ptr [rbp-0x38], rdi
mov gword ptr [rbp-0x38], rdi
vxorps xmm0, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vmovdqu xmmword ptr [rbp-0x28], xmm0
vmovdqu xmmword ptr [rbp-0x28], xmm0
;; size=39 bbWeight=0.50 PerfScore 4.92
;; size=39 bbWeight=0.50 PerfScore 4.92
G_M35916_IG10:
G_M35916_IG10:
mov dword ptr [rbp-0x30], edi
mov dword ptr [rbp-0x30], edi
test rsi, rsi
test rsi, rsi
je SHORT G_M35916_IG11
je SHORT G_M35916_IG11
mov rdi, r14
mov rdi, r14
xor edx, edx
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
;; size=25 bbWeight=0.50 PerfScore 3.00
;; size=25 bbWeight=0.50 PerfScore 3.00
G_M35916_IG11:
G_M35916_IG11:
mov rax, rbx
mov rax, rbx
;; size=3 bbWeight=1 PerfScore 0.25
;; size=3 bbWeight=1 PerfScore 0.25
G_M35916_IG12:
G_M35916_IG12:
add rsp, 40
add rsp, 40
pop rbx
pop rbx
pop r14
pop r14
pop r15
pop r15
pop rbp
pop rbp
ret
ret
;; size=11 bbWeight=1 PerfScore 3.25
;; size=11 bbWeight=1 PerfScore 3.25
G_M35916_IG13:
G_M35916_IG13:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
int3
;; size=13 bbWeight=0.50 PerfScore 1.75
;; size=13 bbWeight=0.50 PerfScore 1.75
コピー
コピー済み
コピー
コピー済み
G_M35916_IG14:
mov edi, 33
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
int3
;; size=18 bbWeight=0.50 PerfScore 1.88
コピー
コピー済み
コピー
コピー済み
; Total bytes of code
437
, prolog size 31, PerfScore
62.13
, instruction count
120
, allocated bytes for code
437
(MethodHash=761373b3) for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (FullOpts)
; Total bytes of code
419
, prolog size 31, PerfScore
60.25
, instruction count
116
, allocated bytes for code
419
(MethodHash=761373b3) for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (FullOpts)
; ============================================================
; ============================================================
保存された差分
原文
ファイルを開く
; Assembly listing for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 22 single block inlinees; 14 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 9, 7 ) ref -> rbx class-hnd <System.String> ;* V01 loc0 [V01 ] ( 0, 0 ) int -> zero-ref ; V02 loc1 [V02 ] ( 25, 12.50) struct (40) [rbp-0x40] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler> ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty> ;* V04 tmp1 [V04 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]> ; V05 tmp2 [V05,T05] ( 2, 4 ) byref -> rdi single-def "Inlining Arg" ; V06 tmp3 [V06,T06] ( 2, 4 ) int -> rdx "Inlining Arg" ; V07 tmp4 [V07,T07] ( 4, 3 ) int -> r15 "Inline return value spill temp" ;* V08 tmp5 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]> ; V09 tmp6 [V09,T02] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" <ushort[]> ;* V10 tmp7 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]> ;* V11 tmp8 [V11 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]> ;* V13 tmp10 [V13 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]> ; V15 tmp12 [V15,T01] ( 6, 6 ) int -> r15 "Inlining Arg" ;* V16 tmp13 [V16 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]> ;* V17 tmp14 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]> ;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V19 tmp16 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]> ;* V20 tmp17 [V20 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]> ; V21 tmp18 [V21,T03] ( 4, 4 ) int -> rdx "Inlining Arg" ;* V22 tmp19 [V22 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]> ; V23 tmp20 [V23,T09] ( 2, 2 ) byref -> rax single-def "Inlining Arg" ; V24 tmp21 [V24,T12] ( 2, 2 ) int -> rdi "Inlining Arg" ;* V25 tmp22 [V25,T22] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V26 tmp23 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]> ;* V27 tmp24 [V27 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V29 tmp26 [V29 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V30 tmp27 [V30 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]> ; V31 tmp28 [V31,T04] ( 4, 4 ) int -> rdi "Inlining Arg" ;* V32 tmp29 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]> ; V33 tmp30 [V33,T10] ( 2, 2 ) byref -> rbx single-def "Inlining Arg" ; V34 tmp31 [V34,T13] ( 2, 2 ) int -> rsi "Inlining Arg" ;* V35 tmp32 [V35,T23] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V36 tmp33 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]> ;* V37 tmp34 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V38 tmp35 [V38 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V39 tmp36 [V39 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]> ; V40 tmp37 [V40,T11] ( 2, 2 ) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.String> ;* V41 tmp38 [V41 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]> ; V42 tmp39 [V42,T08] ( 3, 3 ) int -> rsi "Inlining Arg" ;* V43 tmp40 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]> ;* V44 tmp41 [V44 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V45 tmp42 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]> ;* V46 tmp43 [V46 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]> ;* V47 tmp44 [V47 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V48 tmp45 [V48 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ; V49 tmp46 [V49,T14] ( 3, 1.50) ref -> rsi class-hnd single-def "Inline stloc first use temp" <ushort[]> ;* V50 tmp47 [V50 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP ;* V51 tmp48 [V51 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP ; V52 tmp49 [V52,T15] ( 3, 1.50) byref -> rsi "field V12._reference (fldOffset=0x0)" P-INDEP ; V53 tmp50 [V53,T18] ( 3, 1.50) int -> rdx "field V12._length (fldOffset=0x8)" P-INDEP ;* V54 tmp51 [V54 ] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP ;* V55 tmp52 [V55 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP ; V56 tmp53 [V56,T16] ( 3, 1.50) byref -> rsi single-def "field V16._reference (fldOffset=0x0)" P-INDEP ;* V57 tmp54 [V57 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP ;* V58 tmp55 [V58 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP ;* V59 tmp56 [V59 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP ;* V60 tmp57 [V60 ] ( 0, 0 ) byref -> zero-ref single-def "field V19._reference (fldOffset=0x0)" P-INDEP ;* V61 tmp58 [V61 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP ;* V62 tmp59 [V62 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP ;* V63 tmp60 [V63 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP ;* V64 tmp61 [V64 ] ( 0, 0 ) byref -> zero-ref single-def "field V22._reference (fldOffset=0x0)" P-INDEP ;* V65 tmp62 [V65 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP ;* V66 tmp63 [V66 ] ( 0, 0 ) byref -> zero-ref single-def "field V26._reference (fldOffset=0x0)" P-INDEP ;* V67 tmp64 [V67 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP ;* V68 tmp65 [V68 ] ( 0, 0 ) byref -> zero-ref "field V30._reference (fldOffset=0x0)" P-INDEP ;* V69 tmp66 [V69 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP ;* V70 tmp67 [V70 ] ( 0, 0 ) byref -> zero-ref single-def "field V32._reference (fldOffset=0x0)" P-INDEP ;* V71 tmp68 [V71 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP ;* V72 tmp69 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP ;* V73 tmp70 [V73 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP ;* V74 tmp71 [V74 ] ( 0, 0 ) byref -> zero-ref "field V39._reference (fldOffset=0x0)" P-INDEP ;* V75 tmp72 [V75 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP ;* V76 tmp73 [V76 ] ( 0, 0 ) byref -> zero-ref "field V41._reference (fldOffset=0x0)" P-INDEP ;* V77 tmp74 [V77 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP ; V78 tmp75 [V78,T21] ( 2, 1 ) byref -> rdi single-def "field V43._reference (fldOffset=0x0)" P-INDEP ;* V79 tmp76 [V79 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP ;* V80 tmp77 [V80 ] ( 0, 0 ) byref -> zero-ref single-def "field V45._reference (fldOffset=0x0)" P-INDEP ;* V81 tmp78 [V81 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP ;* V82 tmp79 [V82 ] ( 0, 0 ) byref -> zero-ref single-def "field V46._reference (fldOffset=0x0)" P-INDEP ;* V83 tmp80 [V83 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP ; V84 cse0 [V84,T17] ( 3, 1.50) ref -> r14 "CSE #06: moderate" ; V85 cse1 [V85,T19] ( 3, 1.50) int -> rdi "CSE #03: moderate" ; V86 cse2 [V86,T20] ( 3, 1.50) int -> rsi "CSE #04: moderate" ; ; Lcl frame size = 40 G_M35916_IG01: push rbp push r15 push r14 push rbx sub rsp, 40 lea rbp, [rsp+0x40] vxorps xmm8, xmm8, xmm8 vmovdqu ymmword ptr [rbp-0x40], ymm8 xor eax, eax mov qword ptr [rbp-0x20], rax mov rbx, rdi ;; size=34 bbWeight=1 PerfScore 8.58 G_M35916_IG02: lea rdi, bword ptr [rbx+0x0C] mov edx, dword ptr [rbx+0x08] mov esi, 63 mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int mov r15d, eax test r15d, r15d jl G_M35916_IG11 ;; size=36 bbWeight=1 PerfScore 7.50 G_M35916_IG03: mov edi, dword ptr [rbx+0x08] dec edi cmp edi, r15d jle G_M35916_IG11 xor rdi, rdi mov gword ptr [rbp-0x40], rdi mov rdi, 0xD1FFAB1E ; const ptr mov r14, gword ptr [rdi] mov rdi, r14 mov esi, 256 mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this call [rax]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this mov gword ptr [rbp-0x38], rax test rax, rax je SHORT G_M35916_IG04 lea rsi, bword ptr [rax+0x10] mov edx, dword ptr [rax+0x08] jmp SHORT G_M35916_IG05 ;; size=71 bbWeight=0.50 PerfScore 8.75 G_M35916_IG04: xor rsi, rsi xor edx, edx ;; size=4 bbWeight=0.50 PerfScore 0.25 G_M35916_IG05: mov bword ptr [rbp-0x28], rsi mov dword ptr [rbp-0x20], edx xor esi, esi mov dword ptr [rbp-0x30], esi mov byte ptr [rbp-0x2C], 0 inc r15d cmp dword ptr [rbx+0x08], r15d jb G_M35916_IG14 lea rsi, bword ptr [rbx+0x0C] mov edx, dword ptr [rbp-0x30] mov edi, dword ptr [rbp-0x20] cmp edx, edi ja G_M35916_IG13 mov rax, bword ptr [rbp-0x28] mov ecx, edx lea rax, bword ptr [rax+2*rcx] sub edi, edx cmp r15d, edi jbe SHORT G_M35916_IG06 mov edx, r15d lea rdi, [rbp-0x40] mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this jmp SHORT G_M35916_IG07 ;; size=85 bbWeight=0.50 PerfScore 10.75 G_M35916_IG06: mov edx, r15d add rdx, rdx mov rdi, rax mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) add r15d, dword ptr [rbp-0x30] mov dword ptr [rbp-0x30], r15d ;; size=29 bbWeight=0.50 PerfScore 3.50 G_M35916_IG07: mov edi, dword ptr [rbp-0x30] mov esi, dword ptr [rbp-0x20] cmp edi, esi ja G_M35916_IG13 mov rax, bword ptr [rbp-0x28] mov ecx, edi lea rbx, bword ptr [rax+2*rcx] sub esi, edi jne SHORT G_M35916_IG08 lea rdi, [rbp-0x40] mov rsi, 0xD1FFAB1E ; '*' mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this jmp SHORT G_M35916_IG09 ;; size=56 bbWeight=0.50 PerfScore 6.12 G_M35916_IG08: mov word ptr [rbx], 42 mov edi, dword ptr [rbp-0x30] inc edi mov dword ptr [rbp-0x30], edi ;; size=13 bbWeight=0.50 PerfScore 1.62 G_M35916_IG09: mov esi, dword ptr [rbp-0x30] cmp esi, dword ptr [rbp-0x20] ja SHORT G_M35916_IG13 mov rdi, bword ptr [rbp-0x28] call System.String:.ctor(System.ReadOnlySpan`1[ushort]):this mov rbx, rax mov rsi, gword ptr [rbp-0x38] xor rdi, rdi mov gword ptr [rbp-0x38], rdi vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [rbp-0x28], xmm0 ;; size=39 bbWeight=0.50 PerfScore 4.92 G_M35916_IG10: mov dword ptr [rbp-0x30], edi test rsi, rsi je SHORT G_M35916_IG11 mov rdi, r14 xor edx, edx mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this call [rax]System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this ;; size=25 bbWeight=0.50 PerfScore 3.00 G_M35916_IG11: mov rax, rbx ;; size=3 bbWeight=1 PerfScore 0.25 G_M35916_IG12: add rsp, 40 pop rbx pop r14 pop r15 pop rbp ret ;; size=11 bbWeight=1 PerfScore 3.25 G_M35916_IG13: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0.50 PerfScore 1.75 G_M35916_IG14: mov edi, 33 mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int) call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int) int3 ;; size=18 bbWeight=0.50 PerfScore 1.88 ; Total bytes of code 437, prolog size 31, PerfScore 62.13, instruction count 120, allocated bytes for code 437 (MethodHash=761373b3) for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (FullOpts) ; ============================================================
変更されたテキスト
ファイルを開く
; Assembly listing for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 25 single block inlinees; 15 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 9, 7 ) ref -> rbx class-hnd <System.String> ;* V01 loc0 [V01 ] ( 0, 0 ) int -> zero-ref ; V02 loc1 [V02 ] ( 25, 12.50) struct (40) [rbp-0x40] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler> ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty> ;* V04 tmp1 [V04 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]> ; V05 tmp2 [V05,T05] ( 2, 4 ) byref -> rdi single-def "Inlining Arg" ; V06 tmp3 [V06,T06] ( 2, 4 ) int -> rdx "Inlining Arg" ; V07 tmp4 [V07,T07] ( 4, 3 ) int -> r15 "Inline return value spill temp" ;* V08 tmp5 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]> ; V09 tmp6 [V09,T02] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" <ushort[]> ;* V10 tmp7 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]> ;* V11 tmp8 [V11 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]> ;* V13 tmp10 [V13 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]> ; V15 tmp12 [V15,T01] ( 6, 6 ) int -> r15 "Inlining Arg" ;* V16 tmp13 [V16 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]> ;* V17 tmp14 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]> ;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V20 tmp17 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]> ;* V21 tmp18 [V21 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]> ; V22 tmp19 [V22,T03] ( 4, 4 ) int -> rdx "Inlining Arg" ;* V23 tmp20 [V23 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]> ; V24 tmp21 [V24,T09] ( 2, 2 ) byref -> rax single-def "Inlining Arg" ; V25 tmp22 [V25,T12] ( 2, 2 ) int -> rdi "Inlining Arg" ;* V26 tmp23 [V26,T22] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V27 tmp24 [V27 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]> ;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V29 tmp26 [V29 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V30 tmp27 [V30 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V31 tmp28 [V31 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]> ; V32 tmp29 [V32,T04] ( 4, 4 ) int -> rdi "Inlining Arg" ;* V33 tmp30 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]> ; V34 tmp31 [V34,T10] ( 2, 2 ) byref -> rbx single-def "Inlining Arg" ; V35 tmp32 [V35,T13] ( 2, 2 ) int -> rsi "Inlining Arg" ;* V36 tmp33 [V36,T23] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp" ;* V37 tmp34 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]> ;* V38 tmp35 [V38 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V39 tmp36 [V39 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V40 tmp37 [V40 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]> ; V41 tmp38 [V41,T11] ( 2, 2 ) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.String> ;* V42 tmp39 [V42 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]> ; V43 tmp40 [V43,T08] ( 3, 3 ) int -> rsi "Inlining Arg" ;* V44 tmp41 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]> ;* V45 tmp42 [V45 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V46 tmp43 [V46 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V47 tmp44 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]> ;* V48 tmp45 [V48 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]> ;* V49 tmp46 [V49 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V50 tmp47 [V50 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ; V51 tmp48 [V51,T14] ( 3, 1.50) ref -> rsi class-hnd single-def "Inline stloc first use temp" <ushort[]> ;* V52 tmp49 [V52 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP ;* V53 tmp50 [V53 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP ; V54 tmp51 [V54,T15] ( 3, 1.50) byref -> rsi "field V12._reference (fldOffset=0x0)" P-INDEP ; V55 tmp52 [V55,T18] ( 3, 1.50) int -> rdx "field V12._length (fldOffset=0x8)" P-INDEP ;* V56 tmp53 [V56 ] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP ;* V57 tmp54 [V57 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP ; V58 tmp55 [V58,T16] ( 3, 1.50) byref -> rsi single-def "field V16._reference (fldOffset=0x0)" P-INDEP ;* V59 tmp56 [V59 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP ;* V60 tmp57 [V60 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP ;* V61 tmp58 [V61 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP ;* V62 tmp59 [V62 ] ( 0, 0 ) byref -> zero-ref single-def "field V20._reference (fldOffset=0x0)" P-INDEP ;* V63 tmp60 [V63 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP ;* V64 tmp61 [V64 ] ( 0, 0 ) byref -> zero-ref "field V21._reference (fldOffset=0x0)" P-INDEP ;* V65 tmp62 [V65 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP ;* V66 tmp63 [V66 ] ( 0, 0 ) byref -> zero-ref single-def "field V23._reference (fldOffset=0x0)" P-INDEP ;* V67 tmp64 [V67 ] ( 0, 0 ) int -> zero-ref "field V23._length (fldOffset=0x8)" P-INDEP ;* V68 tmp65 [V68 ] ( 0, 0 ) byref -> zero-ref single-def "field V27._reference (fldOffset=0x0)" P-INDEP ;* V69 tmp66 [V69 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP ;* V70 tmp67 [V70 ] ( 0, 0 ) byref -> zero-ref "field V31._reference (fldOffset=0x0)" P-INDEP ;* V71 tmp68 [V71 ] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP ;* V72 tmp69 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V33._reference (fldOffset=0x0)" P-INDEP ;* V73 tmp70 [V73 ] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP ;* V74 tmp71 [V74 ] ( 0, 0 ) byref -> zero-ref single-def "field V37._reference (fldOffset=0x0)" P-INDEP ;* V75 tmp72 [V75 ] ( 0, 0 ) int -> zero-ref "field V37._length (fldOffset=0x8)" P-INDEP ;* V76 tmp73 [V76 ] ( 0, 0 ) byref -> zero-ref "field V40._reference (fldOffset=0x0)" P-INDEP ;* V77 tmp74 [V77 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP ;* V78 tmp75 [V78 ] ( 0, 0 ) byref -> zero-ref "field V42._reference (fldOffset=0x0)" P-INDEP ;* V79 tmp76 [V79 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP ; V80 tmp77 [V80,T21] ( 2, 1 ) byref -> rdi single-def "field V44._reference (fldOffset=0x0)" P-INDEP ;* V81 tmp78 [V81 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP ;* V82 tmp79 [V82 ] ( 0, 0 ) byref -> zero-ref single-def "field V47._reference (fldOffset=0x0)" P-INDEP ;* V83 tmp80 [V83 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP ;* V84 tmp81 [V84 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP ;* V85 tmp82 [V85 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP ; V86 cse0 [V86,T17] ( 3, 1.50) ref -> r14 "CSE #06: moderate" ; V87 cse1 [V87,T19] ( 3, 1.50) int -> rdi "CSE #03: moderate" ; V88 cse2 [V88,T20] ( 3, 1.50) int -> rsi "CSE #04: moderate" ; ; Lcl frame size = 40 G_M35916_IG01: push rbp push r15 push r14 push rbx sub rsp, 40 lea rbp, [rsp+0x40] vxorps xmm8, xmm8, xmm8 vmovdqu ymmword ptr [rbp-0x40], ymm8 xor eax, eax mov qword ptr [rbp-0x20], rax mov rbx, rdi ;; size=34 bbWeight=1 PerfScore 8.58 G_M35916_IG02: lea rdi, bword ptr [rbx+0x0C] mov edx, dword ptr [rbx+0x08] mov esi, 63 mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int mov r15d, eax test r15d, r15d jl G_M35916_IG11 ;; size=36 bbWeight=1 PerfScore 7.50 G_M35916_IG03: mov edi, dword ptr [rbx+0x08] dec edi cmp edi, r15d jle G_M35916_IG11 xor rdi, rdi mov gword ptr [rbp-0x40], rdi mov rdi, 0xD1FFAB1E ; const ptr mov r14, gword ptr [rdi] mov rdi, r14 mov esi, 256 mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this call [rax]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this mov gword ptr [rbp-0x38], rax test rax, rax je SHORT G_M35916_IG04 lea rsi, bword ptr [rax+0x10] mov edx, dword ptr [rax+0x08] jmp SHORT G_M35916_IG05 ;; size=71 bbWeight=0.50 PerfScore 8.75 G_M35916_IG04: xor rsi, rsi xor edx, edx ;; size=4 bbWeight=0.50 PerfScore 0.25 G_M35916_IG05: mov bword ptr [rbp-0x28], rsi mov dword ptr [rbp-0x20], edx xor esi, esi mov dword ptr [rbp-0x30], esi mov byte ptr [rbp-0x2C], 0 inc r15d cmp dword ptr [rbx+0x08], r15d jb G_M35916_IG13 lea rsi, bword ptr [rbx+0x0C] mov edx, dword ptr [rbp-0x30] mov edi, dword ptr [rbp-0x20] cmp edx, edi ja G_M35916_IG13 mov rax, bword ptr [rbp-0x28] mov ecx, edx lea rax, bword ptr [rax+2*rcx] sub edi, edx cmp r15d, edi jbe SHORT G_M35916_IG06 mov edx, r15d lea rdi, [rbp-0x40] mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this jmp SHORT G_M35916_IG07 ;; size=85 bbWeight=0.50 PerfScore 10.75 G_M35916_IG06: mov edx, r15d add rdx, rdx mov rdi, rax mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) add r15d, dword ptr [rbp-0x30] mov dword ptr [rbp-0x30], r15d ;; size=29 bbWeight=0.50 PerfScore 3.50 G_M35916_IG07: mov edi, dword ptr [rbp-0x30] mov esi, dword ptr [rbp-0x20] cmp edi, esi ja G_M35916_IG13 mov rax, bword ptr [rbp-0x28] mov ecx, edi lea rbx, bword ptr [rax+2*rcx] sub esi, edi jne SHORT G_M35916_IG08 lea rdi, [rbp-0x40] mov rsi, 0xD1FFAB1E ; '*' mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this jmp SHORT G_M35916_IG09 ;; size=56 bbWeight=0.50 PerfScore 6.12 G_M35916_IG08: mov word ptr [rbx], 42 mov edi, dword ptr [rbp-0x30] inc edi mov dword ptr [rbp-0x30], edi ;; size=13 bbWeight=0.50 PerfScore 1.62 G_M35916_IG09: mov esi, dword ptr [rbp-0x30] cmp esi, dword ptr [rbp-0x20] ja SHORT G_M35916_IG13 mov rdi, bword ptr [rbp-0x28] call System.String:.ctor(System.ReadOnlySpan`1[ushort]):this mov rbx, rax mov rsi, gword ptr [rbp-0x38] xor rdi, rdi mov gword ptr [rbp-0x38], rdi vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [rbp-0x28], xmm0 ;; size=39 bbWeight=0.50 PerfScore 4.92 G_M35916_IG10: mov dword ptr [rbp-0x30], edi test rsi, rsi je SHORT G_M35916_IG11 mov rdi, r14 xor edx, edx mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this call [rax]System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this ;; size=25 bbWeight=0.50 PerfScore 3.00 G_M35916_IG11: mov rax, rbx ;; size=3 bbWeight=1 PerfScore 0.25 G_M35916_IG12: add rsp, 40 pop rbx pop r14 pop r15 pop rbp ret ;; size=11 bbWeight=1 PerfScore 3.25 G_M35916_IG13: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0.50 PerfScore 1.75 ; Total bytes of code 419, prolog size 31, PerfScore 60.25, instruction count 116, allocated bytes for code 419 (MethodHash=761373b3) for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (FullOpts) ; ============================================================
違いを見つける