Untitled Diff

Created Diff never expires
48 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
55 lines
51 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
57 lines
; Assembly listing for method Pa:IsAssignableTo():bool
; Assembly listing for method Pa:IsAssignableTo():bool
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; 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; 0 single block inlinees; 1 inlinees without PGO data
; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 TypeCtx [V00,T00] ( 4, 4 ) long -> rcx single-def
; V00 TypeCtx [V00,T00] ( 5, 4.50) long -> rsi single-def
; V01 OutArgs [V01 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V01 OutArgs [V01 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V02 tmp1 [V02,T04] ( 3, 2 ) bool -> rax "Inline return value spill temp"
; V02 tmp1 [V02,T02] ( 3, 2 ) bool -> rax "Inline return value spill temp"
; V03 tmp2 [V03,T01] ( 3, 5 ) ref -> rax class-hnd single-def "Inlining Arg"
; V03 tmp2 [V03,T03] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
; V04 tmp3 [V04,T03] ( 2, 3 ) ref -> rdi class-hnd single-def "Inlining Arg"
; V04 tmp3 [V04,T04] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
; V05 cse0 [V05,T02] ( 3, 3 ) long -> rsi "CSE - aggressive"
; V05 cse0 [V05,T01] ( 3, 2.50) ref -> rdi "CSE - aggressive"
;
;
; Lcl frame size = 40
; Lcl frame size = 40


G_M15054_IG01: ;; offset=0000H
G_M15054_IG01: ;; offset=0000H
57 push rdi
57 push rdi
56 push rsi
56 push rsi
4883EC28 sub rsp, 40
4883EC28 sub rsp, 40
48894C2420 mov qword ptr [rsp+20H], rcx
48894C2420 mov qword ptr [rsp+20H], rcx
;; size=11 bbWeight=1 PerfScore 3.25
488BF1 mov rsi, rcx
G_M15054_IG02: ;; offset=000BH
;; size=14 bbWeight=1 PerfScore 3.50
488B7138 mov rsi, qword ptr [rcx+56]
G_M15054_IG02: ;; offset=000EH
488B0E mov rcx, qword ptr [rsi]
488B4E38 mov rcx, qword ptr [rsi+56]
E839FE4F5F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
488B4908 mov rcx, qword ptr [rcx+8]
E8452B505F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
488BF8 mov rdi, rax
488BF8 mov rdi, rax
488B4E08 mov rcx, qword ptr [rsi+8]
4885FF test rdi, rdi
E82DFE4F5F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
4885C0 test rax, rax
7504 jne SHORT G_M15054_IG04
7504 jne SHORT G_M15054_IG04
;; size=29 bbWeight=1 PerfScore 9.50
;; size=21 bbWeight=1 PerfScore 6.50
G_M15054_IG03: ;; offset=0028H
G_M15054_IG03: ;; offset=0023H
33C0 xor eax, eax
33C0 xor eax, eax
EB0C jmp SHORT G_M15054_IG05
EB18 jmp SHORT G_M15054_IG05
;; size=4 bbWeight=0.50 PerfScore 1.12
;; size=4 bbWeight=0.50 PerfScore 1.12
G_M15054_IG04: ;; offset=002CH
G_M15054_IG04: ;; offset=0027H
488BC8 mov rcx, rax
488B4E38 mov rcx, qword ptr [rsi+56]
488BD7 mov rdx, rdi
488B09 mov rcx, qword ptr [rcx]
FF15588BE5FF call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this]
E82D2B505F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
;; size=12 bbWeight=0.50 PerfScore 1.75
488BD0 mov rdx, rax
G_M15054_IG05: ;; offset=0038H
488BCF mov rcx, rdi
FF15898BE5FF call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this]
;; size=24 bbWeight=0.50 PerfScore 4.25
G_M15054_IG05: ;; offset=003FH
90 nop
90 nop
;; size=1 bbWeight=1 PerfScore 0.25
;; size=1 bbWeight=1 PerfScore 0.25
G_M15054_IG06: ;; offset=0039H
G_M15054_IG06: ;; offset=0040H
4883C428 add rsp, 40
4883C428 add rsp, 40
5E pop rsi
5E pop rsi
5F pop rdi
5F pop rdi
C3 ret
C3 ret
;; size=7 bbWeight=1 PerfScore 2.25
;; size=7 bbWeight=1 PerfScore 2.25


; Total bytes of code 64, prolog size 11, PerfScore 24.53, instruction count 22, allocated bytes for code 64 (MethodHash=e866c531) for method Pa:IsAssignableTo():bool
; Total bytes of code 71, prolog size 11, PerfScore 24.98, instruction count 24, allocated bytes for code 71 (MethodHash=e866c531) for method Pa:IsAssignableTo():bool
; ============================================================
; ============================================================