Diff
checker
Text
Text
Bilder
Dokumente
Excel
Ordner
Legal
Enterprise
Desktop-App
Preise
Einloggen
Diffchecker Desktop herunterladen
Texte vergleichen
Finde den Unterschied zwischen zwei Textdateien
Werkzeuge
Verlauf
Live-Editor
Gleiches ausblenden
Zeilenumbruch aus
Ansicht
Zweispaltig
Einspaltig
Vergleichsgenauigkeit
Intelligent
Wort
Zeichen
Syntaxhervorhebung
Syntax auswählen
Ignorieren
Text umwandeln
Zur ersten Änderung
Eingabe bearbeiten
Diffchecker Desktop
Der sicherste Weg, Diffchecker zu nutzen. Hol dir die Desktop-App: Deine Diffs verlassen nie deinen Computer!
Desktop holen
delegate diff
Erstellt
vor 3 Tagen
Diff läuft nie ab
Löschen
Exportieren
Teilen
Erklären
136 Entfernungen
Zeilen
Gesamt
Entfernt
Zeichen
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
200 Zeilen
Kopieren
152 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Zeichen
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
215 Zeilen
Kopieren
; Assembly listing for method MyBenchmarks:EqualsTrue():bool:this (Tier1)
; Assembly listing for method MyBenchmarks:EqualsTrue():bool:this (Tier1)
; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
; Tier1 code
; Tier1 code
; optimized code
; optimized code
; optimized using Synthesized PGO
; optimized using Synthesized PGO
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; with Synthesized PGO: fgCalledCount is 100
; with Synthesized PGO: fgCalledCount is 100
; No PGO data
; No PGO data
Kopieren
Kopiert
Kopieren
Kopiert
;
6
inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
;
8
inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
G_M000_IG01: ;; offset=0x0000
G_M000_IG01: ;; offset=0x0000
push rbp
push rbp
push r15
push r15
Kopieren
Kopiert
Kopieren
Kopiert
push r14
push rbx
push rbx
Kopieren
Kopiert
Kopieren
Kopiert
lea rbp, [rsp+0x
1
0]
push rax
G_M000_IG02: ;; offset=0x000
9
lea rbp, [rsp+0x
2
0]
G_M000_IG02: ;; offset=0x000
C
mov rbx, gword ptr [rdi+0x10]
mov rbx, gword ptr [rdi+0x10]
mov r15, gword ptr [rdi+0x18]
mov r15, gword ptr [rdi+0x18]
test r15, r15
test r15, r15
Kopieren
Kopiert
Kopieren
Kopiert
je
SHORT
G_M000_IG0
6
je
G_M000_IG0
7
cmp r15, rbx
cmp r15, rbx
Kopieren
Kopiert
Kopieren
Kopiert
je G_M000_IG2
6
je G_M000_IG2
8
test rbx, rbx
test rbx, rbx
Kopieren
Kopiert
Kopieren
Kopiert
je
SHORT
G_M000_IG0
7
je
G_M000_IG0
8
cmp qword ptr [r15+0x30], 0
cmp qword ptr [r15+0x30], 0
Kopieren
Kopiert
Kopieren
Kopiert
jne
SHORT
G_M000_IG0
8
jne
G_M000_IG0
9
cmp
gword ptr [r15+0x28]
, 0
mov
r14,
gword ptr [r15+0x28]
jne G_M000_IG1
6
test r14, r14
G_M000_IG03: ;; offset=0x00
36
jne G_M000_IG1
7
G_M000_IG03: ;; offset=0x00
47
mov rsi, gword ptr [rbx+0x28]
mov rsi, gword ptr [rbx+0x28]
Kopieren
Kopiert
Kopieren
Kopiert
mov rdi,
0x75404237AF08
mov rdi,
0x74F73358AF48
mov rax,
0x754042346880
mov rax,
0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
Kopieren
Kopiert
Kopieren
Kopiert
jne G_M000_IG1
0
jne G_M000_IG1
1
mov r
s
i, gword ptr [r15+0x08]
mov r
d
i, gword ptr [r15+0x08]
cmp r
s
i, gword ptr [rbx+0x08]
cmp r
d
i, gword ptr [rbx+0x08]
jne G_M000_IG2
0
jne G_M000_IG2
1
mov r
s
i, qword ptr [r15+0x18]
mov r
d
i, qword ptr [r15+0x18]
cmp r
s
i, qword ptr [rbx+0x18]
cmp r
d
i, qword ptr [rbx+0x18]
jne G_M000_IG2
0
jne G_M000_IG2
1
mov r
s
i, qword ptr [r15+0x20]
mov r
d
i, qword ptr [r15+0x20]
cmp r
s
i, qword ptr [rbx+0x20]
cmp r
d
i, qword ptr [rbx+0x20]
jne G_M000_IG2
0
jne G_M000_IG2
1
G_M000_IG04: ;; offset=0x00
83
G_M000_IG04: ;; offset=0x00
94
mov
eax
, 1
mov
r14d
, 1
G_M000_IG05: ;; offset=
0x0088
G_M000_IG05: ;; offset=
0x009A
mov eax, r14d
G_M000_IG06: ;; offset=0x009D
add rsp, 8
pop rbx
pop rbx
Kopieren
Kopiert
Kopieren
Kopiert
pop r14
pop r15
pop r15
pop rbp
pop rbp
ret
ret
Kopieren
Kopiert
Kopieren
Kopiert
G_M000_IG0
6
: ;; offset=0x00
8D
G_M000_IG0
7
: ;; offset=0x00
A8
test rbx, rbx
test rbx, rbx
sete al
sete al
movzx rax, al
movzx rax, al
Kopieren
Kopiert
Kopieren
Kopiert
jmp SHORT G_M000_IG0
5
jmp SHORT G_M000_IG0
6
G_M000_IG0
7
: ;; offset=0x00
98
G_M000_IG0
8
: ;; offset=0x00
B3
xor
eax, eax
xor
r14d, r14d
jmp SHORT G_M000_IG05
jmp SHORT G_M000_IG05
Kopieren
Kopiert
Kopieren
Kopiert
G_M000_IG0
8
: ;; offset=0x00
9C
G_M000_IG0
9
: ;; offset=0x00
B8
mov rdi, r15
mov rdi, r15
Kopieren
Kopiert
Kopieren
Kopiert
mov rax,
0x75404277F420
mov rax,
0x74F73398F420
call [rax]System.MulticastDelegate:InvocationListLogicallyNull():bool:this
call [rax]System.MulticastDelegate:InvocationListLogicallyNull():bool:this
test eax, eax
test eax, eax
Kopieren
Kopiert
Kopieren
Kopiert
je SHORT G_M000_IG1
2
je SHORT G_M000_IG1
3
cmp qword ptr [r15+0x30], -1
cmp qword ptr [r15+0x30], -1
Kopieren
Kopiert
Kopieren
Kopiert
jne SHORT G_M000_IG
09
jne SHORT G_M000_IG
10
cmp qword ptr [rbx+0x30], -1
cmp qword ptr [rbx+0x30], -1
Kopieren
Kopiert
Kopieren
Kopiert
jne SHORT G_M000_IG0
7
jne SHORT G_M000_IG0
8
mov rsi, qword ptr [r15+0x18]
mov rsi, qword ptr [r15+0x18]
cmp rsi, qword ptr [rbx+0x18]
cmp rsi, qword ptr [rbx+0x18]
Kopieren
Kopiert
Kopieren
Kopiert
jne SHORT G_M000_IG0
7
jne SHORT G_M000_IG0
8
mov rsi, qword ptr [r15+0x20]
mov rsi, qword ptr [r15+0x20]
cmp rsi, qword ptr [rbx+0x20]
cmp rsi, qword ptr [rbx+0x20]
Kopieren
Kopiert
Kopieren
Kopiert
sete
al
sete
r14b
movzx
rax, al
movzx
r14, r14b
jmp SHORT G_M000_IG05
jmp SHORT G_M000_IG05
Kopieren
Kopiert
Kopieren
Kopiert
G_M000_IG
09
: ;; offset=0x00
D7
G_M000_IG
10
: ;; offset=0x00
F5
mov rsi, gword ptr [rbx+0x28]
mov rsi, gword ptr [rbx+0x28]
Kopieren
Kopiert
Kopieren
Kopiert
mov rdi,
0x75404237AF08
mov rdi,
0x74F73358AF48
mov rax,
0x754042346880
mov rax,
0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
Kopieren
Kopiert
Kopieren
Kopiert
je G_M000_IG1
7
je G_M000_IG1
8
G_M000_IG1
0
: ;; offset=
0x00FA
G_M000_IG1
1
: ;; offset=
0x0118
mov rsi, gword ptr [rbx+0x28]
mov rsi, gword ptr [rbx+0x28]
mov rdi, r15
mov rdi, r15
Kopieren
Kopiert
Kopieren
Kopiert
mov rax,
0x75404237B4C0
mov rax,
0x74F73358B508
G_M000_IG1
1
: ;; offset=0x01
0B
G_M000_IG1
2
: ;; offset=0x01
29
add rsp, 8
pop rbx
pop rbx
Kopieren
Kopiert
Kopieren
Kopiert
pop r14
pop r15
pop r15
pop rbp
pop rbp
tail.jmp [rax]System.MulticastDelegate:Equals(System.Object):bool:this
tail.jmp [rax]System.MulticastDelegate:Equals(System.Object):bool:this
Kopieren
Kopiert
Kopieren
Kopiert
G_M000_IG1
2
: ;; offset=0x01
12
G_M000_IG1
3
: ;; offset=0x01
36
mov rsi, gword ptr [r15+0x28]
mov rsi, gword ptr [r15+0x28]
Kopieren
Kopiert
Kopieren
Kopiert
mov rdi,
0x75404237AF08
mov rdi,
0x74F73358AF48
mov rax,
0x754042346880
mov rax,
0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
Kopieren
Kopiert
Kopieren
Kopiert
je SHORT G_M000_IG1
4
je SHORT G_M000_IG1
5
mov rdi, rax
mov rdi, rax
mov rsi, rbx
mov rsi, rbx
mov rax, qword ptr [rax]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
mov rax, qword ptr [rax+0x40]
Kopieren
Kopiert
Kopieren
Kopiert
G_M000_IG1
3
: ;; offset=0x01
3E
G_M000_IG1
4
: ;; offset=0x01
62
add rsp, 8
pop rbx
pop rbx
Kopieren
Kopiert
Kopieren
Kopiert
pop r14
pop r15
pop r15
pop rbp
pop rbp
tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this
tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this
Kopieren
Kopiert
Kopieren
Kopiert
G_M000_IG1
4
: ;; offset=0x01
46
G_M000_IG1
5
: ;; offset=0x01
70
mov rdi, r15
mov rdi, r15
mov rsi, rbx
mov rsi, rbx
Kopieren
Kopiert
Kopieren
Kopiert
mov rax,
0x754042805890
mov rax,
0x74F733A15890
G_M000_IG1
5
: ;; offset=0x01
56
G_M000_IG1
6
: ;; offset=0x01
80
add rsp, 8
pop rbx
pop rbx
Kopieren
Kopiert
Kopieren
Kopiert
pop r14
pop r15
pop r15
pop rbp
pop rbp
tail.jmp [rax]System.MulticastDelegate:InvocationListEquals(System.MulticastDelegate):bool:this
tail.jmp [rax]System.MulticastDelegate:InvocationListEquals(System.MulticastDelegate):bool:this
Kopieren
Kopiert
Kopieren
Kopiert
G_M000_IG1
6
: ;; offset=0x01
5
D
G_M000_IG1
7
: ;; offset=0x01
8
D
mov rsi,
gword ptr [r15+0x28]
mov rsi,
r14
mov rdi,
0x7540427ED4F8
mov rdi,
0x74F7339FD4F8
mov rax,
0x754042346880
mov rax,
0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
jne G_M000_IG03
jne G_M000_IG03
Kopieren
Kopiert
Kopieren
Kopiert
mov rsi,
gword ptr [r15+0x28]
mov rsi,
r14
mov rdi,
0x7540427A8BC0
mov rdi,
0x74F7339B8BC0
mov rax,
0x754042346880
mov rax,
0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
jne G_M000_IG03
mov rsi, r14
mov rdi, 0x74F73399DB58
mov rax, 0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
jne G_M000_IG03
jne G_M000_IG03
mov rdi, gword ptr [r15+0x28]
mov rdi, gword ptr [r15+0x28]
mov rsi, gword ptr [rbx+0x28]
mov rsi, gword ptr [rbx+0x28]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
mov rax, qword ptr [rax+0x40]
call [rax+0x10]System.Object:Equals(System.Object):bool:this
call [rax+0x10]System.Object:Equals(System.Object):bool:this
test eax, eax
test eax, eax
Kopieren
Kopiert
Kopieren
Kopiert
je G_M000_IG0
7
je G_M000_IG0
8
G_M000_IG1
7
: ;; offset=0x0
1B
D
G_M000_IG1
8
: ;; offset=0x0
20
D
mov rdi, r15
mov rdi, r15
mov rsi, rbx
mov rsi, rbx
Kopieren
Kopiert
Kopieren
Kopiert
mov rax,
0x75404237AF80
mov rax,
0x74F73358AFC0
G_M000_IG1
8
: ;; offset=0x0
1CD
G_M000_IG1
9
: ;; offset=0x0
21D
add rsp, 8
pop rbx
pop rbx
Kopieren
Kopiert
Kopieren
Kopiert
pop r14
pop r15
pop r15
pop rbp
pop rbp
tail.jmp [rax]System.Delegate:Equals(System.Object):bool:this
tail.jmp [rax]System.Delegate:Equals(System.Object):bool:this
Kopieren
Kopiert
Kopieren
Kopiert
G_M000_
IG19
: ;; offset=
0x01D4
G_M000_
IG20
: ;; offset=
0x022A
xor
eax, eax
xor
r14d, r14d
jmp G_M000_IG05
jmp G_M000_IG05
Kopieren
Kopiert
Kopieren
Kopiert
G_M000_IG2
0
: ;; offset=
0x01DB
G_M000_IG2
1
: ;; offset=
0x0232
cmp qword ptr [r15+0x20], 0
cmp qword ptr [r15+0x20], 0
Kopieren
Kopiert
Kopieren
Kopiert
jne SHORT G_M000_IG2
1
jne SHORT G_M000_IG2
2
cmp qword ptr [rbx+0x20], 0
cmp qword ptr [rbx+0x20], 0
Kopieren
Kopiert
Kopieren
Kopiert
jne SHORT G_M000_
IG19
jne SHORT G_M000_
IG20
mov r
s
i, gword ptr [r15+0x08]
mov r
d
i, gword ptr [r15+0x08]
cmp r
s
i, gword ptr [rbx+0x08]
cmp r
d
i, gword ptr [rbx+0x08]
je SHORT G_M000_IG2
2
je SHORT G_M000_IG2
3
jmp SHORT G_M000_
IG19
jmp SHORT G_M000_
IG20
G_M000_IG2
1
: ;; offset=
0x01F5
G_M000_IG2
2
: ;; offset=
0x024C
cmp qword ptr [rbx+0x20], 0
cmp qword ptr [rbx+0x20], 0
Kopieren
Kopiert
Kopieren
Kopiert
je SHORT G_M000_
IG19
je SHORT G_M000_
IG20
mov r
s
i, qword ptr [r15+0x20]
mov r
d
i, qword ptr [r15+0x20]
cmp r
s
i, qword ptr [rbx+0x20]
cmp r
d
i, qword ptr [rbx+0x20]
je G_M000_IG04
je G_M000_IG04
Kopieren
Kopiert
Kopieren
Kopiert
G_M000_IG22: ;; offset=0x020A
G_M000_IG23: ;; offset=0x02
61
mov rsi, gword ptr [r15+0x10]
cmp
qword ptr [
r15
+0x10], 0
mov rdi, 0x7540424E23A0
jne
SHORT
G_M000_IG24
mov rax, 0x754042346880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je SHORT G_M000_IG24
mov rsi, gword ptr [rbx+0x10]
mov rdi, 0x7540424E23A0
mov rax, 0x754042346880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je SHORT G_M000_IG24
mov rdi, gword ptr [r15+0x10]
mov rsi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
G_M000_IG23: ;; offset=0x02
57
pop
rbx
pop
r15
pop rbp
tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this
G_M000_IG24
: ;; offset=0x025F
mov rdi, r15
mov rdi, r15
Kopieren
Kopiert
Kopieren
Kopiert
mov
rsi, rbx
mov
rax, 0x74F733A158A8
mov
rax, 0x7540428058D8
call [rax]System.Delegate:GetMethodDesc():nint:this
G_M000_IG25: ;; offset=0x02
6F
mov
r14, rax
pop
rbx
jmp SHORT G_M000_IG25
pop
r15
G_M000_IG24: ;; offset=0x027C
pop
rbp
mov r14, qword ptr [r15+0x10]
tail.jmp
[rax]System.Delegate:
InternalEqualMethodHandles(System.Delegate,System.Delegate):bool
G_M000_IG25: ;; offset=0x02
80
G_M000_IG26: ;; offset=0x02
76
cmp
qword ptr [
rbx
+0x10], 0
mov eax, 1
jne SHORT G_M000_IG26
mov
rdi, rbx
mov
rax, 0x74F733A158A8
call
[rax]System.Delegate:
GetMethodDesc():nint:this
mov r15, rax
jmp SHORT G_M000_IG27
G_M000_IG26: ;; offset=0x02
9B
mov r15, qword ptr [rbx+0x10]
G_M000_IG27: ;; offset=0x029F
cmp r14, r15
sete r14b
movzx r14, r14b
jmp G_M000_IG05
jmp G_M000_IG05
Kopieren
Kopiert
Kopieren
Kopiert
; Total bytes of code
640
G_M000_IG28: ;; offset=0x02AF
mov eax, 1
jmp G_M000_IG06
; Total bytes of code
697
Gespeicherte Diffs
Originaltext
Datei öffnen
; Assembly listing for method MyBenchmarks:EqualsTrue():bool:this (Tier1) ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix ; Tier1 code ; optimized code ; optimized using Synthesized PGO ; rbp based frame ; fully interruptible ; with Synthesized PGO: fgCalledCount is 100 ; No PGO data ; 6 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: ;; offset=0x0000 push rbp push r15 push rbx lea rbp, [rsp+0x10] G_M000_IG02: ;; offset=0x0009 mov rbx, gword ptr [rdi+0x10] mov r15, gword ptr [rdi+0x18] test r15, r15 je SHORT G_M000_IG06 cmp r15, rbx je G_M000_IG26 test rbx, rbx je SHORT G_M000_IG07 cmp qword ptr [r15+0x30], 0 jne SHORT G_M000_IG08 cmp gword ptr [r15+0x28], 0 jne G_M000_IG16 G_M000_IG03: ;; offset=0x0036 mov rsi, gword ptr [rbx+0x28] mov rdi, 0x75404237AF08 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG10 mov rsi, gword ptr [r15+0x08] cmp rsi, gword ptr [rbx+0x08] jne G_M000_IG20 mov rsi, qword ptr [r15+0x18] cmp rsi, qword ptr [rbx+0x18] jne G_M000_IG20 mov rsi, qword ptr [r15+0x20] cmp rsi, qword ptr [rbx+0x20] jne G_M000_IG20 G_M000_IG04: ;; offset=0x0083 mov eax, 1 G_M000_IG05: ;; offset=0x0088 pop rbx pop r15 pop rbp ret G_M000_IG06: ;; offset=0x008D test rbx, rbx sete al movzx rax, al jmp SHORT G_M000_IG05 G_M000_IG07: ;; offset=0x0098 xor eax, eax jmp SHORT G_M000_IG05 G_M000_IG08: ;; offset=0x009C mov rdi, r15 mov rax, 0x75404277F420 call [rax]System.MulticastDelegate:InvocationListLogicallyNull():bool:this test eax, eax je SHORT G_M000_IG12 cmp qword ptr [r15+0x30], -1 jne SHORT G_M000_IG09 cmp qword ptr [rbx+0x30], -1 jne SHORT G_M000_IG07 mov rsi, qword ptr [r15+0x18] cmp rsi, qword ptr [rbx+0x18] jne SHORT G_M000_IG07 mov rsi, qword ptr [r15+0x20] cmp rsi, qword ptr [rbx+0x20] sete al movzx rax, al jmp SHORT G_M000_IG05 G_M000_IG09: ;; offset=0x00D7 mov rsi, gword ptr [rbx+0x28] mov rdi, 0x75404237AF08 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je G_M000_IG17 G_M000_IG10: ;; offset=0x00FA mov rsi, gword ptr [rbx+0x28] mov rdi, r15 mov rax, 0x75404237B4C0 G_M000_IG11: ;; offset=0x010B pop rbx pop r15 pop rbp tail.jmp [rax]System.MulticastDelegate:Equals(System.Object):bool:this G_M000_IG12: ;; offset=0x0112 mov rsi, gword ptr [r15+0x28] mov rdi, 0x75404237AF08 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M000_IG14 mov rdi, rax mov rsi, rbx mov rax, qword ptr [rax] mov rax, qword ptr [rax+0x40] G_M000_IG13: ;; offset=0x013E pop rbx pop r15 pop rbp tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this G_M000_IG14: ;; offset=0x0146 mov rdi, r15 mov rsi, rbx mov rax, 0x754042805890 G_M000_IG15: ;; offset=0x0156 pop rbx pop r15 pop rbp tail.jmp [rax]System.MulticastDelegate:InvocationListEquals(System.MulticastDelegate):bool:this G_M000_IG16: ;; offset=0x015D mov rsi, gword ptr [r15+0x28] mov rdi, 0x7540427ED4F8 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG03 mov rsi, gword ptr [r15+0x28] mov rdi, 0x7540427A8BC0 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG03 mov rdi, gword ptr [r15+0x28] mov rsi, gword ptr [rbx+0x28] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x40] call [rax+0x10]System.Object:Equals(System.Object):bool:this test eax, eax je G_M000_IG07 G_M000_IG17: ;; offset=0x01BD mov rdi, r15 mov rsi, rbx mov rax, 0x75404237AF80 G_M000_IG18: ;; offset=0x01CD pop rbx pop r15 pop rbp tail.jmp [rax]System.Delegate:Equals(System.Object):bool:this G_M000_IG19: ;; offset=0x01D4 xor eax, eax jmp G_M000_IG05 G_M000_IG20: ;; offset=0x01DB cmp qword ptr [r15+0x20], 0 jne SHORT G_M000_IG21 cmp qword ptr [rbx+0x20], 0 jne SHORT G_M000_IG19 mov rsi, gword ptr [r15+0x08] cmp rsi, gword ptr [rbx+0x08] je SHORT G_M000_IG22 jmp SHORT G_M000_IG19 G_M000_IG21: ;; offset=0x01F5 cmp qword ptr [rbx+0x20], 0 je SHORT G_M000_IG19 mov rsi, qword ptr [r15+0x20] cmp rsi, qword ptr [rbx+0x20] je G_M000_IG04 G_M000_IG22: ;; offset=0x020A mov rsi, gword ptr [r15+0x10] mov rdi, 0x7540424E23A0 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M000_IG24 mov rsi, gword ptr [rbx+0x10] mov rdi, 0x7540424E23A0 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M000_IG24 mov rdi, gword ptr [r15+0x10] mov rsi, gword ptr [rbx+0x10] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x40] G_M000_IG23: ;; offset=0x0257 pop rbx pop r15 pop rbp tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this G_M000_IG24: ;; offset=0x025F mov rdi, r15 mov rsi, rbx mov rax, 0x7540428058D8 G_M000_IG25: ;; offset=0x026F pop rbx pop r15 pop rbp tail.jmp [rax]System.Delegate:InternalEqualMethodHandles(System.Delegate,System.Delegate):bool G_M000_IG26: ;; offset=0x0276 mov eax, 1 jmp G_M000_IG05 ; Total bytes of code 640
Bearbeitung
Datei öffnen
; Assembly listing for method MyBenchmarks:EqualsTrue():bool:this (Tier1) ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix ; Tier1 code ; optimized code ; optimized using Synthesized PGO ; rbp based frame ; fully interruptible ; with Synthesized PGO: fgCalledCount is 100 ; No PGO data ; 8 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: ;; offset=0x0000 push rbp push r15 push r14 push rbx push rax lea rbp, [rsp+0x20] G_M000_IG02: ;; offset=0x000C mov rbx, gword ptr [rdi+0x10] mov r15, gword ptr [rdi+0x18] test r15, r15 je G_M000_IG07 cmp r15, rbx je G_M000_IG28 test rbx, rbx je G_M000_IG08 cmp qword ptr [r15+0x30], 0 jne G_M000_IG09 mov r14, gword ptr [r15+0x28] test r14, r14 jne G_M000_IG17 G_M000_IG03: ;; offset=0x0047 mov rsi, gword ptr [rbx+0x28] mov rdi, 0x74F73358AF48 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG11 mov rdi, gword ptr [r15+0x08] cmp rdi, gword ptr [rbx+0x08] jne G_M000_IG21 mov rdi, qword ptr [r15+0x18] cmp rdi, qword ptr [rbx+0x18] jne G_M000_IG21 mov rdi, qword ptr [r15+0x20] cmp rdi, qword ptr [rbx+0x20] jne G_M000_IG21 G_M000_IG04: ;; offset=0x0094 mov r14d, 1 G_M000_IG05: ;; offset=0x009A mov eax, r14d G_M000_IG06: ;; offset=0x009D add rsp, 8 pop rbx pop r14 pop r15 pop rbp ret G_M000_IG07: ;; offset=0x00A8 test rbx, rbx sete al movzx rax, al jmp SHORT G_M000_IG06 G_M000_IG08: ;; offset=0x00B3 xor r14d, r14d jmp SHORT G_M000_IG05 G_M000_IG09: ;; offset=0x00B8 mov rdi, r15 mov rax, 0x74F73398F420 call [rax]System.MulticastDelegate:InvocationListLogicallyNull():bool:this test eax, eax je SHORT G_M000_IG13 cmp qword ptr [r15+0x30], -1 jne SHORT G_M000_IG10 cmp qword ptr [rbx+0x30], -1 jne SHORT G_M000_IG08 mov rsi, qword ptr [r15+0x18] cmp rsi, qword ptr [rbx+0x18] jne SHORT G_M000_IG08 mov rsi, qword ptr [r15+0x20] cmp rsi, qword ptr [rbx+0x20] sete r14b movzx r14, r14b jmp SHORT G_M000_IG05 G_M000_IG10: ;; offset=0x00F5 mov rsi, gword ptr [rbx+0x28] mov rdi, 0x74F73358AF48 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je G_M000_IG18 G_M000_IG11: ;; offset=0x0118 mov rsi, gword ptr [rbx+0x28] mov rdi, r15 mov rax, 0x74F73358B508 G_M000_IG12: ;; offset=0x0129 add rsp, 8 pop rbx pop r14 pop r15 pop rbp tail.jmp [rax]System.MulticastDelegate:Equals(System.Object):bool:this G_M000_IG13: ;; offset=0x0136 mov rsi, gword ptr [r15+0x28] mov rdi, 0x74F73358AF48 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M000_IG15 mov rdi, rax mov rsi, rbx mov rax, qword ptr [rax] mov rax, qword ptr [rax+0x40] G_M000_IG14: ;; offset=0x0162 add rsp, 8 pop rbx pop r14 pop r15 pop rbp tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this G_M000_IG15: ;; offset=0x0170 mov rdi, r15 mov rsi, rbx mov rax, 0x74F733A15890 G_M000_IG16: ;; offset=0x0180 add rsp, 8 pop rbx pop r14 pop r15 pop rbp tail.jmp [rax]System.MulticastDelegate:InvocationListEquals(System.MulticastDelegate):bool:this G_M000_IG17: ;; offset=0x018D mov rsi, r14 mov rdi, 0x74F7339FD4F8 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG03 mov rsi, r14 mov rdi, 0x74F7339B8BC0 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG03 mov rsi, r14 mov rdi, 0x74F73399DB58 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG03 mov rdi, gword ptr [r15+0x28] mov rsi, gword ptr [rbx+0x28] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x40] call [rax+0x10]System.Object:Equals(System.Object):bool:this test eax, eax je G_M000_IG08 G_M000_IG18: ;; offset=0x020D mov rdi, r15 mov rsi, rbx mov rax, 0x74F73358AFC0 G_M000_IG19: ;; offset=0x021D add rsp, 8 pop rbx pop r14 pop r15 pop rbp tail.jmp [rax]System.Delegate:Equals(System.Object):bool:this G_M000_IG20: ;; offset=0x022A xor r14d, r14d jmp G_M000_IG05 G_M000_IG21: ;; offset=0x0232 cmp qword ptr [r15+0x20], 0 jne SHORT G_M000_IG22 cmp qword ptr [rbx+0x20], 0 jne SHORT G_M000_IG20 mov rdi, gword ptr [r15+0x08] cmp rdi, gword ptr [rbx+0x08] je SHORT G_M000_IG23 jmp SHORT G_M000_IG20 G_M000_IG22: ;; offset=0x024C cmp qword ptr [rbx+0x20], 0 je SHORT G_M000_IG20 mov rdi, qword ptr [r15+0x20] cmp rdi, qword ptr [rbx+0x20] je G_M000_IG04 G_M000_IG23: ;; offset=0x0261 cmp qword ptr [r15+0x10], 0 jne SHORT G_M000_IG24 mov rdi, r15 mov rax, 0x74F733A158A8 call [rax]System.Delegate:GetMethodDesc():nint:this mov r14, rax jmp SHORT G_M000_IG25 G_M000_IG24: ;; offset=0x027C mov r14, qword ptr [r15+0x10] G_M000_IG25: ;; offset=0x0280 cmp qword ptr [rbx+0x10], 0 jne SHORT G_M000_IG26 mov rdi, rbx mov rax, 0x74F733A158A8 call [rax]System.Delegate:GetMethodDesc():nint:this mov r15, rax jmp SHORT G_M000_IG27 G_M000_IG26: ;; offset=0x029B mov r15, qword ptr [rbx+0x10] G_M000_IG27: ;; offset=0x029F cmp r14, r15 sete r14b movzx r14, r14b jmp G_M000_IG05 G_M000_IG28: ;; offset=0x02AF mov eax, 1 jmp G_M000_IG06 ; Total bytes of code 697
Unterschied finden