Untitled Diff

建立於 差異永不過期
21 刪除
58
44 新增
79
; Assembly listing for method System.Xml.Serialization.SoapReflectionImporter:GetAttributes(System.Type):System.Xml.Serialization.SoapAttributes:this
; Assembly listing for method System.Xml.Serialization.SoapReflectionImporter:GetAttributes(System.Type):System.Xml.Serialization.SoapAttributes:this
; Emitting BLENDED_CODE for X64 CPU with SSE2 - Windows
; Emitting BLENDED_CODE for X64 CPU with SSE2 - Windows
; ReadyToRun compilation
; ReadyToRun compilation
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; partially interruptible
; partially interruptible
; No PGO data
; No PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 this [V00,T02] ( 3, 3 ) ref -> rcx this class-hnd single-def
; V00 this [V00,T01] ( 3, 3 ) ref -> rcx this class-hnd single-def
; V01 arg1 [V01,T01] ( 4, 3.50) ref -> rsi class-hnd single-def
; V01 arg1 [V01,T00] ( 4, 3.50) ref -> rsi class-hnd single-def
; V02 loc0 [V02,T04] ( 3, 2.50) ref -> rax class-hnd single-def
; V02 loc0 [V02,T04] ( 3, 2.50) ref -> rax class-hnd single-def
; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V04 tmp1 [V04,T03] ( 3, 3 ) ref -> rdi class-hnd exact single-def "NewObj constructor temp"
; V04 tmp1 [V04,T03] ( 3, 3 ) ref -> rdi class-hnd exact single-def "NewObj constructor temp"
; V05 tmp2 [V05,T00] ( 3, 6 ) ref -> rcx class-hnd single-def "Inlining Arg"
; V05 tmp2 [V05,T02] ( 2, 4 ) ref -> rcx class-hnd single-def "Inlining Arg"
; V06 tmp3 [V06,T06] ( 3, 2 ) ref -> rax class-hnd "Inline return value spill temp"
; V07 tmp4 [V07,T05] ( 3, 2.50) ref -> rax class-hnd "Inline stloc first use temp"
;
;
; Lcl frame size = 40
; Lcl frame size = 40


G_M2031_IG01:
G_M2031_IG01:
push rdi
push rdi
push rsi
push rsi
sub rsp, 40
sub rsp, 40
mov rsi, rdx
mov rsi, rdx
;; bbWeight=1 PerfScore 2.50
;; bbWeight=1 PerfScore 2.50
G_M2031_IG02:
G_M2031_IG02:
mov rcx, gword ptr [rcx+16]
mov rcx, gword ptr [rcx+16]
mov rcx, gword ptr [rcx+8]
mov rdx, rsi
lea r11, [(reloc)]
cmp dword ptr [rcx], ecx
cmp dword ptr [rcx], ecx
mov r8, qword ptr [(reloc)]
call [r11]System.Collections.Hashtable:get_Item(System.Object):System.Object:this
mov r8, gword ptr [r8]
mov rcx, rax
mov rdx, rsi
call [CORINFO_HELP_READYTORUN_CHKCAST]
call [System.Xml.Serialization.SoapAttributeOverrides:get_Item(System.Type,System.String):System.Xml.Serialization.SoapAttributes:this]
test rax, rax
test rax, rax
je SHORT G_M2031_IG04
jne SHORT G_M2031_IG04
;; bbWeight=1 PerfScore 13.50
;; bbWeight=1 PerfScore 15.25
G_M2031_IG03:
G_M2031_IG03:
xor rax, rax
jmp SHORT G_M2031_IG05
;; bbWeight=0.50 PerfScore 1.12
G_M2031_IG04:
mov rdx, qword ptr [(reloc)]
mov rdx, gword ptr [rdx]
mov rcx, rax
lea r11, [(reloc)]
call [r11]System.Collections.Hashtable:get_Item(System.Object):System.Object:this
mov rcx, rax
call [CORINFO_HELP_READYTORUN_CHKCAST]
;; bbWeight=0.50 PerfScore 5.50
G_M2031_IG05:
test rax, rax
je SHORT G_M2031_IG07
;; bbWeight=1 PerfScore 1.25
G_M2031_IG06:
add rsp, 40
add rsp, 40
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
;; bbWeight=0.50 PerfScore 1.12
;; bbWeight=0.50 PerfScore 1.12
G_M2031_IG04:
G_M2031_IG07:
call [CORINFO_HELP_READYTORUN_NEW]
call [CORINFO_HELP_READYTORUN_NEW]
mov rdi, rax
mov rdi, rax
mov rcx, rdi
mov rcx, rdi
mov rdx, rsi
mov rdx, rsi
call [System.Xml.Serialization.SoapAttributes:.ctor(System.Reflection.ICustomAttributeProvider):this]
call [System.Xml.Serialization.SoapAttributes:.ctor(System.Reflection.ICustomAttributeProvider):this]
mov rax, rdi
mov rax, rdi
;; bbWeight=0.50 PerfScore 3.50
;; bbWeight=0.50 PerfScore 3.50
G_M2031_IG05:
G_M2031_IG08:
add rsp, 40
add rsp, 40
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
;; bbWeight=0.50 PerfScore 1.12
;; bbWeight=0.50 PerfScore 1.12


; Total bytes of code 77, prolog size 6, PerfScore 29.45, instruction count 26, allocated bytes for code 77 (MethodHash=1b4df810) for method System.Xml.Serialization.SoapReflectionImporter:GetAttributes(System.Type):System.Xml.Serialization.SoapAttributes:this
; Total bytes of code 125, prolog size 6, PerfScore 43.88, instruction count 39, allocated bytes for code 125 (MethodHash=1b4df810) for method System.Xml.Serialization.SoapReflectionImporter:GetAttributes(System.Type):System.Xml.Serialization.SoapAttributes:this
; ============================================================
; ============================================================