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
Anzeige
Ansicht
Zweispaltig
Einspaltig
Live-Editor
Leerzeichen ausblenden
Gleiches ausblenden
Zeilenumbruch aus
Vergleichsgenauigkeit
Intelligent
Syntax
Keine
Darstellung ändern
Verarbeitung
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
14 Entfernungen
Zeilen
Gesamt
Entfernt
Zeichen
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
113 Zeilen
Kopieren
11 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Zeichen
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
111 Zeilen
Kopieren
; Assembly listing for method System.Number:DigitsToUInt32(long,int):int
; Assembly listing for method System.Number:DigitsToUInt32(long,int):int
; 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
; fully interruptible
; fully interruptible
; No matching PGO data
; No matching PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T00] ( 11, 23 ) long -> x19
; V00 arg0 [V00,T00] ( 11, 23 ) long -> x19
; V01 arg1 [V01,T02] ( 5, 4.50) int -> x20 single-def
; V01 arg1 [V01,T02] ( 5, 4.50) int -> x20 single-def
; V02 loc0 [V02,T03] ( 3, 6 ) long -> x0
; V02 loc0 [V02,T03] ( 3, 6 ) long -> x0
; V03 loc1 [V03,T01] ( 4, 10 ) int -> x1
; V03 loc1 [V03,T01] ( 4, 10 ) int -> x1
;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
; V05 tmp1 [V05,T07] ( 3, 2 ) int -> x0
; V05 tmp1 [V05,T07] ( 3, 2 ) int -> x0
; V06 tmp2 [V06,T05] ( 2, 4 ) bool -> x0 "Inlining Arg"
; V06 tmp2 [V06,T05] ( 2, 4 ) bool -> x0 "Inlining Arg"
;* V07 tmp3 [V07,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
;* V07 tmp3 [V07,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
; V08 tmp4 [V08,T04] ( 3, 4 ) ref -> x1 class-hnd single-def "Inlining Arg"
; V08 tmp4 [V08,T04] ( 3, 4 ) ref -> x1 class-hnd single-def "Inlining Arg"
; V09 cse0 [V09,T06] ( 2, 2 ) ref -> x1 "CSE - aggressive"
; V09 cse0 [V09,T06] ( 2, 2 ) ref -> x1 "CSE - aggressive"
;
;
; Lcl frame size = 0
; Lcl frame size = 0
G_M47917_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
G_M47917_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp,#-32]!
stp fp, lr, [sp,#-32]!
stp x19, x20, [sp,#16]
stp x19, x20, [sp,#16]
mov fp, sp
mov fp, sp
mov x19, x0
mov x19, x0
mov w20, w1
mov w20, w1
;; bbWeight=1 PerfScore 3.50
;; bbWeight=1 PerfScore 3.50
G_M47917_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
G_M47917_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp w20, #1
cmp w20, #1
blt G_M47917_IG04
blt G_M47917_IG04
;; bbWeight=1 PerfScore 1.50
;; bbWeight=1 PerfScore 1.50
G_M47917_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M47917_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
cmp w20, #9
cmp w20, #9
cset x0, le
cset x0, le
b G_M47917_IG05
b G_M47917_IG05
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00
G_M47917_IG04: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M47917_IG04: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w0, wzr
mov w0, wzr
;; bbWeight=0.50 PerfScore 0.25
;; bbWeight=0.50 PerfScore 0.25
G_M47917_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
G_M47917_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
uxtb w0, w0
uxtb w0, w0
movz x1, #0xd1ffab1e
movz x1, #0xd1ffab1e
movk x1, #0xd1ffab1e LSL #16
movk x1, #0xd1ffab1e LSL #16
movk x1, #0xd1ffab1e LSL #32
movk x1, #0xd1ffab1e LSL #32
ldr x1, [x1]
ldr x1, [x1]
; gcrRegs +[x1]
; gcrRegs +[x1]
cbnz w0, G_M47917_IG07
cbnz w0, G_M47917_IG07
;; bbWeight=1 PerfScore 6.00
;; bbWeight=1 PerfScore 6.00
G_M47917_IG06: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
G_M47917_IG06: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
mov x0, x1
mov x0, x1
; gcrRegs +[x0]
; gcrRegs +[x0]
bl hackishModuleName:hackishMethodName()
bl hackishModuleName:hackishMethodName()
; gcrRegs -[x0-x1]
; gcrRegs -[x0-x1]
; gcr arg pop 0
; gcr arg pop 0
;; bbWeight=0.50 PerfScore 0.75
;; bbWeight=0.50 PerfScore 0.75
G_M47917_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
G_M47917_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
Kopieren
Kopiert
Kopieren
Kopiert
sxtw x0, w20
add x0, x19,
w20, SXTW
add x0, x19,
x0
ldrb w1, [x19]
ldrb w1, [x19]
sub w1, w1, #48
sub w1, w1, #48
add x19, x19, #1
add x19, x19, #1
cmp x19, x0
cmp x19, x0
bhs G_M47917_IG09
bhs G_M47917_IG09
;; bbWeight=1 PerfScore 6.50
;; bbWeight=1 PerfScore 6.50
G_M47917_IG08: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
G_M47917_IG08: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov x2, #5
mov x2, #5
mul w1, w1, w2
mul w1, w1, w2
Kopieren
Kopiert
Kopieren
Kopiert
lsl w1, w1, #1
ldrb w2, [x19]
ldrb w2, [x19]
Kopieren
Kopiert
Kopieren
Kopiert
add w1,
w1, w2
add w1,
w2, w1, LSL #1
sub w1, w1, #48
sub w1, w1, #48
add x19, x19, #1
add x19, x19, #1
cmp x19, x0
cmp x19, x0
blo G_M47917_IG08
blo G_M47917_IG08
Kopieren
Kopiert
Kopieren
Kopiert
;; bbWeight=4 PerfScore
38
.00
;; bbWeight=4 PerfScore
36
.00
G_M47917_IG09: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M47917_IG09: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w0, w1
mov w0, w1
;; bbWeight=1 PerfScore 0.50
;; bbWeight=1 PerfScore 0.50
G_M47917_IG10: ; , epilog, nogc, extend
G_M47917_IG10: ; , epilog, nogc, extend
ldp x19, x20, [sp,#16]
ldp x19, x20, [sp,#16]
ldp fp, lr, [sp],#32
ldp fp, lr, [sp],#32
ret lr
ret lr
;; bbWeight=1 PerfScore 3.00
;; bbWeight=1 PerfScore 3.00
Kopieren
Kopiert
Kopieren
Kopiert
; Total bytes of code
156
, prolog size 20, PerfScore
76.60
, instruction count
39
, allocated bytes for code
156
(MethodHash=afe144d2) for method System.Number:DigitsToUInt32(long,int):int
; Total bytes of code
148
, prolog size 20, PerfScore
73.80
, instruction count
37
, allocated bytes for code
148
(MethodHash=afe144d2) for method System.Number:DigitsToUInt32(long,int):int
; ============================================================
; ============================================================
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 : 2
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 :
39
(0x0002
7
) Actual length =
156
(0x00009
c
)
Function Length :
37
(0x0002
5
) Actual length =
148
(0x00009
4
)
---- 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)
Gespeicherte Diffs
Originaltext
Datei öffnen
; Assembly listing for method System.Number:DigitsToUInt32(long,int):int ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 11, 23 ) long -> x19 ; V01 arg1 [V01,T02] ( 5, 4.50) int -> x20 single-def ; V02 loc0 [V02,T03] ( 3, 6 ) long -> x0 ; V03 loc1 [V03,T01] ( 4, 10 ) int -> x1 ;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V05 tmp1 [V05,T07] ( 3, 2 ) int -> x0 ; V06 tmp2 [V06,T05] ( 2, 4 ) bool -> x0 "Inlining Arg" ;* V07 tmp3 [V07,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ; V08 tmp4 [V08,T04] ( 3, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" ; V09 cse0 [V09,T06] ( 2, 2 ) ref -> x1 "CSE - aggressive" ; ; Lcl frame size = 0 G_M47917_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-32]! stp x19, x20, [sp,#16] mov fp, sp mov x19, x0 mov w20, w1 ;; bbWeight=1 PerfScore 3.50 G_M47917_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz cmp w20, #1 blt G_M47917_IG04 ;; bbWeight=1 PerfScore 1.50 G_M47917_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref cmp w20, #9 cset x0, le b G_M47917_IG05 ;; bbWeight=0.50 PerfScore 1.00 G_M47917_IG04: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov w0, wzr ;; bbWeight=0.50 PerfScore 0.25 G_M47917_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz uxtb w0, w0 movz x1, #0xd1ffab1e movk x1, #0xd1ffab1e LSL #16 movk x1, #0xd1ffab1e LSL #32 ldr x1, [x1] ; gcrRegs +[x1] cbnz w0, G_M47917_IG07 ;; bbWeight=1 PerfScore 6.00 G_M47917_IG06: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref mov x0, x1 ; gcrRegs +[x0] bl hackishModuleName:hackishMethodName() ; gcrRegs -[x0-x1] ; gcr arg pop 0 ;; bbWeight=0.50 PerfScore 0.75 G_M47917_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz sxtw x0, w20 add x0, x19, x0 ldrb w1, [x19] sub w1, w1, #48 add x19, x19, #1 cmp x19, x0 bhs G_M47917_IG09 ;; bbWeight=1 PerfScore 6.50 G_M47917_IG08: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov x2, #5 mul w1, w1, w2 lsl w1, w1, #1 ldrb w2, [x19] add w1, w1, w2 sub w1, w1, #48 add x19, x19, #1 cmp x19, x0 blo G_M47917_IG08 ;; bbWeight=4 PerfScore 38.00 G_M47917_IG09: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov w0, w1 ;; bbWeight=1 PerfScore 0.50 G_M47917_IG10: ; , epilog, nogc, extend ldp x19, x20, [sp,#16] ldp fp, lr, [sp],#32 ret lr ;; bbWeight=1 PerfScore 3.00 ; Total bytes of code 156, prolog size 20, PerfScore 76.60, instruction count 39, allocated bytes for code 156 (MethodHash=afe144d2) for method System.Number:DigitsToUInt32(long,int):int ; ============================================================ 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 : 39 (0x00027) Actual length = 156 (0x00009c) ---- 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 ---- C8 02 save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16] 83 save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]! E4 end E4 end E4 end E4 end
Bearbeitung
Datei öffnen
; Assembly listing for method System.Number:DigitsToUInt32(long,int):int ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 11, 23 ) long -> x19 ; V01 arg1 [V01,T02] ( 5, 4.50) int -> x20 single-def ; V02 loc0 [V02,T03] ( 3, 6 ) long -> x0 ; V03 loc1 [V03,T01] ( 4, 10 ) int -> x1 ;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V05 tmp1 [V05,T07] ( 3, 2 ) int -> x0 ; V06 tmp2 [V06,T05] ( 2, 4 ) bool -> x0 "Inlining Arg" ;* V07 tmp3 [V07,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ; V08 tmp4 [V08,T04] ( 3, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" ; V09 cse0 [V09,T06] ( 2, 2 ) ref -> x1 "CSE - aggressive" ; ; Lcl frame size = 0 G_M47917_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-32]! stp x19, x20, [sp,#16] mov fp, sp mov x19, x0 mov w20, w1 ;; bbWeight=1 PerfScore 3.50 G_M47917_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz cmp w20, #1 blt G_M47917_IG04 ;; bbWeight=1 PerfScore 1.50 G_M47917_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref cmp w20, #9 cset x0, le b G_M47917_IG05 ;; bbWeight=0.50 PerfScore 1.00 G_M47917_IG04: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov w0, wzr ;; bbWeight=0.50 PerfScore 0.25 G_M47917_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz uxtb w0, w0 movz x1, #0xd1ffab1e movk x1, #0xd1ffab1e LSL #16 movk x1, #0xd1ffab1e LSL #32 ldr x1, [x1] ; gcrRegs +[x1] cbnz w0, G_M47917_IG07 ;; bbWeight=1 PerfScore 6.00 G_M47917_IG06: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref mov x0, x1 ; gcrRegs +[x0] bl hackishModuleName:hackishMethodName() ; gcrRegs -[x0-x1] ; gcr arg pop 0 ;; bbWeight=0.50 PerfScore 0.75 G_M47917_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz add x0, x19, w20, SXTW ldrb w1, [x19] sub w1, w1, #48 add x19, x19, #1 cmp x19, x0 bhs G_M47917_IG09 ;; bbWeight=1 PerfScore 6.50 G_M47917_IG08: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov x2, #5 mul w1, w1, w2 ldrb w2, [x19] add w1, w2, w1, LSL #1 sub w1, w1, #48 add x19, x19, #1 cmp x19, x0 blo G_M47917_IG08 ;; bbWeight=4 PerfScore 36.00 G_M47917_IG09: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov w0, w1 ;; bbWeight=1 PerfScore 0.50 G_M47917_IG10: ; , epilog, nogc, extend ldp x19, x20, [sp,#16] ldp fp, lr, [sp],#32 ret lr ;; bbWeight=1 PerfScore 3.00 ; Total bytes of code 148, prolog size 20, PerfScore 73.80, instruction count 37, allocated bytes for code 148 (MethodHash=afe144d2) for method System.Number:DigitsToUInt32(long,int):int ; ============================================================ 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 : 37 (0x00025) Actual length = 148 (0x000094) ---- 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 ---- C8 02 save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16] 83 save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]! E4 end E4 end E4 end E4 end
Unterschied finden