Untitled diff

Created Diff never expires
3 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
57 lines
7 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
61 lines
; Assembly listing for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; Assembly listing for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Windows
; Emitting BLENDED_CODE for generic ARM64 - Windows
; FullOpts code
; FullOpts code
; optimized code
; optimized code
; fp based frame
; fp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; invoked as altjit
; invoked as altjit
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T03] ( 4, 4 ) ref -> x2 class-hnd single-def <System.Action`1[int]>
; V00 arg0 [V00,T03] ( 4, 4 ) ref -> x2 class-hnd single-def <System.Action`1[int]>
; V01 arg1 [V01,T02] ( 4, 7 ) int -> x1 single-def
; V01 arg1 [V01,T02] ( 4, 7 ) int -> x1 single-def
; V02 loc0 [V02,T01] ( 4, 10 ) int -> x0
; V02 loc0 [V02,T01] ( 4, 10 ) int -> x0
; V03 loc1 [V03,T00] ( 5, 17 ) int -> x3
; V03 loc1 [V03,T00] ( 5, 17 ) int -> x3
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;
;
; Lcl frame size = 0
; Lcl frame size = 0


G_M23933_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
G_M23933_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x10]!
stp fp, lr, [sp, #-0x10]!
mov fp, sp
mov fp, sp
mov x2, x0
mov x2, x0
; gcrRegs +[x2]
; gcrRegs +[x2]
;; size=12 bbWeight=1 PerfScore 2.00
;; size=12 bbWeight=1 PerfScore 2.00
G_M23933_IG02: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref, isz, align
G_M23933_IG02: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref, isz, align
mov w0, wzr
mov w0, wzr
mov w3, wzr
mov w3, wzr
cmp w1, #0
cmp w1, #0
ble G_M23933_IG04
ble G_M23933_IG04
align [4 bytes for IG03]
align [4 bytes for IG03]
align [0 bytes]
align [0 bytes]
align [0 bytes]
align [0 bytes]
align [0 bytes]
align [0 bytes]
;; size=20 bbWeight=1 PerfScore 3.00
;; size=20 bbWeight=1 PerfScore 3.00
G_M23933_IG03: ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, loop=IG03, byref, isz
G_M23933_IG03: ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, loop=IG03, byref, isz
add w0, w0, w3
add w0, w0, w3
add w3, w3, #1
add w3, w3, #1
cmp w3, w1
cmp w3, w1
blt G_M23933_IG03
blt G_M23933_IG03
;; size=16 bbWeight=4 PerfScore 10.00
;; size=16 bbWeight=4 PerfScore 10.00
G_M23933_IG04: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
G_M23933_IG04: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
mov w1, w0
mov w1, w0
ldr x0, [x2, #0x08]
ldr x0, [x2, #0x08]
; gcrRegs +[x0]
; gcrRegs +[x0]
;; size=8 bbWeight=1 PerfScore 3.50
G_M23933_IG05: ; bbWeight=1, nogc, extend
ldr x2, [x2, #0x18]
ldr x2, [x2, #0x18]
; gcrRegs -[x2]
; gcrRegs -[x2]
;; size=4 bbWeight=1 PerfScore 3.00
G_M23933_IG06: ; bbWeight=1, extend
blr x2
blr x2
; gcrRegs -[x0]
; gcrRegs -[x0]
; gcr arg pop 0
; gcr arg pop 0
;; size=16 bbWeight=1 PerfScore 7.50
;; size=4 bbWeight=1 PerfScore 1.00
G_M23933_IG05: ; bbWeight=1, epilog, nogc, extend
G_M23933_IG07: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ldp fp, lr, [sp], #0x10
ret lr
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
;; size=8 bbWeight=1 PerfScore 2.00


; Total bytes of code 72, prolog size 12, PerfScore 24.50, instruction count 21, allocated bytes for code 72 (MethodHash=d7f5a282) for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; Total bytes of code 72, prolog size 12, PerfScore 24.50, instruction count 21, allocated bytes for code 72 (MethodHash=d7f5a282) for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; ============================================================
; ============================================================