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
28 Entfernungen
Zeilen
Gesamt
Entfernt
Zeichen
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
69 Zeilen
Kopieren
37 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Zeichen
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
75 Zeilen
Kopieren
; Assembly listing for method <>c:<GetArrayDataReference_NullInput_ThrowsNullRef>b__46_1():System.Object:this
; Assembly listing for method <>c:<GetArrayDataReference_NullInput_ThrowsNullRef>b__46_1():System.Object:this
; Emitting BLENDED_CODE for generic ARM64 CPU - Windows
; Emitting BLENDED_CODE for generic ARM64 CPU - Windows
; optimized code
; optimized code
; fp based frame
; fp based frame
; partially interruptible
; partially interruptible
; No matching PGO data
; No matching PGO data
; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without 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 OutArgs [V01 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
;# V01 OutArgs [V01 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper"
; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper"
;* V03 tmp2 [V03 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
;* V03 tmp2 [V03 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
;* V04 tmp3 [V04 ] ( 0, 0 ) ref -> zero-ref single-def "CheckForNullPointer"
;* V04 tmp3 [V04 ] ( 0, 0 ) ref -> zero-ref single-def "CheckForNullPointer"
Kopieren
Kopiert
Kopieren
Kopiert
;
*
V05 tmp4 [V05
] (
0
,
0
) long ->
zero-ref
"Inlining Arg"
;
V05 tmp4 [V05
,T01
] (
2
,
4
) long ->
x19
"Inlining Arg"
;* V06 tmp5 [V06 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
;* V06 tmp5 [V06 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
;* V07 tmp6 [V07 ] ( 0, 0 ) ref -> zero-ref single-def "Big Offset Morphing"
;* V07 tmp6 [V07 ] ( 0, 0 ) ref -> zero-ref single-def "Big Offset Morphing"
;
;
Kopieren
Kopiert
Kopieren
Kopiert
; Lcl frame size =
0
; Lcl frame size =
8
G_M7618_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
G_M7618_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
Kopieren
Kopiert
Kopieren
Kopiert
stp fp, lr, [sp,#-
16]!
stp fp, lr, [sp,#-
32]!
str x19, [sp,#24]
mov fp, sp
mov fp, sp
Kopieren
Kopiert
Kopieren
Kopiert
;; bbWeight=1 PerfScore
1
.50
;; bbWeight=1 PerfScore
2
.50
G_M7618_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M7618_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov x0, #0
mov x0, #0
ldr wzr, [x0]
ldr wzr, [x0]
ldr wzr, [x0]
ldr wzr, [x0]
movn x0, #7
movn x0, #7
ldr x0, [x0]
ldr x0, [x0]
Kopieren
Kopiert
Kopieren
Kopiert
ldr
wzr
, [x0,#4]
ldr
w0
, [x0,#4]
mov w0, w0
sub x19, x0, #16
movz x0, #0xd1ffab1e
movz x0, #0xd1ffab1e
movk x0, #0xd1ffab1e LSL #16
movk x0, #0xd1ffab1e LSL #16
movk x0, #0xd1ffab1e LSL #32
movk x0, #0xd1ffab1e LSL #32
bl CORINFO_HELP_NEWSFAST
bl CORINFO_HELP_NEWSFAST
; gcrRegs +[x0]
; gcrRegs +[x0]
Kopieren
Kopiert
Kopieren
Kopiert
mov x1, #0
ldrb w1, [x1
9
]
ldrb w1, [x1
]
strb w1, [x0,#8]
strb w1, [x0,#8]
Kopieren
Kopiert
Kopieren
Kopiert
;; bbWeight=1 PerfScore 20.
00
;; bbWeight=1 PerfScore 20.
50
G_M7618_IG03: ; , epilog, nogc, extend
G_M7618_IG03: ; , epilog, nogc, extend
Kopieren
Kopiert
Kopieren
Kopiert
ldp fp, lr, [sp],#
16
ldr x19, [sp,#24]
ldp fp, lr, [sp],#
32
ret lr
ret lr
Kopieren
Kopiert
Kopieren
Kopiert
;; bbWeight=1 PerfScore
2
.00
;; bbWeight=1 PerfScore
4
.00
Kopieren
Kopiert
Kopieren
Kopiert
; Total bytes of code
68
, prolog size
8
, PerfScore
30.30
, instruction count
17
, allocated bytes for code
68
(MethodHash=810ae23d) for method <>c:<GetArrayDataReference_NullInput_ThrowsNullRef>b__46_1():System.Object:this
; Total bytes of code
80
, prolog size
12
, PerfScore
35.00
, instruction count
20
, allocated bytes for code
80
(MethodHash=810ae23d) for method <>c:<GetArrayDataReference_NullInput_ThrowsNullRef>b__46_1():System.Object: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)
Kopieren
Kopiert
Kopieren
Kopiert
Code Words :
1
Code Words :
2
Epilog Count : 1
Epilog Count : 1
E bit : 0
E bit : 0
X bit : 0
X bit : 0
Vers : 0
Vers : 0
Kopieren
Kopiert
Kopieren
Kopiert
Function Length :
17
(0x0001
1
) Actual length =
68
(0x0000
44
)
Function Length :
20
(0x0001
4
) Actual length =
80
(0x0000
50
)
---- 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)
---- 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 ----
Kopieren
Kopiert
Kopieren
Kopiert
81
save_fplr_x #
1
(0x0
1
); stp fp, lr, [sp, #-
16]!
D0 03 save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
83
save_fplr_x #
3
(0x0
3
); stp fp, lr, [sp, #-
32]!
E4 end
E4 end
E4 end
E4 end
E4 end
E4 end
Gespeicherte Diffs
Originaltext
Datei öffnen
; Assembly listing for method <>c:<GetArrayDataReference_NullInput_ThrowsNullRef>b__46_1():System.Object:this ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; partially interruptible ; No matching PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ;# V01 OutArgs [V01 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" ;* V03 tmp2 [V03 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt" ;* V04 tmp3 [V04 ] ( 0, 0 ) ref -> zero-ref single-def "CheckForNullPointer" ;* V05 tmp4 [V05 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V06 tmp5 [V06 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp" ;* V07 tmp6 [V07 ] ( 0, 0 ) ref -> zero-ref single-def "Big Offset Morphing" ; ; Lcl frame size = 0 G_M7618_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-16]! mov fp, sp ;; bbWeight=1 PerfScore 1.50 G_M7618_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov x0, #0 ldr wzr, [x0] ldr wzr, [x0] movn x0, #7 ldr x0, [x0] ldr wzr, [x0,#4] movz x0, #0xd1ffab1e movk x0, #0xd1ffab1e LSL #16 movk x0, #0xd1ffab1e LSL #32 bl CORINFO_HELP_NEWSFAST ; gcrRegs +[x0] mov x1, #0 ldrb w1, [x1] strb w1, [x0,#8] ;; bbWeight=1 PerfScore 20.00 G_M7618_IG03: ; , epilog, nogc, extend ldp fp, lr, [sp],#16 ret lr ;; bbWeight=1 PerfScore 2.00 ; Total bytes of code 68, prolog size 8, PerfScore 30.30, instruction count 17, allocated bytes for code 68 (MethodHash=810ae23d) for method <>c:<GetArrayDataReference_NullInput_ThrowsNullRef>b__46_1():System.Object:this ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 1 Epilog Count : 1 E bit : 0 X bit : 0 Vers : 0 Function Length : 17 (0x00011) Actual length = 68 (0x000044) ---- 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) ---- 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 <>c:<GetArrayDataReference_NullInput_ThrowsNullRef>b__46_1():System.Object:this ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; partially interruptible ; No matching PGO data ; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ;# V01 OutArgs [V01 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V02 tmp1 [V02,T00] ( 3, 6 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" ;* V03 tmp2 [V03 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt" ;* V04 tmp3 [V04 ] ( 0, 0 ) ref -> zero-ref single-def "CheckForNullPointer" ; V05 tmp4 [V05,T01] ( 2, 4 ) long -> x19 "Inlining Arg" ;* V06 tmp5 [V06 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp" ;* V07 tmp6 [V07 ] ( 0, 0 ) ref -> zero-ref single-def "Big Offset Morphing" ; ; Lcl frame size = 8 G_M7618_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-32]! str x19, [sp,#24] mov fp, sp ;; bbWeight=1 PerfScore 2.50 G_M7618_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov x0, #0 ldr wzr, [x0] ldr wzr, [x0] movn x0, #7 ldr x0, [x0] ldr w0, [x0,#4] mov w0, w0 sub x19, x0, #16 movz x0, #0xd1ffab1e movk x0, #0xd1ffab1e LSL #16 movk x0, #0xd1ffab1e LSL #32 bl CORINFO_HELP_NEWSFAST ; gcrRegs +[x0] ldrb w1, [x19] strb w1, [x0,#8] ;; bbWeight=1 PerfScore 20.50 G_M7618_IG03: ; , epilog, nogc, extend ldr x19, [sp,#24] ldp fp, lr, [sp],#32 ret lr ;; bbWeight=1 PerfScore 4.00 ; Total bytes of code 80, prolog size 12, PerfScore 35.00, instruction count 20, allocated bytes for code 80 (MethodHash=810ae23d) for method <>c:<GetArrayDataReference_NullInput_ThrowsNullRef>b__46_1():System.Object:this ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 2 Epilog Count : 1 E bit : 0 X bit : 0 Vers : 0 Function Length : 20 (0x00014) Actual length = 80 (0x000050) ---- 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) ---- Unwind codes ---- E1 set_fp; mov fp, sp ---- Epilog start at index 1 ---- D0 03 save_reg X#0 Z#3 (0x03); str x19, [sp, #24] 83 save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]! E4 end E4 end E4 end E4 end
Unterschied finden