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
Untitled Diff
Erstellt
vor 5 Jahren
Diff läuft nie ab
Löschen
Exportieren
Teilen
Erklären
31 Entfernungen
Zeilen
Gesamt
Entfernt
Zeichen
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
92 Zeilen
Kopieren
33 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Zeichen
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
92 Zeilen
Kopieren
; Assembly listing for method AnagramEqualityComparer:GetHashCode(System.String):int:this
; Assembly listing for method AnagramEqualityComparer:GetHashCode(System.String):int:this
; Emitting BLENDED_CODE for generic ARM64 CPU - Unix
; Emitting BLENDED_CODE for generic ARM64 CPU - Unix
; optimized code
; optimized code
; fp based frame
; fp based frame
; fully interruptible
; fully interruptible
; No matching PGO data
; No matching 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 arg1 [V01,T03] ( 5, 4 ) ref -> x1 class-hnd single-def
; V01 arg1 [V01,T03] ( 5, 4 ) ref -> x1 class-hnd single-def
Kopieren
Kopiert
Kopieren
Kopiert
; V02 loc0 [V02,T01] ( 4, 9 ) int ->
x2
; V02 loc0 [V02,T01] ( 4, 9 ) int ->
x0
; V03 loc1 [V03,T0
5
] ( 2,
4.50
) ref -> x1 class-hnd single-def
; V03 loc1 [V03,T0
6
] ( 2,
1
) ref -> x1 class-hnd single-def
; V04 loc2 [V04,T00] ( 5, 16.50) int -> x3
; V04 loc2 [V04,T00] ( 5, 16.50) int -> x3
; V05 loc3 [V05,T02] ( 2, 8 ) ushort -> x4
; V05 loc3 [V05,T02] ( 2, 8 ) ushort -> x4
;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
Kopieren
Kopiert
Kopieren
Kopiert
; V07 cse0 [V07,T04] ( 4, 5.50) int ->
x0
"CSE - aggressive"
; V07 cse0 [V07,T04] ( 4, 5.50) int ->
x2 "CSE - aggressive"
; V08 cse1 [V08,T05] ( 2, 4.50) byref -> x1
"CSE - aggressive"
;
;
; Lcl frame size = 0
; Lcl frame size = 0
G_M19593_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
G_M19593_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp,#-16]!
stp fp, lr, [sp,#-16]!
mov fp, sp
mov fp, sp
;; bbWeight=1 PerfScore 1.50
;; bbWeight=1 PerfScore 1.50
G_M19593_IG02: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
G_M19593_IG02: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[x1]
; gcrRegs +[x1]
cbnz x1, G_M19593_IG05
cbnz x1, G_M19593_IG05
;; bbWeight=1 PerfScore 1.00
;; bbWeight=1 PerfScore 1.00
G_M19593_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M19593_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x1]
; gcrRegs -[x1]
mov w0, #0
mov w0, #0
;; bbWeight=0.50 PerfScore 0.25
;; bbWeight=0.50 PerfScore 0.25
G_M19593_IG04: ; , epilog, nogc, extend
G_M19593_IG04: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ldp fp, lr, [sp],#16
ret lr
ret lr
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00
Kopieren
Kopiert
Kopieren
Kopiert
G_M19593_IG05: ; gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref, isz
G_M19593_IG05: ; gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref, isz
, align
; gcrRegs +[x1]
; gcrRegs +[x1]
Kopieren
Kopiert
Kopieren
Kopiert
ldr
w0
, [x1,#8]
ldr
w2
, [x1,#8]
mov
w2, w0
mov
w0, w2
mov w3, wzr
mov w3, wzr
Kopieren
Kopiert
Kopieren
Kopiert
cmp
w0
, #0
cmp
w2
, #0
ble G_M19593_IG07
ble G_M19593_IG07
Kopieren
Kopiert
Kopieren
Kopiert
align [
0
bytes]
add x1, x1, #12
align [
0
bytes]
; gcrRegs -[x1]
align [
0
bytes]
; byrRegs +[x1]
align [
0
bytes]
align [
4
bytes]
;; bbWeight=0.50 PerfScore
2.75
align [
4
bytes]
G_M19593_IG06: ; gcrefRegs=000
2 {x1
}, byrefRegs=000
0 {
}, loop=IG06, byref, isz
align [
4
bytes]
align [
4
bytes]
;; bbWeight=0.50 PerfScore
4.00
G_M19593_IG06: ; gcrefRegs=000
0 {
}, byrefRegs=000
2 {x1
}, loop=IG06, byref, isz
ubfiz x4, x3, #1, #32
ubfiz x4, x3, #1, #32
Kopieren
Kopiert
Kopieren
Kopiert
add x4, x4, #12
ldrh w4, [x1, x4]
ldrh w4, [x1, x4]
Kopieren
Kopiert
Kopieren
Kopiert
eor
w2, w2
, w4
eor
w0, w0
, w4
add w3, w3, #1
add w3, w3, #1
Kopieren
Kopiert
Kopieren
Kopiert
cmp
w0
, w3
cmp
w2
, w3
bgt G_M19593_IG06
bgt G_M19593_IG06
Kopieren
Kopiert
Kopieren
Kopiert
;; bbWeight=4 PerfScore
28
.00
;; bbWeight=4 PerfScore
26
.00
G_M19593_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M19593_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
, epilog, nogc
;
gc
rRegs -[x1]
;
by
rRegs -[x1]
mov w0, w2
;; bbWeight=0.50 PerfScore 0.25
G_M19593_IG08: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ldp fp, lr, [sp],#16
ret lr
ret lr
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00
Kopieren
Kopiert
Kopieren
Kopiert
; Total bytes of code
84
, prolog size 8, PerfScore 44.
15
, instruction count
25
, allocated bytes for code
84
(MethodHash=c8c4b376) for method AnagramEqualityComparer:GetHashCode(System.String):int:this
; Total bytes of code
96
, prolog size 8, PerfScore 44.
35
, instruction count
24
, allocated bytes for code
96
(MethodHash=c8c4b376) for method AnagramEqualityComparer:GetHashCode(System.String):int: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)
Code Words : 1
Code Words : 1
Epilog Count : 2
Epilog Count : 2
E bit : 0
E bit : 0
X bit : 0
X bit : 0
Vers : 0
Vers : 0
Kopieren
Kopiert
Kopieren
Kopiert
Function Length :
21
(0x0001
5
) Actual length =
84
(0x0000
54
)
Function Length :
24
(0x0001
8
) Actual length =
96
(0x0000
60
)
---- Epilog scopes ----
---- Epilog scopes ----
---- Scope 0
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Index : 1 (0x01)
Epilog Start Index : 1 (0x01)
---- Scope 1
---- Scope 1
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Index : 1 (0x01)
Epilog Start Index : 1 (0x01)
---- Unwind codes ----
---- Unwind codes ----
E1 set_fp; mov fp, sp
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
---- Epilog start at index 1 ----
81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
E4 end
E4 end
E4 end
E4 end
Gespeicherte Diffs
Originaltext
Datei öffnen
; Assembly listing for method AnagramEqualityComparer:GetHashCode(System.String):int:this ; Emitting BLENDED_CODE for generic ARM64 CPU - Unix ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ; V01 arg1 [V01,T03] ( 5, 4 ) ref -> x1 class-hnd single-def ; V02 loc0 [V02,T01] ( 4, 9 ) int -> x2 ; V03 loc1 [V03,T05] ( 2, 4.50) ref -> x1 class-hnd single-def ; V04 loc2 [V04,T00] ( 5, 16.50) int -> x3 ; V05 loc3 [V05,T02] ( 2, 8 ) ushort -> x4 ;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V07 cse0 [V07,T04] ( 4, 5.50) int -> x0 "CSE - aggressive" ; ; Lcl frame size = 0 G_M19593_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-16]! mov fp, sp ;; bbWeight=1 PerfScore 1.50 G_M19593_IG02: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x1] cbnz x1, G_M19593_IG05 ;; bbWeight=1 PerfScore 1.00 G_M19593_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x1] mov w0, #0 ;; bbWeight=0.50 PerfScore 0.25 G_M19593_IG04: ; , epilog, nogc, extend ldp fp, lr, [sp],#16 ret lr ;; bbWeight=0.50 PerfScore 1.00 G_M19593_IG05: ; gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref, isz ; gcrRegs +[x1] ldr w0, [x1,#8] mov w2, w0 mov w3, wzr cmp w0, #0 ble G_M19593_IG07 align [0 bytes] align [0 bytes] align [0 bytes] align [0 bytes] ;; bbWeight=0.50 PerfScore 2.75 G_M19593_IG06: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, loop=IG06, byref, isz ubfiz x4, x3, #1, #32 add x4, x4, #12 ldrh w4, [x1, x4] eor w2, w2, w4 add w3, w3, #1 cmp w0, w3 bgt G_M19593_IG06 ;; bbWeight=4 PerfScore 28.00 G_M19593_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x1] mov w0, w2 ;; bbWeight=0.50 PerfScore 0.25 G_M19593_IG08: ; , epilog, nogc, extend ldp fp, lr, [sp],#16 ret lr ;; bbWeight=0.50 PerfScore 1.00 ; Total bytes of code 84, prolog size 8, PerfScore 44.15, instruction count 25, allocated bytes for code 84 (MethodHash=c8c4b376) for method AnagramEqualityComparer:GetHashCode(System.String):int:this ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 1 Epilog Count : 2 E bit : 0 X bit : 0 Vers : 0 Function Length : 21 (0x00015) Actual length = 84 (0x000054) ---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Epilog Start Index : 1 (0x01) ---- Scope 1 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Epilog Start Index : 1 (0x01) ---- Unwind codes ---- E1 set_fp; mov fp, sp ---- Epilog start at index 1 ---- 81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]! E4 end E4 end
Bearbeitung
Datei öffnen
; Assembly listing for method AnagramEqualityComparer:GetHashCode(System.String):int:this ; Emitting BLENDED_CODE for generic ARM64 CPU - Unix ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ; V01 arg1 [V01,T03] ( 5, 4 ) ref -> x1 class-hnd single-def ; V02 loc0 [V02,T01] ( 4, 9 ) int -> x0 ; V03 loc1 [V03,T06] ( 2, 1 ) ref -> x1 class-hnd single-def ; V04 loc2 [V04,T00] ( 5, 16.50) int -> x3 ; V05 loc3 [V05,T02] ( 2, 8 ) ushort -> x4 ;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V07 cse0 [V07,T04] ( 4, 5.50) int -> x2 "CSE - aggressive" ; V08 cse1 [V08,T05] ( 2, 4.50) byref -> x1 "CSE - aggressive" ; ; Lcl frame size = 0 G_M19593_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-16]! mov fp, sp ;; bbWeight=1 PerfScore 1.50 G_M19593_IG02: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x1] cbnz x1, G_M19593_IG05 ;; bbWeight=1 PerfScore 1.00 G_M19593_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x1] mov w0, #0 ;; bbWeight=0.50 PerfScore 0.25 G_M19593_IG04: ; , epilog, nogc, extend ldp fp, lr, [sp],#16 ret lr ;; bbWeight=0.50 PerfScore 1.00 G_M19593_IG05: ; gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref, isz, align ; gcrRegs +[x1] ldr w2, [x1,#8] mov w0, w2 mov w3, wzr cmp w2, #0 ble G_M19593_IG07 add x1, x1, #12 ; gcrRegs -[x1] ; byrRegs +[x1] align [4 bytes] align [4 bytes] align [4 bytes] align [4 bytes] ;; bbWeight=0.50 PerfScore 4.00 G_M19593_IG06: ; gcrefRegs=0000 {}, byrefRegs=0002 {x1}, loop=IG06, byref, isz ubfiz x4, x3, #1, #32 ldrh w4, [x1, x4] eor w0, w0, w4 add w3, w3, #1 cmp w2, w3 bgt G_M19593_IG06 ;; bbWeight=4 PerfScore 26.00 G_M19593_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc ; byrRegs -[x1] ldp fp, lr, [sp],#16 ret lr ;; bbWeight=0.50 PerfScore 1.00 ; Total bytes of code 96, prolog size 8, PerfScore 44.35, instruction count 24, allocated bytes for code 96 (MethodHash=c8c4b376) for method AnagramEqualityComparer:GetHashCode(System.String):int:this ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 1 Epilog Count : 2 E bit : 0 X bit : 0 Vers : 0 Function Length : 24 (0x00018) Actual length = 96 (0x000060) ---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Epilog Start Index : 1 (0x01) ---- Scope 1 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Epilog Start Index : 1 (0x01) ---- Unwind codes ---- E1 set_fp; mov fp, sp ---- Epilog start at index 1 ---- 81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]! E4 end E4 end
Unterschied finden