Untitled Diff
58 lines
; Assembly listing for method Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
; Assembly listing for method Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
; Emitting BLENDED_CODE for X64 CPU with SSE2 - Windows
; Emitting BLENDED_CODE for X64 CPU with SSE2 - Windows
; ReadyToRun compilation
; ReadyToRun compilation
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; partially interruptible
; partially interruptible
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T01] ( 3, 3 ) long -> rcx single-def
; V00 arg0 [V00,T01] ( 3, 3 ) long -> rcx single-def
; V01 arg1 [V01,T00] ( 4, 4 ) byref -> rsi single-def
; V01 arg1 [V01,T00] ( 4, 4 ) byref -> rsi single-def
; V02 loc0 [V02 ] ( 2, 1 ) long -> [rsp+28H] do-not-enreg[X] addr-exposed ld-addr-op
; V02 loc0 [V02 ] ( 2, 1 ) long -> [rsp+28H] do-not-enreg[X] addr-exposed ld-addr-op
; V03 loc1 [V03,T05] ( 2, 1 ) int -> r8
;* V03 loc1 [V03 ] ( 0, 0 ) int -> zero-ref
; V04 loc2 [V04,T04] ( 2, 1 ) ref -> rax class-hnd exact single-def
;* V04 loc2 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact
; V05 OutArgs [V05 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V05 OutArgs [V05 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V06 tmp1 [V06,T02] ( 2, 4 ) long -> rax ld-addr-op "Inlining Arg"
;* V06 tmp1 [V06 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg"
;* V07 tmp2 [V07 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg"
;* V07 tmp2 [V07 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg"
; V08 cse0 [V08,T03] ( 3, 2.50) long -> rcx "CSE - aggressive"
; V08 tmp3 [V08,T03] ( 2, 2 ) int -> r8 "argument with side effect"
; V09 tmp4 [V09,T04] ( 2, 2 ) long -> rsi "argument with side effect"
; V10 cse0 [V10,T02] ( 3, 2.50) long -> rcx "CSE - aggressive"
;
;
; Lcl frame size = 48
; Lcl frame size = 48
G_M61772_IG01: ;; offset=0000H
G_M61772_IG01: ;; offset=0000H
56 push rsi
56 push rsi
4883EC30 sub rsp, 48
4883EC30 sub rsp, 48
488BF2 mov rsi, rdx
488BF2 mov rsi, rdx
;; bbWeight=1 PerfScore 1.50
;; bbWeight=1 PerfScore 1.50
G_M61772_IG02: ;; offset=0008H
G_M61772_IG02: ;; offset=0008H
E800000000 call System.Runtime.RuntimeImports:RhGetOSModuleFromPointer(long):long
E800000000 call System.Runtime.RuntimeImports:RhGetOSModuleFromPointer(long):long
488906 mov qword ptr [rsi], rax
488906 mov qword ptr [rsi], rax
488B0E mov rcx, qword ptr [rsi]
488B0E mov rcx, qword ptr [rsi]
488BC1 mov rax, rcx
4885C9 test rcx, rcx
4885C0 test rax, rax
7508 jne SHORT G_M61772_IG05
7508 jne SHORT G_M61772_IG05
;; bbWeight=1 PerfScore 5.50
;; bbWeight=1 PerfScore 5.25
G_M61772_IG03: ;; offset=001BH
G_M61772_IG03: ;; offset=0018H
33C0 xor rax, rax
33C0 xor rax, rax
;; bbWeight=0.50 PerfScore 0.12
;; bbWeight=0.50 PerfScore 0.12
G_M61772_IG04: ;; offset=001DH
G_M61772_IG04: ;; offset=001AH
4883C430 add rsp, 48
4883C430 add rsp, 48
5E pop rsi
5E pop rsi
C3 ret
C3 ret
;; bbWeight=0.50 PerfScore 0.88
;; bbWeight=0.50 PerfScore 0.88
G_M61772_IG05: ;; offset=0023H
G_M61772_IG05: ;; offset=0020H
488B742428 mov rsi, qword ptr [rsp+28H]
488D542428 lea rdx, [rsp+28H]
488D542428 lea rdx, [rsp+28H]
E800000000 call System.Runtime.RuntimeImports:RhGetModuleFileName(long,byref):int
E800000000 call System.Runtime.RuntimeImports:RhGetModuleFileName(long,byref):int
448BC0 mov r8d, eax
448BC0 mov r8d, eax
488B4C2428 mov rcx, qword ptr [rsp+28H]
488BCE mov rcx, rsi
33D2 xor edx, edx
33D2 xor edx, edx
E800000000 call System.String:.ctor(long,int,int):this
E800000000 call System.String:.ctor(long,int,int):this
90 nop
90 nop
;; bbWeight=0.50 PerfScore 2.12
;; bbWeight=0.50 PerfScore 2.25
G_M61772_IG06: ;; offset=003DH
G_M61772_IG06: ;; offset=003DH
4883C430 add rsp, 48
4883C430 add rsp, 48
5E pop rsi
5E pop rsi
C3 ret
C3 ret
;; bbWeight=0.50 PerfScore 0.88
;; bbWeight=0.50 PerfScore 0.88
; Total bytes of code 67, prolog size 5, PerfScore 17.70, instruction count 23, allocated bytes for code 67 (MethodHash=11dd0eb3) for method Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
; Total bytes of code 67, prolog size 5, PerfScore 17.58, instruction count 23, allocated bytes for code 67 (MethodHash=11dd0eb3) for method Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
; ============================================================
; ============================================================