Diff
checker
文本
文本
圖像
文檔
Excel
文件夾
Legal
Enterprise
桌面版
定價
登入
下載 Diffchecker 桌面版
比較文本
尋找兩個文字檔案之間的差異
工具
歷史
即時編輯器
隱藏空白變更
摺疊未變更行
關閉換行
檢視
拆分
統一
比對精度
智能
單詞
字符
文字樣式
變更外觀
語法突出顯示
選擇語法
忽略
文字轉換
前往第一個差異
編輯輸入
Diffchecker Desktop
執行Diffchecker最安全的方式。取得Diffchecker桌面應用程式:您的差異永遠不會離開您的電腦!
取得桌面版
Untitled Diff
建立於
5 年前
差異永不過期
清除
匯出
分享
解釋
85 刪除
行
總計
刪除
字符
總計
刪除
要繼續使用此功能,請升級到
Diff
checker
Pro
查看價格
529 行
全部複製
53 新增
行
總計
新增
字符
總計
新增
要繼續使用此功能,請升級到
Diff
checker
Pro
查看價格
523 行
全部複製
; Assembly listing for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this
; Assembly listing for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this
; Emitting BLENDED_CODE for X64 CPU with AVX - Unix
; Emitting BLENDED_CODE for X64 CPU with AVX - Unix
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; partially interruptible
; partially interruptible
; No matching PGO data
; No matching PGO data
; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def
; V01 loc0 [V01,T22] ( 4, 4 ) ref -> rbx class-hnd single-def
; V01 loc0 [V01,T22] ( 4, 4 ) ref -> rbx class-hnd single-def
;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def
;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def
; V03 loc2 [V03 ] ( 5, 5 ) simd16 -> [rbp-40H] do-not-enreg[XSB] addr-exposed ld-addr-op single-def
; V03 loc2 [V03 ] ( 5, 5 ) simd16 -> [rbp-40H] do-not-enreg[XSB] addr-exposed ld-addr-op single-def
; V04 loc3 [V04,T35] ( 2, 2 ) ref -> r15 class-hnd single-def
; V04 loc3 [V04,T35] ( 2, 2 ) ref -> r15 class-hnd single-def
; V05 loc4 [V05,T36] ( 2, 2 ) ref -> rdi class-hnd single-def
; V05 loc4 [V05,T36] ( 2, 2 ) ref -> rdi class-hnd single-def
; V06 loc5 [V06,T37] ( 2, 2 ) ref -> r12 class-hnd single-def
; V06 loc5 [V06,T37] ( 2, 2 ) ref -> r12 class-hnd single-def
; V07 loc6 [V07,T38] ( 2, 2 ) ref -> rdi class-hnd single-def
; V07 loc6 [V07,T38] ( 2, 2 ) ref -> rdi class-hnd single-def
; V08 loc7 [V08,T39] ( 2, 2 ) ref -> r12 class-hnd single-def
; V08 loc7 [V08,T39] ( 2, 2 ) ref -> r12 class-hnd single-def
; V09 loc8 [V09,T40] ( 2, 2 ) ref -> rdi class-hnd single-def
; V09 loc8 [V09,T40] ( 2, 2 ) ref -> rdi class-hnd single-def
; V10 loc9 [V10,T41] ( 2, 2 ) ref -> r14 class-hnd single-def
; V10 loc9 [V10,T41] ( 2, 2 ) ref -> r14 class-hnd single-def
; V11 loc10 [V11,T42] ( 2, 2 ) ref -> rdi class-hnd single-def
; V11 loc10 [V11,T42] ( 2, 2 ) ref -> rdi class-hnd single-def
;# V12 OutArgs [V12 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;# V12 OutArgs [V12 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
; V13 tmp1 [V13,T04] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp"
; V13 tmp1 [V13,T04] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp"
; V14 tmp2 [V14,T00] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V14 tmp2 [V14,T00] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V15 tmp3 [V15,T25] ( 2, 4 ) ref -> r12 class-hnd single-def "impAppendStmt"
; V15 tmp3 [V15,T25] ( 2, 4 ) ref -> r12 class-hnd single-def "impAppendStmt"
; V16 tmp4 [V16,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V16 tmp4 [V16,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V17 tmp5 [V17,T06] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V17 tmp5 [V17,T06] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V18 tmp6 [V18,T07] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V18 tmp6 [V18,T07] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V19 tmp7 [V19,T08] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V19 tmp7 [V19,T08] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
複製
已複製
複製
已複製
; V20 tmp8 [V20,T01] ( 7, 14 ) ref -> [rbp-
5
8H] class-hnd exact spill-single-def "dup spill"
; V20 tmp8 [V20,T01] ( 7, 14 ) ref -> [rbp-
4
8H] class-hnd exact spill-single-def "dup spill"
; V21 tmp9 [V21,T26] ( 2, 4 ) ref -> r13 class-hnd single-def "impAppendStmt"
; V21 tmp9 [V21,T26] ( 2, 4 ) ref -> r13 class-hnd single-def "impAppendStmt"
; V22 tmp10 [V22,T09] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V22 tmp10 [V22,T09] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V23 tmp11 [V23,T10] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V23 tmp11 [V23,T10] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V24 tmp12 [V24,T11] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V24 tmp12 [V24,T11] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V25 tmp13 [V25,T12] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V25 tmp13 [V25,T12] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V26 tmp14 [V26,T02] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V26 tmp14 [V26,T02] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V27 tmp15 [V27,T27] ( 2, 4 ) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store"
; V27 tmp15 [V27,T27] ( 2, 4 ) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store"
; V28 tmp16 [V28,T13] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V28 tmp16 [V28,T13] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V29 tmp17 [V29,T14] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V29 tmp17 [V29,T14] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V30 tmp18 [V30,T15] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V30 tmp18 [V30,T15] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V31 tmp19 [V31,T16] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V31 tmp19 [V31,T16] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V32 tmp20 [V32,T03] ( 7, 14 ) ref -> r12 class-hnd exact single-def "dup spill"
; V32 tmp20 [V32,T03] ( 7, 14 ) ref -> r12 class-hnd exact single-def "dup spill"
; V33 tmp21 [V33,T28] ( 2, 4 ) ref -> r15 class-hnd single-def "impAppendStmt"
; V33 tmp21 [V33,T28] ( 2, 4 ) ref -> r15 class-hnd single-def "impAppendStmt"
; V34 tmp22 [V34,T17] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V34 tmp22 [V34,T17] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V35 tmp23 [V35,T18] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V35 tmp23 [V35,T18] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V36 tmp24 [V36,T19] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V36 tmp24 [V36,T19] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V37 tmp25 [V37,T20] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V37 tmp25 [V37,T20] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V38 tmp26 [V38,T29] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V38 tmp26 [V38,T29] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V39 tmp27 [V39,T30] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V39 tmp27 [V39,T30] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V40 tmp28 [V40,T21] ( 3, 6 ) ref -> rax single-def "argument with side effect"
; V40 tmp28 [V40,T21] ( 3, 6 ) ref -> rax single-def "argument with side effect"
; V41 tmp29 [V41,T31] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V41 tmp29 [V41,T31] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V42 tmp30 [V42,T32] ( 2, 4 ) ref -> r12 single-def "argument with side effect"
; V42 tmp30 [V42,T32] ( 2, 4 ) ref -> r12 single-def "argument with side effect"
; V43 tmp31 [V43,T33] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V43 tmp31 [V43,T33] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V44 tmp32 [V44,T34] ( 2, 4 ) ref -> r15 single-def "argument with side effect"
; V44 tmp32 [V44,T34] ( 2, 4 ) ref -> r15 single-def "argument with side effect"
; V45 cse0 [V45,T23] ( 4, 4 ) ref -> r15 "CSE - moderate"
; V45 cse0 [V45,T23] ( 4, 4 ) ref -> r15 "CSE - moderate"
複製
已複製
複製
已複製
; V46 cse1 [V46,T24] ( 4, 4 ) ref ->
[rbp-60H] spill-single-def "CSE - moderate"
; V46 cse1 [V46,T24] ( 4, 4 ) ref ->
[rbp-50H] spill-single-def "CSE - moderate"
; V47 cse2 [V47,T43] ( 5, 5 ) double -> [rbp-48H] spill-single-def "CSE - moderate"
; V48 cse3 [V48,T44] ( 5, 5 ) double ->
[rbp-50H] spill-single-def "CSE - moderate"
;
;
複製
已複製
複製
已複製
; Lcl frame size =
56
; Lcl frame size =
40
G_M22870_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
G_M22870_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push rbp
push rbp
push r15
push r15
push r14
push r14
push r13
push r13
push r12
push r12
push rbx
push rbx
複製
已複製
複製
已複製
sub rsp,
56
sub rsp,
40
vzeroupper
vzeroupper
複製
已複製
複製
已複製
lea rbp, [rsp+
6
0H]
lea rbp, [rsp+
5
0H]
;; bbWeight=1 PerfScore 7.75
;; bbWeight=1 PerfScore 7.75
G_M22870_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M22870_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
; gcrRegs +[rax]
; gcrRegs +[rax]
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax]
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, qword ptr [rax+88]
mov rax, qword ptr [rax+88]
call gword ptr [rax+16]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
call gword ptr [rax+16]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
; gcrRegs -[rdi] +[rax]
; gcrRegs -[rdi] +[rax]
mov rbx, gword ptr [rax+56]
mov rbx, gword ptr [rax+56]
; gcrRegs +[rbx]
; gcrRegs +[rbx]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov r14, rax
; gcrRegs +[r14]
; gcrRegs +[r14]
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, gword ptr [rsi]
mov rsi, gword ptr [rsi]
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov rdi, r14
mov rdi, r14
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov edx, 1
mov edx, 1
call System.Globalization.CultureInfo:.ctor(System.String,bool):this
call System.Globalization.CultureInfo:.ctor(System.String,bool):this
; gcrRegs -[rax rsi rdi]
; gcrRegs -[rax rsi rdi]
vmovupd xmm0, xmmword ptr [reloc @RWD00]
vmovupd xmm0, xmmword ptr [reloc @RWD00]
vmovapd xmmword ptr [rbp-40H], xmm0
vmovapd xmmword ptr [rbp-40H], xmm0
lea rdi, bword ptr [rbp-40H]
lea rdi, bword ptr [rbp-40H]
; byrRegs +[rdi]
; byrRegs +[rdi]
call System.Numerics.Vector4:ToString():System.String:this
call System.Numerics.Vector4:ToString():System.String:this
; gcrRegs +[rax]
; gcrRegs +[rax]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov r15, rax
mov r15, rax
; gcrRegs +[r15]
; gcrRegs +[r15]
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
mov r12, rax
mov r12, rax
; gcrRegs +[r12]
; gcrRegs +[r12]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 5
mov esi, 5
call CORINFO_HELP_NEWARR_1_OBJ
call CORINFO_HELP_NEWARR_1_OBJ
mov r13, rax
mov r13, rax
; gcrRegs +[r13]
; gcrRegs +[r13]
lea rdi, bword ptr [r13+16]
lea rdi, bword ptr [r13+16]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rbx
mov rsi, rbx
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
複製
已複製
複製
已複製
v
mov
sd
xmm0, qword ptr [reloc @RWD16]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr
[rbp-48H], xmm0
mov
qword ptr
[rax+8],
rdi
vmovsd qword ptr
[rax+8],
xmm0
lea rdi, bword ptr [r13+24]
lea rdi, bword ptr [r13+24]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 2
mov dword ptr [rax+8], 2
lea rdi, bword ptr [r13+32]
lea rdi, bword ptr [r13+32]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 3
mov dword ptr [rax+8], 3
lea rdi, bword ptr [r13+40]
lea rdi, bword ptr [r13+40]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
複製
已複製
複製
已複製
v
mov
sd xmm0, qword ptr [reloc @RWD24]
mov
rdi, 0xD1FFAB1E
vmovsd qword ptr [rbp-50H], xmm0
mov
qword ptr [rax+8],
rdi
v
mov
sd
qword ptr [rax+8],
xmm0
lea rdi, bword ptr [r13+48]
lea rdi, bword ptr [r13+48]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, gword ptr [rsi]
mov rsi, gword ptr [rsi]
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov rdi, r12
mov rdi, r12
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rdx, r13
mov rdx, r13
; gcrRegs +[rdx]
; gcrRegs +[rdx]
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
; gcrRegs -[rdx rsi rdi r12-r13] +[rax]
; gcrRegs -[rdx rsi rdi r12-r13] +[rax]
複製
已複製
複製
已複製
;; bbWeight=1 PerfScore 50.75
G_M22870_IG03: ; , extend
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rsi, r15
mov rsi, r15
; gcrRegs +[rsi]
; gcrRegs +[rsi]
複製
已複製
複製
已複製
;; bbWeight=1 PerfScore 47.75
G_M22870_IG03: ; , extend
xor edx, edx
xor edx, edx
xor ecx, ecx
xor ecx, ecx
xor r8d, r8d
xor r8d, r8d
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rax rsi rdi r15]
; gcrRegs -[rax rsi rdi r15]
mov rax, 0xD1FFAB1E ; string handle
mov rax, 0xD1FFAB1E ; string handle
mov r15, gword ptr [rax]
mov r15, gword ptr [rax]
; gcrRegs +[r15]
; gcrRegs +[r15]
mov r12, r15
mov r12, r15
; gcrRegs +[r12]
; gcrRegs +[r12]
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
; gcrRegs +[rax]
; gcrRegs +[rax]
mov rdx, rax
mov rdx, rax
; gcrRegs +[rdx]
; gcrRegs +[rdx]
mov rsi, r12
mov rsi, r12
; gcrRegs +[rsi]
; gcrRegs +[rsi]
lea rdi, bword ptr [rbp-40H]
lea rdi, bword ptr [rbp-40H]
; byrRegs +[rdi]
; byrRegs +[rdi]
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
; gcrRegs -[rdx rsi r12]
; gcrRegs -[rdx rsi r12]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov r12, rax
mov r12, rax
; gcrRegs +[r12]
; gcrRegs +[r12]
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
mov r13, rax
mov r13, rax
; gcrRegs +[r13]
; gcrRegs +[r13]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 5
mov esi, 5
call CORINFO_HELP_NEWARR_1_OBJ
call CORINFO_HELP_NEWARR_1_OBJ
複製
已複製
複製
已複製
mov gword ptr [rbp-
5
8H], rax
mov gword ptr [rbp-
4
8H], rax
; GC ptr vars +{V20}
; GC ptr vars +{V20}
lea rdi, bword ptr [rax+16]
lea rdi, bword ptr [rax+16]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rbx
mov rsi, rbx
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
複製
已複製
複製
已複製
v
mov
sd
xmm0, qword ptr [rbp-48H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
mov rdx, gword ptr [rbp-
5
8H]
mov rdx, gword ptr [rbp-
4
8H]
; gcrRegs +[rdx]
; gcrRegs +[rdx]
lea rdi, bword ptr [rdx+24]
lea rdi, bword ptr [rdx+24]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rdx rsi]
; gcrRegs -[rax rdx rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 2
mov dword ptr [rax+8], 2
複製
已複製
複製
已複製
mov rdx, gword ptr [rbp-
5
8H]
mov rdx, gword ptr [rbp-
4
8H]
; gcrRegs +[rdx]
; gcrRegs +[rdx]
lea rdi, bword ptr [rdx+32]
lea rdi, bword ptr [rdx+32]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rdx rsi]
; gcrRegs -[rax rdx rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 3
mov dword ptr [rax+8], 3
複製
已複製
複製
已複製
mov rdx, gword ptr [rbp-
5
8H]
mov rdx, gword ptr [rbp-
4
8H]
; gcrRegs +[rdx]
; gcrRegs +[rdx]
lea rdi, bword ptr [rdx+40]
lea rdi, bword ptr [rdx+40]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rdx rsi]
; gcrRegs -[rax rdx rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
複製
已複製
複製
已複製
v
mov
sd
xmm0, qword ptr [rbp-50H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
mov rdx, gword ptr [rbp-
5
8H]
mov rdx, gword ptr [rbp-
4
8H]
; gcrRegs +[rdx]
; gcrRegs +[rdx]
複製
已複製
複製
已複製
;; bbWeight=1 PerfScore 34.75
G_M22870_IG04: ; , extend
lea rdi, bword ptr [rdx+48]
lea rdi, bword ptr [rdx+48]
; byrRegs +[rdi]
; byrRegs +[rdi]
複製
已複製
複製
已複製
;; bbWeight=1 PerfScore 32.25
G_M22870_IG04: ; , extend
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rdx rsi]
; gcrRegs -[rax rdx rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, 0xD1FFAB1E ; string handle
mov rax, gword ptr [rsi]
mov rax, gword ptr [rsi]
; gcrRegs +[rax]
; gcrRegs +[rax]
複製
已複製
複製
已複製
mov gword ptr [rbp-
6
0H], rax
mov gword ptr [rbp-
5
0H], rax
; GC ptr vars +{V46}
; GC ptr vars +{V46}
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov rdi, r13
mov rdi, r13
; gcrRegs +[rdi]
; gcrRegs +[rdi]
複製
已複製
複製
已複製
mov rdx, gword ptr [rbp-
5
8H]
mov rdx, gword ptr [rbp-
4
8H]
; gcrRegs +[rdx]
; gcrRegs +[rdx]
; GC ptr vars -{V20}
; GC ptr vars -{V20}
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
; gcrRegs -[rdx rsi rdi r13]
; gcrRegs -[rdx rsi rdi r13]
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rsi, r12
mov rsi, r12
; gcrRegs +[rsi]
; gcrRegs +[rsi]
xor edx, edx
xor edx, edx
xor ecx, ecx
xor ecx, ecx
xor r8d, r8d
xor r8d, r8d
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rax rsi rdi r12]
; gcrRegs -[rax rsi rdi r12]
mov rsi, r15
mov rsi, r15
; gcrRegs +[rsi]
; gcrRegs +[rsi]
lea rdi, bword ptr [rbp-40H]
lea rdi, bword ptr [rbp-40H]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rdx, r14
mov rdx, r14
; gcrRegs +[rdx]
; gcrRegs +[rdx]
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
; gcrRegs -[rdx rsi] +[rax]
; gcrRegs -[rdx rsi] +[rax]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov r12, rax
mov r12, rax
; gcrRegs +[r12]
; gcrRegs +[r12]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 5
mov esi, 5
call CORINFO_HELP_NEWARR_1_OBJ
call CORINFO_HELP_NEWARR_1_OBJ
mov r13, rax
mov r13, rax
; gcrRegs +[r13]
; gcrRegs +[r13]
mov rdi, r14
mov rdi, r14
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
call gword ptr [rax]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
call gword ptr [rax]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
; gcrRegs -[rdi] +[rax]
; gcrRegs -[rdi] +[rax]
mov rsi, gword ptr [rax+56]
mov rsi, gword ptr [rax+56]
; gcrRegs +[rsi]
; gcrRegs +[rsi]
lea rdi, bword ptr [r13+16]
lea rdi, bword ptr [r13+16]
; byrRegs +[rdi]
; byrRegs +[rdi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
複製
已複製
複製
已複製
v
mov
sd
xmm0, qword ptr [rbp-48H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
lea rdi, bword ptr [r13+24]
lea rdi, bword ptr [r13+24]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 2
mov dword ptr [rax+8], 2
lea rdi, bword ptr [r13+32]
lea rdi, bword ptr [r13+32]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
複製
已複製
複製
已複製
;; bbWeight=1 PerfScore 31.50
G_M22870_IG05: ; , extend
mov dword ptr [rax+8], 3
mov dword ptr [rax+8], 3
複製
已複製
複製
已複製
;; bbWeight=1 PerfScore 30.75
G_M22870_IG05: ; , extend
lea rdi, bword ptr [r13+40]
lea rdi, bword ptr [r13+40]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
複製
已複製
複製
已複製
v
mov
sd
xmm0, qword ptr [rbp-50H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
lea rdi, bword ptr [r13+48]
lea rdi, bword ptr [r13+48]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
複製
已複製
複製
已複製
mov rsi, gword ptr [rbp-
6
0H]
mov rsi, gword ptr [rbp-
5
0H]
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov rdi, r14
mov rdi, r14
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rdx, r13
mov rdx, r13
; gcrRegs +[rdx]
; gcrRegs +[rdx]
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
; gcrRegs -[rdx rsi rdi r13-r14] +[rax]
; gcrRegs -[rdx rsi rdi r13-r14] +[rax]
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rsi, r12
mov rsi, r12
; gcrRegs +[rsi]
; gcrRegs +[rsi]
xor edx, edx
xor edx, edx
xor ecx, ecx
xor ecx, ecx
xor r8d, r8d
xor r8d, r8d
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rax rsi rdi r12]
; gcrRegs -[rax rsi rdi r12]
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
; gcrRegs +[rax]
; gcrRegs +[rax]
mov rdx, rax
mov rdx, rax
; gcrRegs +[rdx]
; gcrRegs +[rdx]
mov rsi, r15
mov rsi, r15
; gcrRegs +[rsi]
; gcrRegs +[rsi]
lea rdi, bword ptr [rbp-40H]
lea rdi, bword ptr [rbp-40H]
; byrRegs +[rdi]
; byrRegs +[rdi]
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
; gcrRegs -[rdx rsi r15]
; gcrRegs -[rdx rsi r15]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov r14, rax
mov r14, rax
; gcrRegs +[r14]
; gcrRegs +[r14]
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
mov r15, rax
mov r15, rax
; gcrRegs +[r15]
; gcrRegs +[r15]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 5
mov esi, 5
call CORINFO_HELP_NEWARR_1_OBJ
call CORINFO_HELP_NEWARR_1_OBJ
mov r12, rax
mov r12, rax
; gcrRegs +[r12]
; gcrRegs +[r12]
lea rdi, bword ptr [r12+16]
lea rdi, bword ptr [r12+16]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rbx
mov rsi, rbx
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rbx rsi]
; gcrRegs -[rax rbx rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
複製
已複製
複製
已複製
v
mov
sd
xmm0, qword ptr [rbp-48H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
lea rdi, bword ptr [r12+24]
lea rdi, bword ptr [r12+24]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 2
mov dword ptr [rax+8], 2
複製
已複製
複製
已複製
;; bbWeight=1 PerfScore
28.75
;; bbWeight=1 PerfScore
25.25
G_M22870_IG06: ; , extend
G_M22870_IG06: ; , extend
lea rdi, bword ptr [r12+32]
lea rdi, bword ptr [r12+32]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 3
mov dword ptr [rax+8], 3
lea rdi, bword ptr [r12+40]
lea rdi, bword ptr [r12+40]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
複製
已複製
複製
已複製
v
mov
sd
xmm0, qword ptr [rbp-50H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
lea rdi, bword ptr [r12+48]
lea rdi, bword ptr [r12+48]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
複製
已複製
複製
已複製
mov rsi, gword ptr [rbp-
6
0H]
mov rsi, gword ptr [rbp-
5
0H]
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov rdi, r15
mov rdi, r15
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rdx, r12
mov rdx, r12
; gcrRegs +[rdx]
; gcrRegs +[rdx]
; GC ptr vars -{V46}
; GC ptr vars -{V46}
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
; gcrRegs -[rdx rsi rdi r12 r15] +[rax]
; gcrRegs -[rdx rsi rdi r12 r15] +[rax]
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rsi, r14
mov rsi, r14
; gcrRegs +[rsi]
; gcrRegs +[rsi]
xor edx, edx
xor edx, edx
xor ecx, ecx
xor ecx, ecx
xor r8d, r8d
xor r8d, r8d
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rax rsi rdi r14]
; gcrRegs -[rax rsi rdi r14]
nop
nop
複製
已複製
複製
已複製
;; bbWeight=1 PerfScore
16.25
;; bbWeight=1 PerfScore
15.00
G_M22870_IG07: ; , epilog, nogc, extend
G_M22870_IG07: ; , epilog, nogc, extend
複製
已複製
複製
已複製
add rsp,
56
add rsp,
40
pop rbx
pop rbx
pop r12
pop r12
pop r13
pop r13
pop r14
pop r14
pop r15
pop r15
pop rbp
pop rbp
ret
ret
;; bbWeight=1 PerfScore 4.25
;; bbWeight=1 PerfScore 4.25
RWD00 dd 40200000h ; 2.5
RWD00 dd 40200000h ; 2.5
dd 40000000h ; 2
dd 40000000h ; 2
dd 40400000h ; 3
dd 40400000h ; 3
dd 40533333h ; 3.3
dd 40533333h ; 3.3
複製
已複製
複製
已複製
RWD16 dq 4004000000000000h ; 2.5
RWD24 dq 400A666666666666h ; 3.3
複製
已複製
複製
已複製
; Total bytes of code
1153
, prolog size 22, PerfScore
291.30
, instruction count 24
8
, allocated bytes for code 117
3
(MethodHash=df59a6a9) for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this
; Total bytes of code
1169
, prolog size 22, PerfScore
280.10
, instruction count 24
6
, allocated bytes for code 117
1
(MethodHash=df59a6a9) for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this
; ============================================================
; ============================================================
Unwind Info:
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Version : 1
Flags : 0x00
Flags : 0x00
SizeOfProlog : 0x0E
SizeOfProlog : 0x0E
CountOfUnwindCodes: 7
CountOfUnwindCodes: 7
FrameRegister : none (0)
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
UnwindCodes :
複製
已複製
複製
已複製
CodeOffset: 0x0E UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo:
6
* 8 + 8 =
56
= 0x
3
8
CodeOffset: 0x0E UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo:
4
* 8 + 8 =
40
= 0x
2
8
CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r12 (12)
CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r12 (12)
CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r13 (13)
CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r13 (13)
CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14)
CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14)
CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15)
CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15)
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
已保存差異
原始文本
開啟檔案
; Assembly listing for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this ; Emitting BLENDED_CODE for X64 CPU with AVX - Unix ; optimized code ; rbp based frame ; partially interruptible ; No matching PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ; V01 loc0 [V01,T22] ( 4, 4 ) ref -> rbx class-hnd single-def ;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def ; V03 loc2 [V03 ] ( 5, 5 ) simd16 -> [rbp-40H] do-not-enreg[XSB] addr-exposed ld-addr-op single-def ; V04 loc3 [V04,T35] ( 2, 2 ) ref -> r15 class-hnd single-def ; V05 loc4 [V05,T36] ( 2, 2 ) ref -> rdi class-hnd single-def ; V06 loc5 [V06,T37] ( 2, 2 ) ref -> r12 class-hnd single-def ; V07 loc6 [V07,T38] ( 2, 2 ) ref -> rdi class-hnd single-def ; V08 loc7 [V08,T39] ( 2, 2 ) ref -> r12 class-hnd single-def ; V09 loc8 [V09,T40] ( 2, 2 ) ref -> rdi class-hnd single-def ; V10 loc9 [V10,T41] ( 2, 2 ) ref -> r14 class-hnd single-def ; V11 loc10 [V11,T42] ( 2, 2 ) ref -> rdi class-hnd single-def ;# V12 OutArgs [V12 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace" ; V13 tmp1 [V13,T04] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" ; V14 tmp2 [V14,T00] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill" ; V15 tmp3 [V15,T25] ( 2, 4 ) ref -> r12 class-hnd single-def "impAppendStmt" ; V16 tmp4 [V16,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V17 tmp5 [V17,T06] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V18 tmp6 [V18,T07] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V19 tmp7 [V19,T08] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V20 tmp8 [V20,T01] ( 7, 14 ) ref -> [rbp-58H] class-hnd exact spill-single-def "dup spill" ; V21 tmp9 [V21,T26] ( 2, 4 ) ref -> r13 class-hnd single-def "impAppendStmt" ; V22 tmp10 [V22,T09] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V23 tmp11 [V23,T10] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V24 tmp12 [V24,T11] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V25 tmp13 [V25,T12] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V26 tmp14 [V26,T02] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill" ; V27 tmp15 [V27,T27] ( 2, 4 ) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store" ; V28 tmp16 [V28,T13] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V29 tmp17 [V29,T14] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V30 tmp18 [V30,T15] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V31 tmp19 [V31,T16] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V32 tmp20 [V32,T03] ( 7, 14 ) ref -> r12 class-hnd exact single-def "dup spill" ; V33 tmp21 [V33,T28] ( 2, 4 ) ref -> r15 class-hnd single-def "impAppendStmt" ; V34 tmp22 [V34,T17] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V35 tmp23 [V35,T18] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V36 tmp24 [V36,T19] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V37 tmp25 [V37,T20] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V38 tmp26 [V38,T29] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg" ; V39 tmp27 [V39,T30] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg" ; V40 tmp28 [V40,T21] ( 3, 6 ) ref -> rax single-def "argument with side effect" ; V41 tmp29 [V41,T31] ( 2, 4 ) ref -> rdx single-def "argument with side effect" ; V42 tmp30 [V42,T32] ( 2, 4 ) ref -> r12 single-def "argument with side effect" ; V43 tmp31 [V43,T33] ( 2, 4 ) ref -> rdx single-def "argument with side effect" ; V44 tmp32 [V44,T34] ( 2, 4 ) ref -> r15 single-def "argument with side effect" ; V45 cse0 [V45,T23] ( 4, 4 ) ref -> r15 "CSE - moderate" ; V46 cse1 [V46,T24] ( 4, 4 ) ref -> [rbp-60H] spill-single-def "CSE - moderate" ; V47 cse2 [V47,T43] ( 5, 5 ) double -> [rbp-48H] spill-single-def "CSE - moderate" ; V48 cse3 [V48,T44] ( 5, 5 ) double -> [rbp-50H] spill-single-def "CSE - moderate" ; ; Lcl frame size = 56 G_M22870_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 56 vzeroupper lea rbp, [rsp+60H] ;; bbWeight=1 PerfScore 7.75 G_M22870_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rax, qword ptr [rax] ; gcrRegs -[rax] mov rax, qword ptr [rax+88] call gword ptr [rax+16]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this ; gcrRegs -[rdi] +[rax] mov rbx, gword ptr [rax+56] ; gcrRegs +[rbx] mov rdi, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov r14, rax ; gcrRegs +[r14] mov rsi, 0xD1FFAB1E ; string handle mov rsi, gword ptr [rsi] ; gcrRegs +[rsi] mov rdi, r14 ; gcrRegs +[rdi] mov edx, 1 call System.Globalization.CultureInfo:.ctor(System.String,bool):this ; gcrRegs -[rax rsi rdi] vmovupd xmm0, xmmword ptr [reloc @RWD00] vmovapd xmmword ptr [rbp-40H], xmm0 lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString():System.String:this ; gcrRegs +[rax] ; byrRegs -[rdi] mov r15, rax ; gcrRegs +[r15] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r12, rax ; gcrRegs +[r12] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r13, rax ; gcrRegs +[r13] lea rdi, bword ptr [r13+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [reloc @RWD16] vmovsd qword ptr [rbp-48H], xmm0 vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r13+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 lea rdi, bword ptr [r13+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 lea rdi, bword ptr [r13+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [reloc @RWD24] vmovsd qword ptr [rbp-50H], xmm0 vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r13+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, 0xD1FFAB1E ; string handle mov rsi, gword ptr [rsi] ; gcrRegs +[rsi] mov rdi, r12 ; gcrRegs +[rdi] mov rdx, r13 ; gcrRegs +[rdx] call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r12-r13] +[rax] ;; bbWeight=1 PerfScore 50.75 G_M22870_IG03: ; , extend mov rdi, rax ; gcrRegs +[rdi] mov rsi, r15 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r15] mov rax, 0xD1FFAB1E ; string handle mov r15, gword ptr [rax] ; gcrRegs +[r15] mov r12, r15 ; gcrRegs +[r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdx, rax ; gcrRegs +[rdx] mov rsi, r12 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi r12] ; byrRegs -[rdi] mov r12, rax ; gcrRegs +[r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r13, rax ; gcrRegs +[r13] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [rbp-58H], rax ; GC ptr vars +{V20} lea rdi, bword ptr [rax+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-48H] vmovsd qword ptr [rax+8], xmm0 mov rdx, gword ptr [rbp-58H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 mov rdx, gword ptr [rbp-58H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 mov rdx, gword ptr [rbp-58H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-50H] vmovsd qword ptr [rax+8], xmm0 mov rdx, gword ptr [rbp-58H] ; gcrRegs +[rdx] ;; bbWeight=1 PerfScore 34.75 G_M22870_IG04: ; , extend lea rdi, bword ptr [rdx+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rsi, 0xD1FFAB1E ; string handle mov rax, gword ptr [rsi] ; gcrRegs +[rax] mov gword ptr [rbp-60H], rax ; GC ptr vars +{V46} mov rsi, rax ; gcrRegs +[rsi] mov rdi, r13 ; gcrRegs +[rdi] mov rdx, gword ptr [rbp-58H] ; gcrRegs +[rdx] ; GC ptr vars -{V20} call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r13] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r12 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r12] mov rsi, r15 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] mov rdx, r14 ; gcrRegs +[rdx] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi] +[rax] ; byrRegs -[rdi] mov r12, rax ; gcrRegs +[r12] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r13, rax ; gcrRegs +[r13] mov rdi, r14 ; gcrRegs +[rdi] mov rax, 0xD1FFAB1E ; gcrRegs -[rax] call gword ptr [rax]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this ; gcrRegs -[rdi] +[rax] mov rsi, gword ptr [rax+56] ; gcrRegs +[rsi] lea rdi, bword ptr [r13+16] ; byrRegs +[rdi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-48H] vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r13+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 lea rdi, bword ptr [r13+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] ;; bbWeight=1 PerfScore 31.50 G_M22870_IG05: ; , extend mov dword ptr [rax+8], 3 lea rdi, bword ptr [r13+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-50H] vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r13+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, gword ptr [rbp-60H] ; gcrRegs +[rsi] mov rdi, r14 ; gcrRegs +[rdi] mov rdx, r13 ; gcrRegs +[rdx] call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r13-r14] +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r12 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdx, rax ; gcrRegs +[rdx] mov rsi, r15 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi r15] ; byrRegs -[rdi] mov r14, rax ; gcrRegs +[r14] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r15, rax ; gcrRegs +[r15] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r12, rax ; gcrRegs +[r12] lea rdi, bword ptr [r12+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rbx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-48H] vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r12+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 ;; bbWeight=1 PerfScore 28.75 G_M22870_IG06: ; , extend lea rdi, bword ptr [r12+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 lea rdi, bword ptr [r12+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-50H] vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r12+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, gword ptr [rbp-60H] ; gcrRegs +[rsi] mov rdi, r15 ; gcrRegs +[rdi] mov rdx, r12 ; gcrRegs +[rdx] ; GC ptr vars -{V46} call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r12 r15] +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r14 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r14] nop ;; bbWeight=1 PerfScore 16.25 G_M22870_IG07: ; , epilog, nogc, extend add rsp, 56 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; bbWeight=1 PerfScore 4.25 RWD00 dd 40200000h ; 2.5 dd 40000000h ; 2 dd 40400000h ; 3 dd 40533333h ; 3.3 RWD16 dq 4004000000000000h ; 2.5 RWD24 dq 400A666666666666h ; 3.3 ; Total bytes of code 1153, prolog size 22, PerfScore 291.30, instruction count 248, allocated bytes for code 1173 (MethodHash=df59a6a9) for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Version : 1 Flags : 0x00 SizeOfProlog : 0x0E CountOfUnwindCodes: 7 FrameRegister : none (0) FrameOffset : N/A (no FrameRegister) (Value=0) UnwindCodes : CodeOffset: 0x0E UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 6 * 8 + 8 = 56 = 0x38 CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3) CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r12 (12) CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r13 (13) CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14) CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15) CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
更改後文本
開啟檔案
; Assembly listing for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this ; Emitting BLENDED_CODE for X64 CPU with AVX - Unix ; optimized code ; rbp based frame ; partially interruptible ; No matching PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ; V01 loc0 [V01,T22] ( 4, 4 ) ref -> rbx class-hnd single-def ;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def ; V03 loc2 [V03 ] ( 5, 5 ) simd16 -> [rbp-40H] do-not-enreg[XSB] addr-exposed ld-addr-op single-def ; V04 loc3 [V04,T35] ( 2, 2 ) ref -> r15 class-hnd single-def ; V05 loc4 [V05,T36] ( 2, 2 ) ref -> rdi class-hnd single-def ; V06 loc5 [V06,T37] ( 2, 2 ) ref -> r12 class-hnd single-def ; V07 loc6 [V07,T38] ( 2, 2 ) ref -> rdi class-hnd single-def ; V08 loc7 [V08,T39] ( 2, 2 ) ref -> r12 class-hnd single-def ; V09 loc8 [V09,T40] ( 2, 2 ) ref -> rdi class-hnd single-def ; V10 loc9 [V10,T41] ( 2, 2 ) ref -> r14 class-hnd single-def ; V11 loc10 [V11,T42] ( 2, 2 ) ref -> rdi class-hnd single-def ;# V12 OutArgs [V12 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace" ; V13 tmp1 [V13,T04] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" ; V14 tmp2 [V14,T00] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill" ; V15 tmp3 [V15,T25] ( 2, 4 ) ref -> r12 class-hnd single-def "impAppendStmt" ; V16 tmp4 [V16,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V17 tmp5 [V17,T06] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V18 tmp6 [V18,T07] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V19 tmp7 [V19,T08] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V20 tmp8 [V20,T01] ( 7, 14 ) ref -> [rbp-48H] class-hnd exact spill-single-def "dup spill" ; V21 tmp9 [V21,T26] ( 2, 4 ) ref -> r13 class-hnd single-def "impAppendStmt" ; V22 tmp10 [V22,T09] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V23 tmp11 [V23,T10] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V24 tmp12 [V24,T11] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V25 tmp13 [V25,T12] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V26 tmp14 [V26,T02] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill" ; V27 tmp15 [V27,T27] ( 2, 4 ) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store" ; V28 tmp16 [V28,T13] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V29 tmp17 [V29,T14] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V30 tmp18 [V30,T15] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V31 tmp19 [V31,T16] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V32 tmp20 [V32,T03] ( 7, 14 ) ref -> r12 class-hnd exact single-def "dup spill" ; V33 tmp21 [V33,T28] ( 2, 4 ) ref -> r15 class-hnd single-def "impAppendStmt" ; V34 tmp22 [V34,T17] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V35 tmp23 [V35,T18] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V36 tmp24 [V36,T19] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V37 tmp25 [V37,T20] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V38 tmp26 [V38,T29] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg" ; V39 tmp27 [V39,T30] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg" ; V40 tmp28 [V40,T21] ( 3, 6 ) ref -> rax single-def "argument with side effect" ; V41 tmp29 [V41,T31] ( 2, 4 ) ref -> rdx single-def "argument with side effect" ; V42 tmp30 [V42,T32] ( 2, 4 ) ref -> r12 single-def "argument with side effect" ; V43 tmp31 [V43,T33] ( 2, 4 ) ref -> rdx single-def "argument with side effect" ; V44 tmp32 [V44,T34] ( 2, 4 ) ref -> r15 single-def "argument with side effect" ; V45 cse0 [V45,T23] ( 4, 4 ) ref -> r15 "CSE - moderate" ; V46 cse1 [V46,T24] ( 4, 4 ) ref -> [rbp-50H] spill-single-def "CSE - moderate" ; ; Lcl frame size = 40 G_M22870_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 40 vzeroupper lea rbp, [rsp+50H] ;; bbWeight=1 PerfScore 7.75 G_M22870_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rax, qword ptr [rax] ; gcrRegs -[rax] mov rax, qword ptr [rax+88] call gword ptr [rax+16]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this ; gcrRegs -[rdi] +[rax] mov rbx, gword ptr [rax+56] ; gcrRegs +[rbx] mov rdi, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov r14, rax ; gcrRegs +[r14] mov rsi, 0xD1FFAB1E ; string handle mov rsi, gword ptr [rsi] ; gcrRegs +[rsi] mov rdi, r14 ; gcrRegs +[rdi] mov edx, 1 call System.Globalization.CultureInfo:.ctor(System.String,bool):this ; gcrRegs -[rax rsi rdi] vmovupd xmm0, xmmword ptr [reloc @RWD00] vmovapd xmmword ptr [rbp-40H], xmm0 lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString():System.String:this ; gcrRegs +[rax] ; byrRegs -[rdi] mov r15, rax ; gcrRegs +[r15] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r12, rax ; gcrRegs +[r12] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r13, rax ; gcrRegs +[r13] lea rdi, bword ptr [r13+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r13+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 lea rdi, bword ptr [r13+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 lea rdi, bword ptr [r13+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r13+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, 0xD1FFAB1E ; string handle mov rsi, gword ptr [rsi] ; gcrRegs +[rsi] mov rdi, r12 ; gcrRegs +[rdi] mov rdx, r13 ; gcrRegs +[rdx] call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r12-r13] +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r15 ; gcrRegs +[rsi] ;; bbWeight=1 PerfScore 47.75 G_M22870_IG03: ; , extend xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r15] mov rax, 0xD1FFAB1E ; string handle mov r15, gword ptr [rax] ; gcrRegs +[r15] mov r12, r15 ; gcrRegs +[r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdx, rax ; gcrRegs +[rdx] mov rsi, r12 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi r12] ; byrRegs -[rdi] mov r12, rax ; gcrRegs +[r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r13, rax ; gcrRegs +[r13] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [rbp-48H], rax ; GC ptr vars +{V20} lea rdi, bword ptr [rax+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi mov rdx, gword ptr [rbp-48H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 mov rdx, gword ptr [rbp-48H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 mov rdx, gword ptr [rbp-48H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi mov rdx, gword ptr [rbp-48H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+48] ; byrRegs +[rdi] ;; bbWeight=1 PerfScore 32.25 G_M22870_IG04: ; , extend mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rsi, 0xD1FFAB1E ; string handle mov rax, gword ptr [rsi] ; gcrRegs +[rax] mov gword ptr [rbp-50H], rax ; GC ptr vars +{V46} mov rsi, rax ; gcrRegs +[rsi] mov rdi, r13 ; gcrRegs +[rdi] mov rdx, gword ptr [rbp-48H] ; gcrRegs +[rdx] ; GC ptr vars -{V20} call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r13] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r12 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r12] mov rsi, r15 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] mov rdx, r14 ; gcrRegs +[rdx] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi] +[rax] ; byrRegs -[rdi] mov r12, rax ; gcrRegs +[r12] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r13, rax ; gcrRegs +[r13] mov rdi, r14 ; gcrRegs +[rdi] mov rax, 0xD1FFAB1E ; gcrRegs -[rax] call gword ptr [rax]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this ; gcrRegs -[rdi] +[rax] mov rsi, gword ptr [rax+56] ; gcrRegs +[rsi] lea rdi, bword ptr [r13+16] ; byrRegs +[rdi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r13+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 lea rdi, bword ptr [r13+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 ;; bbWeight=1 PerfScore 30.75 G_M22870_IG05: ; , extend lea rdi, bword ptr [r13+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r13+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, gword ptr [rbp-50H] ; gcrRegs +[rsi] mov rdi, r14 ; gcrRegs +[rdi] mov rdx, r13 ; gcrRegs +[rdx] call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r13-r14] +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r12 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdx, rax ; gcrRegs +[rdx] mov rsi, r15 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi r15] ; byrRegs -[rdi] mov r14, rax ; gcrRegs +[r14] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r15, rax ; gcrRegs +[r15] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r12, rax ; gcrRegs +[r12] lea rdi, bword ptr [r12+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rbx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r12+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 ;; bbWeight=1 PerfScore 25.25 G_M22870_IG06: ; , extend lea rdi, bword ptr [r12+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 lea rdi, bword ptr [r12+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r12+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, gword ptr [rbp-50H] ; gcrRegs +[rsi] mov rdi, r15 ; gcrRegs +[rdi] mov rdx, r12 ; gcrRegs +[rdx] ; GC ptr vars -{V46} call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r12 r15] +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r14 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r14] nop ;; bbWeight=1 PerfScore 15.00 G_M22870_IG07: ; , epilog, nogc, extend add rsp, 40 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; bbWeight=1 PerfScore 4.25 RWD00 dd 40200000h ; 2.5 dd 40000000h ; 2 dd 40400000h ; 3 dd 40533333h ; 3.3 ; Total bytes of code 1169, prolog size 22, PerfScore 280.10, instruction count 246, allocated bytes for code 1171 (MethodHash=df59a6a9) for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Version : 1 Flags : 0x00 SizeOfProlog : 0x0E CountOfUnwindCodes: 7 FrameRegister : none (0) FrameOffset : N/A (no FrameRegister) (Value=0) UnwindCodes : CodeOffset: 0x0E UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 4 * 8 + 8 = 40 = 0x28 CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3) CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r12 (12) CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r13 (13) CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14) CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15) CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
尋找差異