Untitled Diff

बनाया गया Diff कभी समाप्त नहीं होता
14 हटाए गए
113 लाइनें
11 जोड़े गए
111 लाइनें
; 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
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
lsl w1, w1, #1
ldrb w2, [x19]
ldrb w2, [x19]
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
;; 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


; 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
Function Length : 39 (0x00027) Actual length = 156 (0x00009c)
Function Length : 37 (0x00025) Actual length = 148 (0x000094)
---- 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)