Untitled Diff
72 lines
; Assembly listing for method Program:CastToClassA(System.Object):ClassA
; Assembly listing for method Program:CastToClassA(System.Object):ClassA
G_M33135_IG01:
G_M33135_IG01:
sub rsp, 40
sub rsp, 40
G_M33135_IG02:
G_M33135_IG02:
mov gword ptr [rsp+30H], rcx
mov rax, rcx
mov rax, rcx
test rax, rax
test rax, rax
je SHORT G_M33135_IG05
je SHORT G_M33135_IG05
G_M33135_IG03:
G_M33135_IG03:
mov rdx, 0xD1FFAB1E ; ClassA
mov rdx, 0xD1FFAB1E ; ClassB
cmp qword ptr [rax], rdx
cmp qword ptr [rax], rdx
je SHORT G_M33135_IG05
je SHORT G_M33135_IG05
G_M33135_IG04:
G_M33135_IG04:
mov rcx, rdx
mov rdx, rcx
mov rdx, gword ptr [rsp+30H]
mov rcx, 0xD1FFAB1E ; ClassA
call CORINFO_HELP_CHKCASTCLASS_SPECIAL
call CORINFO_HELP_CHKCASTCLASS_SPECIAL
G_M33135_IG05:
G_M33135_IG05:
nop
nop
G_M33135_IG06:
G_M33135_IG06:
add rsp, 40
add rsp, 40
ret
ret
; Total bytes of code 51, prolog size 4, PerfScore 10.69, instruction count 14, allocated bytes for code 51 (MethodHash=c1b17e90) for method Program:CastToClassA(System.Object):ClassA
; Total bytes of code 51, prolog size 4, PerfScore 10.85, instruction count 13, allocated bytes for code 51 (MethodHash=c1b17e90) for method Program:CastToClassA(System.Object):ClassA
; ============================================================
; ============================================================
; Assembly listing for method Program:IsClassA(System.Object):bool
; Assembly listing for method Program:IsClassA(System.Object):bool
G_M63146_IG01:
G_M63146_IG01:
sub rsp, 40
sub rsp, 40
G_M63146_IG02:
G_M63146_IG02:
mov rax, rcx
test rax, rax
je SHORT G_M63146_IG05
G_M63146_IG03:
mov rdx, 0xD1FFAB1E ; ClassB
cmp qword ptr [rax], rdx
je SHORT G_M63146_IG05
G_M63146_IG04:
mov rdx, rcx
mov rdx, rcx
mov rcx, 0xD1FFAB1E ; ClassA
mov rcx, 0xD1FFAB1E ; ClassA
call CORINFO_HELP_ISINSTANCEOFCLASS
call CORINFO_HELP_ISINSTANCEOFCLASS
G_M63146_IG05:
test rax, rax
test rax, rax
setne al
setne al
movzx rax, al
movzx rax, al
G_M63146_IG03:
G_M63146_IG06:
add rsp, 40
add rsp, 40
ret
ret
; Total bytes of code 36, prolog size 4, PerfScore 8.10, instruction count 9, allocated bytes for code 36 (MethodHash=33310955) for method Program:IsClassA(System.Object):bool
; Total bytes of code 59, prolog size 4, PerfScore 12.90, instruction count 15, allocated bytes for code 59 (MethodHash=33310955) for method Program:IsClassA(System.Object):bool
; ============================================================
; ============================================================
; Assembly listing for method Program:CastToIClass(System.Object):IClass
; Assembly listing for method Program:CastToIClass(System.Object):IClass
G_M64815_IG01:
G_M64815_IG01:
sub rsp, 40
sub rsp, 40
G_M64815_IG02:
G_M64815_IG02:
mov rax, rcx
test rax, rax
je SHORT G_M64815_IG05
G_M64815_IG03:
mov rdx, 0xD1FFAB1E ; ClassB
cmp qword ptr [rax], rdx
je SHORT G_M64815_IG05
G_M64815_IG04:
mov rdx, rcx
mov rdx, rcx
mov rcx, 0xD1FFAB1E ; IClass
mov rcx, 0xD1FFAB1E ; IClass
call CORINFO_HELP_CHKCASTINTERFACE
call CORINFO_HELP_CHKCASTCLASS_SPECIAL
G_M64815_IG05:
nop
nop
G_M64815_IG03:
G_M64815_IG06:
add rsp, 40
add rsp, 40
ret
ret
; Total bytes of code 28, prolog size 4, PerfScore 6.05, instruction count 7, allocated bytes for code 28 (MethodHash=fb5802d0) for method Program:CastToIClass(System.Object):IClass
; Total bytes of code 51, prolog size 4, PerfScore 10.85, instruction count 13, allocated bytes for code 51 (MethodHash=fb5802d0) for method Program:CastToIClass(System.Object):IClass
; ============================================================
; ============================================================
; Assembly listing for method Program:IsIClass(System.Object):bool
; Assembly listing for method Program:IsIClass(System.Object):bool
G_M30274_IG01:
G_M30274_IG01:
sub rsp, 40
sub rsp, 40
G_M30274_IG02:
G_M30274_IG02:
mov rax, rcx
test rax, rax
je SHORT G_M30274_IG05
G_M30274_IG03:
mov rdx, 0xD1FFAB1E ; ClassB
cmp qword ptr [rax], rdx
je SHORT G_M30274_IG05
G_M30274_IG04:
mov rdx, rcx
mov rdx, rcx
mov rcx, 0xD1FFAB1E ; IClass
mov rcx, 0xD1FFAB1E ; IClass
call CORINFO_HELP_ISINSTANCEOFINTERFACE
call CORINFO_HELP_ISINSTANCEOFINTERFACE
G_M30274_IG05:
test rax, rax
test rax, rax
setne al
setne al
movzx rax, al
movzx rax, al
G_M30274_IG03:
G_M30274_IG06:
add rsp, 40
add rsp, 40
ret
ret
; Total bytes of code 36, prolog size 4, PerfScore 8.10, instruction count 9, allocated bytes for code 36 (MethodHash=196389bd) for method Program:IsIClass(System.Object):bool
; Total bytes of code 59, prolog size 4, PerfScore 12.90, instruction count 15, allocated bytes for code 59 (MethodHash=196389bd) for method Program:IsIClass(System.Object):bool
; ============================================================
; ============================================================