Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide whitespace changes
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Text styles
Change appearance
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Untitled Diff
Created
5 years ago
Diff never expires
Clear
Export
Share
Explain
85 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
529 lines
Copy
53 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
523 lines
Copy
; 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"
Copy
Copied
Copy
Copied
; 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"
Copy
Copied
Copy
Copied
; 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"
;
;
Copy
Copied
Copy
Copied
; 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
Copy
Copied
Copy
Copied
sub rsp,
56
sub rsp,
40
vzeroupper
vzeroupper
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
;; 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]
Copy
Copied
Copy
Copied
;; 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
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
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
Copy
Copied
Copy
Copied
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
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
;; 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]
Copy
Copied
Copy
Copied
;; 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]
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
;; bbWeight=1 PerfScore 31.50
G_M22870_IG05: ; , extend
mov dword ptr [rax+8], 3
mov dword ptr [rax+8], 3
Copy
Copied
Copy
Copied
;; 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]
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
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
Copy
Copied
Copy
Copied
;; 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]
Copy
Copied
Copy
Copied
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]
Copy
Copied
Copy
Copied
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
Copy
Copied
Copy
Copied
;; bbWeight=1 PerfScore
16.25
;; bbWeight=1 PerfScore
15.00
G_M22870_IG07: ; , epilog, nogc, extend
G_M22870_IG07: ; , epilog, nogc, extend
Copy
Copied
Copy
Copied
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
Copy
Copied
Copy
Copied
RWD16 dq 4004000000000000h ; 2.5
RWD24 dq 400A666666666666h ; 3.3
Copy
Copied
Copy
Copied
; 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 :
Copy
Copied
Copy
Copied
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)
Saved diffs
Original text
Open file
; 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)
Changed text
Open file
; 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)
Find difference