Untitled Diff
485 lines
C:\prj\runtime\artifacts\tests\coreclr\windows.x64.Checked\nativeaot\SmokeTests\Exceptions\Exceptions\native>xcopy /s C:\Users\bogat\source\repos\ConsoleApp13\ConsoleApp4\bin\Release\net6.0\win-x64\Exceptions.dll C:\prj\runtime\artifacts\tests\coreclr\windows.x64.Checked\nativeaot\SmokeTests\Exceptions\Exceptions\ /Y
C:\prj\runtime\artifacts\tests\coreclr\windows.x64.Checked\nativeaot\SmokeTests\Exceptions\Exceptions\native>xcopy /s C:\Users\bogat\source\repos\ConsoleApp13\ConsoleApp4\bin\Release\net6.0\win-x64\Exceptions.dll C:\prj\runtime\artifacts\tests\coreclr\windows.x64.Checked\nativeaot\SmokeTests\Exceptions\Exceptions\ /Y
C:\Users\bogat\source\repos\ConsoleApp13\ConsoleApp4\bin\Release\net6.0\win-x64\Exceptions.dll
C:\Users\bogat\source\repos\ConsoleApp13\ConsoleApp4\bin\Release\net6.0\win-x64\Exceptions.dll
C:\Users\bogat\source\repos\ConsoleApp13\ConsoleApp4\bin\Release\net6.0\win-x64\Disasmo-v4.0.8\Exceptions.dll
C:\Users\bogat\source\repos\ConsoleApp13\ConsoleApp4\bin\Release\net6.0\win-x64\Disasmo-v4.0.8\Exceptions.dll
C:\Users\bogat\source\repos\ConsoleApp13\ConsoleApp4\bin\Release\net6.0\win-x64\ref\Exceptions.dll
C:\Users\bogat\source\repos\ConsoleApp13\ConsoleApp4\bin\Release\net6.0\win-x64\ref\Exceptions.dll
3 File(s) copied
3 File(s) copied
C:\prj\runtime\artifacts\tests\coreclr\windows.x64.Checked\nativeaot\SmokeTests\Exceptions\Exceptions\native>C:\prj\runtime\artifacts\bin\coreclr\windows.x64.Checked\ilc\net6.0\ilc.exe @"C:\prj\runtime\artifacts\tests\coreclr\windows.x64.Checked\nativeaot\SmokeTests\Exceptions\Exceptions\native\Exceptions.ilc.rsp" --codegenopt NgenDump=TryGetFullPathToApplicationModule --codegenopt JitDiffableDasm=0
C:\prj\runtime\artifacts\tests\coreclr\windows.x64.Checked\nativeaot\SmokeTests\Exceptions\Exceptions\native>C:\prj\runtime\artifacts\bin\coreclr\windows.x64.Checked\ilc\net6.0\ilc.exe @"C:\prj\runtime\artifacts\tests\coreclr\windows.x64.Checked\nativeaot\SmokeTests\Exceptions\Exceptions\native\Exceptions.ilc.rsp" --codegenopt NgenDump=TryGetFullPathToApplicationModule --codegenopt JitDiffableDasm=0
****** START compiling Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String (MethodHash=11dd0eb3)
****** START compiling Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String (MethodHash=11dd0eb3)
Generating code for Windows x64
Generating code for Windows x64
OPTIONS: compCodeOpt = BLENDED_CODE
OPTIONS: compCodeOpt = BLENDED_CODE
OPTIONS: compDbgCode = false
OPTIONS: compDbgCode = false
OPTIONS: compDbgInfo = true
OPTIONS: compDbgInfo = true
OPTIONS: compDbgEnC = false
OPTIONS: compDbgEnC = false
OPTIONS: compProcedureSplitting = false
OPTIONS: compProcedureSplitting = false
OPTIONS: compProcedureSplittingEH = false
OPTIONS: compProcedureSplittingEH = false
OPTIONS: Jit invoked for ngen
OPTIONS: Jit invoked for ngen
IL to import:
IL to import:
IL_0000 03 ldarg.1
IL_0000 03 ldarg.1
IL_0001 02 ldarg.0
IL_0001 02 ldarg.0
IL_0002 28 47 42 00 06 call 0x6004247
IL_0002 28 47 42 00 06 call 0x6004247
IL_0007 df stind.i
IL_0007 df stind.i
IL_0008 03 ldarg.1
IL_0008 03 ldarg.1
IL_0009 4d ldind.i
IL_0009 4d ldind.i
IL_000a 7e b8 02 00 04 ldsfld 0x40002B8
IL_000a 7e b8 02 00 04 ldsfld 0x40002B8
IL_000f 28 0c 10 00 06 call 0x600100C
IL_000f 28 0c 10 00 06 call 0x600100C
IL_0014 2c 02 brfalse.s 2 (IL_0018)
IL_0014 2c 02 brfalse.s 2 (IL_0018)
IL_0016 14 ldnull
IL_0016 14 ldnull
IL_0017 2a ret
IL_0017 2a ret
IL_0018 03 ldarg.1
IL_0018 03 ldarg.1
IL_0019 4d ldind.i
IL_0019 4d ldind.i
IL_001a 12 00 ldloca.s 0x0
IL_001a 12 00 ldloca.s 0x0
IL_001c 28 52 42 00 06 call 0x6004252
IL_001c 28 52 42 00 06 call 0x6004252
IL_0021 0b stloc.1
IL_0021 0b stloc.1
IL_0022 06 ldloc.0
IL_0022 06 ldloc.0
IL_0023 16 ldc.i4.0
IL_0023 16 ldc.i4.0
IL_0024 07 ldloc.1
IL_0024 07 ldloc.1
IL_0025 73 90 02 00 06 newobj 0x6000290
IL_0025 73 90 02 00 06 newobj 0x6000290
IL_002a 0c stloc.2
IL_002a 0c stloc.2
IL_002b 08 ldloc.2
IL_002b 08 ldloc.2
IL_002c 2a ret
IL_002c 2a ret
Arg #0 passed in register(s) rcx
Arg #0 passed in register(s) rcx
Arg #1 passed in register(s) rdx
Arg #1 passed in register(s) rdx
lvaSetClass: setting class for V04 to (40000000004200C0) System.String
lvaSetClass: setting class for V04 to (4000000000420888) System.String
lvaGrabTemp returning 5 (V05 tmp0) (a long lifetime temp) called for OutgoingArgSpace.
lvaGrabTemp returning 5 (V05 tmp0) (a long lifetime temp) called for OutgoingArgSpace.
; Initial local variable assignments
; Initial local variable assignments
;
;
; V00 arg0 long
; V00 arg0 long
; V01 arg1 byref
; V01 arg1 byref
; V02 loc0 long
; V02 loc0 long
; V03 loc1 int
; V03 loc1 int
; V04 loc2 ref class-hnd
; V04 loc2 ref class-hnd
; V05 OutArgs lclBlk <na> "OutgoingArgSpace"
; V05 OutArgs lclBlk <na> "OutgoingArgSpace"
*************** In compInitDebuggingInfo() for Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
*************** In compInitDebuggingInfo() for Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
getVars() returned cVars = 0, extendOthers = true
getVars() returned cVars = 0, extendOthers = true
info.compVarScopesCount = 5
info.compVarScopesCount = 5
VarNum LVNum Name Beg End
VarNum LVNum Name Beg End
0: 00h 00h V00 arg0 000h 02Dh
0: 00h 00h V00 arg0 000h 02Dh
1: 01h 01h V01 arg1 000h 02Dh
1: 01h 01h V01 arg1 000h 02Dh
2: 02h 02h V02 loc0 000h 02Dh
2: 02h 02h V02 loc0 000h 02Dh
3: 03h 03h V03 loc1 000h 02Dh
3: 03h 03h V03 loc1 000h 02Dh
4: 04h 04h V04 loc2 000h 02Dh
4: 04h 04h V04 loc2 000h 02Dh
info.compStmtOffsetsCount = 0
info.compStmtOffsetsCount = 0
info.compStmtOffsetsImplicit = 0007h ( STACK_EMPTY NOP CALL_SITE )
info.compStmtOffsetsImplicit = 0007h ( STACK_EMPTY NOP CALL_SITE )
*************** In fgFindBasicBlocks() for Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
*************** In fgFindBasicBlocks() for Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
weight= 16 : state 4 [ ldarg.1 ]
weight= 16 : state 4 [ ldarg.1 ]
weight= 10 : state 3 [ ldarg.0 ]
weight= 10 : state 3 [ ldarg.0 ]
weight= 79 : state 40 [ call ]
weight= 79 : state 40 [ call ]
weight=182 : state 164 [ stind.i ]
weight=182 : state 164 [ stind.i ]
weight= 16 : state 4 [ ldarg.1 ]
weight= 16 : state 4 [ ldarg.1 ]
weight=-110 : state 65 [ ldind.i ]
weight=-110 : state 65 [ ldind.i ]
weight=159 : state 112 [ ldsfld ]
weight=159 : state 112 [ ldsfld ]
weight= 79 : state 40 [ call ]
weight= 79 : state 40 [ call ]
weight= 27 : state 44 [ brfalse.s ]
weight= 27 : state 44 [ brfalse.s ]
weight= 7 : state 21 [ ldnull ]
weight= 7 : state 21 [ ldnull ]
weight= 19 : state 42 [ ret ]
weight= 19 : state 42 [ ret ]
weight= 16 : state 4 [ ldarg.1 ]
weight= 16 : state 4 [ ldarg.1 ]
weight=-110 : state 65 [ ldind.i ]
weight=-110 : state 65 [ ldind.i ]
weight= 61 : state 19 [ ldloca.s ]
weight= 61 : state 19 [ ldloca.s ]
weight= 79 : state 40 [ call ]
weight= 79 : state 40 [ call ]
weight= 34 : state 12 [ stloc.1 ]
weight= 34 : state 12 [ stloc.1 ]
weight= 12 : state 7 [ ldloc.0 ]
weight= 12 : state 7 [ ldloc.0 ]
weight= 15 : state 23 [ ldc.i4.0 ]
weight= 15 : state 23 [ ldc.i4.0 ]
weight= 9 : state 8 [ ldloc.1 ]
weight= 9 : state 8 [ ldloc.1 ]
weight=227 : state 103 [ newobj ]
weight=227 : state 103 [ newobj ]
weight=-10 : state 201 [ stloc.2 -> ldloc.2 ]
weight=-10 : state 201 [ stloc.2 -> ldloc.2 ]
weight= 19 : state 42 [ ret ]
weight= 19 : state 42 [ ret ]
Marked V03 as a single def local
Marked V03 as a single def local
Marked V04 as a single def local
Marked V04 as a single def local
Jump targets:
Jump targets:
IL_0018
IL_0018
New Basic Block BB01 [0000] created.
New Basic Block BB01 [0000] created.
BB01 [000..016)
BB01 [000..016)
New Basic Block BB02 [0001] created.
New Basic Block BB02 [0001] created.
BB02 [016..018)
BB02 [016..018)
New Basic Block BB03 [0002] created.
New Basic Block BB03 [0002] created.
BB03 [018..02D)
BB03 [018..02D)
Inline candidate callsite is hot. Multiplier increased to 3.
Inline candidate callsite is hot. Multiplier increased to 3.
Callsite has profile data: 1. Multiplier limited to 12.6.
Callsite has profile data: 1. Multiplier limited to 12.6.
calleeNativeSizeEstimate=836
calleeNativeSizeEstimate=836
callsiteNativeSizeEstimate=115
callsiteNativeSizeEstimate=115
benefit multiplier=12.6
benefit multiplier=12.6
threshold=1449
threshold=1449
Native estimate for function size is within threshold for inlining 83.6 <= 144.9 (multiplier = 12.6)
Native estimate for function size is within threshold for inlining 83.6 <= 144.9 (multiplier = 12.6)
IL Code Size,Instr 45, 23, Basic Block count 3, Local Variable Num,Ref count 6, 10 for method Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
IL Code Size,Instr 45, 23, Basic Block count 3, Local Variable Num,Ref count 6, 10 for method Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
OPTIONS: opts.MinOpts() == false
OPTIONS: opts.MinOpts() == false
Basic block list for 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String'
Basic block list for 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String'
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..016)-> BB03 ( cond )
BB01 [0000] 1 1 [000..016)-> BB03 ( cond )
BB02 [0001] 1 1 [016..018) (return)
BB02 [0001] 1 1 [016..018) (return)
BB03 [0002] 1 1 [018..02D) (return)
BB03 [0002] 1 1 [018..02D) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Starting PHASE Pre-import
*************** Starting PHASE Pre-import
*************** Finishing PHASE Pre-import
*************** Finishing PHASE Pre-import
*************** Starting PHASE Profile incorporation
*************** Starting PHASE Profile incorporation
BBOPT not set
BBOPT not set
*************** Finishing PHASE Profile incorporation [no changes]
*************** Finishing PHASE Profile incorporation [no changes]
*************** Starting PHASE Importation
*************** Starting PHASE Importation
*************** In impImport() for Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
*************** In impImport() for Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String
impImportBlockPending for BB01
impImportBlockPending for BB01
Importing BB01 (PC=000) of 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String'
Importing BB01 (PC=000) of 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String'
[ 0] 0 (0x000) ldarg.1
[ 0] 0 (0x000) ldarg.1
[ 1] 1 (0x001) ldarg.0
[ 1] 1 (0x001) ldarg.0
[ 2] 2 (0x002) call 06004247
[ 2] 2 (0x002) call 06004247
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'cannot get method info' for 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String' calling 'System.Runtime.RuntimeImports:RhGetOSModuleFromPointer(long):long'
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'cannot get method info' for 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String' calling 'System.Runtime.RuntimeImports:RhGetOSModuleFromPointer(long):long'
INLINER: Marking System.Runtime.RuntimeImports:RhGetOSModuleFromPointer(long):long as NOINLINE because of cannot get method info
INLINER: Marking System.Runtime.RuntimeImports:RhGetOSModuleFromPointer(long):long as NOINLINE because of cannot get method info
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'cannot get method info'
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'cannot get method info'
[ 2] 7 (0x007) stind.i
[ 2] 7 (0x007) stind.i
STMT00000 ( 0x000[E-] ... ??? )
STMT00000 ( 0x000[E-] ... ??? )
[000004] -ACXG------- * ASG long
[000004] -ACXG------- * ASG long
[000003] *------N---- +--* IND long
[000003] *------N---- +--* IND long
[000000] ------------ | \--* LCL_VAR byref V01 arg1
[000000] ------------ | \--* LCL_VAR byref V01 arg1
[000002] --C-G------- \--* CALL long System.Runtime.RuntimeImports.RhGetOSModuleFromPointer
[000002] --C-G------- \--* CALL long System.Runtime.RuntimeImports.RhGetOSModuleFromPointer
[000001] ------------ arg0 \--* LCL_VAR long V00 arg0
[000001] ------------ arg0 \--* LCL_VAR long V00 arg0
[ 0] 8 (0x008) ldarg.1
[ 0] 8 (0x008) ldarg.1
[ 1] 9 (0x009) ldind.i
[ 1] 9 (0x009) ldind.i
[ 1] 10 (0x00a) ldsfld 040002B8
[ 1] 10 (0x00a) ldsfld 040002B8
[ 2] 15 (0x00f) call 0600100C
[ 2] 15 (0x00f) call 0600100C
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0
STMT00001 ( 0x008[E-] ... ??? )
STMT00001 ( 0x008[E-] ... ??? )
[000008] I-CXG------- * CALL int System.IntPtr.op_Equality (exactContextHnd=0x40000000004200A9)
[000008] I-CXG------- * CALL int System.IntPtr.op_Equality (exactContextHnd=0x40000000004206D1)
[000006] *--XG------- arg0 +--* IND long
[000006] *--XG------- arg0 +--* IND long
[000005] ------------ | \--* LCL_VAR byref V01 arg1
[000005] ------------ | \--* LCL_VAR byref V01 arg1
[000007] ------------ arg1 \--* CNS_INT long 0
[000007] ------------ arg1 \--* CNS_INT long 0
[ 1] 20 (0x014) brfalse.s
[ 1] 20 (0x014) brfalse.s
STMT00002 ( 0x008[E-] ... ??? )
STMT00002 ( 0x008[E-] ... ??? )
[000013] --C--------- * JTRUE void
[000013] --C--------- * JTRUE void
[000012] --C--------- \--* EQ int
[000012] --C--------- \--* EQ int
[000010] --C--------- +--* CAST int <- bool <- int
[000010] --C--------- +--* CAST int <- bool <- int
[000009] --C--------- | \--* RET_EXPR int (inl return expr [000008])
[000009] --C--------- | \--* RET_EXPR int (inl return expr [000008])
[000011] ------------ \--* CNS_INT int 0
[000011] ------------ \--* CNS_INT int 0
impImportBlockPending for BB02
impImportBlockPending for BB02
impImportBlockPending for BB03
impImportBlockPending for BB03
Importing BB03 (PC=024) of 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String'
Importing BB03 (PC=024) of 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String'
[ 0] 24 (0x018) ldarg.1
[ 0] 24 (0x018) ldarg.1
[ 1] 25 (0x019) ldind.i
[ 1] 25 (0x019) ldind.i
[ 1] 26 (0x01a) ldloca.s 0
[ 1] 26 (0x01a) ldloca.s 0
[ 2] 28 (0x01c) call 06004252
[ 2] 28 (0x01c) call 06004252
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'cannot get method info' for 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String' calling 'System.Runtime.RuntimeImports:RhGetModuleFileName(long,byref):int'
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'cannot get method info' for 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String' calling 'System.Runtime.RuntimeImports:RhGetModuleFileName(long,byref):int'
INLINER: Marking System.Runtime.RuntimeImports:RhGetModuleFileName(long,byref):int as NOINLINE because of cannot get method info
INLINER: Marking System.Runtime.RuntimeImports:RhGetModuleFileName(long,byref):int as NOINLINE because of cannot get method info
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'cannot get method info'
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'cannot get method info'
[ 1] 33 (0x021) stloc.1
[ 1] 33 (0x021) stloc.1
STMT00003 ( 0x018[E-] ... ??? )
STMT00003 ( 0x018[E-] ... ??? )
[000020] -ACXG------- * ASG int
[000020] -ACXG------- * ASG int
[000019] D------N---- +--* LCL_VAR int V03 loc1
[000019] D------N---- +--* LCL_VAR int V03 loc1
[000018] --CXG------- \--* CALL int System.Runtime.RuntimeImports.RhGetModuleFileName
[000018] --CXG------- \--* CALL int System.Runtime.RuntimeImports.RhGetModuleFileName
[000015] *--XG------- arg0 +--* IND long
[000015] *--XG------- arg0 +--* IND long
[000014] ------------ | \--* LCL_VAR byref V01 arg1
[000014] ------------ | \--* LCL_VAR byref V01 arg1
[000017] ------------ arg1 \--* ADDR byref
[000017] ------------ arg1 \--* ADDR byref
[000016] -------N---- \--* LCL_VAR long V02 loc0
[000016] -------N---- \--* LCL_VAR long V02 loc0
[ 0] 34 (0x022) ldloc.0
[ 0] 34 (0x022) ldloc.0
[ 1] 35 (0x023) ldc.i4.0 0
[ 1] 35 (0x023) ldc.i4.0 0
[ 2] 36 (0x024) ldloc.1
[ 2] 36 (0x024) ldloc.1
[ 3] 37 (0x025) newobj 06000290
[ 3] 37 (0x025) newobj 06000290
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0
In Compiler::impImportCall: opcode is newobj, kind=0, callRetType is void, structSize is 0
[ 1] 42 (0x02a) stloc.2
[ 1] 42 (0x02a) stloc.2
lvaUpdateClass: Updating class for V04 from (40000000004200C0) System.String to (40000000004200C0) System.String [exact]
lvaUpdateClass: Updating class for V04 from (4000000000420888) System.String to (4000000000420888) System.String [exact]
STMT00004 ( 0x022[E-] ... ??? )
STMT00004 ( 0x022[E-] ... ??? )
[000026] -AC-G------- * ASG ref
[000026] -AC-G------- * ASG ref
[000025] D------N---- +--* LCL_VAR ref V04 loc2
[000025] D------N---- +--* LCL_VAR ref V04 loc2
[000024] --C-G------- \--* CALL ref System.String..ctor
[000024] --C-G------- \--* CALL ref System.String..ctor
[000021] ------------ arg0 +--* LCL_VAR long V02 loc0
[000021] ------------ arg0 +--* LCL_VAR long V02 loc0
[000022] ------------ arg1 +--* CNS_INT int 0
[000022] ------------ arg1 +--* CNS_INT int 0
[000023] ------------ arg2 \--* LCL_VAR int V03 loc1
[000023] ------------ arg2 \--* LCL_VAR int V03 loc1
[ 0] 43 (0x02b) ldloc.2
[ 0] 43 (0x02b) ldloc.2
[ 1] 44 (0x02c) ret
[ 1] 44 (0x02c) ret
STMT00005 ( 0x02B[E-] ... ??? )
STMT00005 ( 0x02B[E-] ... ??? )
[000028] ------------ * RETURN ref
[000028] ------------ * RETURN ref
[000027] ------------ \--* LCL_VAR ref V04 loc2
[000027] ------------ \--* LCL_VAR ref V04 loc2
Importing BB02 (PC=022) of 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String'
Importing BB02 (PC=022) of 'Internal.Runtime.Augments.RuntimeAugments:TryGetFullPathToApplicationModule(long,byref):System.String'
[ 0] 22 (0x016) ldnull
[ 0] 22 (0x016) ldnull
[ 1] 23 (0x017) ret
[ 1] 23 (0x017) ret
STMT00006 ( 0x016[E-] ... ??? )
STMT00006 ( 0x016[E-] ... ??? )
[000030] ------------ * RETURN ref
[000030] ------------ * RETURN ref
[000029] ------------ \--* CNS_INT ref null
[000029] ------------ \--* CNS_INT ref null
*************** Finishing PHASE Importation
*************** Finishing PHASE Importation
Trees after Importation
Trees after Importation
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..016)-> BB03 ( cond ) i
BB01 [0000] 1 1 [000..016)-> BB03 ( cond ) i
BB02 [0001] 1 1 [016..018) (return) i
BB02 [0001] 1 1 [016..018) (return) i
BB03 [0002] 1 1 [018..02D) (return) i newobj
BB03 [0002] 1 1 [018..02D) (return) i newobj
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [000..016) -> BB03 (cond), preds={} succs={BB02,BB03}
------------ BB01 [000..016) -> BB03 (cond), preds={} succs={BB02,BB03}
***** BB01
***** BB01
STMT00000 ( 0x000[E-] ... 0x007 )
STMT00000 ( 0x000[E-] ... 0x007 )
[000004] -ACXG------- * ASG long
[000004] -ACXG------- * ASG long
[000003] *------N---- +--* IND long
[000003] *------N---- +--* IND long
[000000] ------------ | \--* LCL_VAR byref V01 arg1
[000000] ------------ | \--* LCL_VAR byref V01 arg1
[000002] --C-G------- \--* CALL long System.Runtime.RuntimeImports.RhGetOSModuleFromPointer
[000002] --C-G------- \--* CALL long System.Runtime.RuntimeImports.RhGetOSModuleFromPointer
[000001] ------------ arg0 \--* LCL_VAR long V00 arg0
[000001] ------------ arg0 \--* LCL_VAR long V00 arg0
***** BB01
***** BB01
STMT00001 ( 0x008[E-] ... 0x014 )
STMT00001 ( 0x008[E-] ... 0x014 )
[000008] I-CXG------- * CALL int System.IntPtr.op_Equality (exactContextHnd=0x40000000004200A9)
[000008] I-CXG------- * CALL int System.IntPtr.op_Equality (exactContextHnd=0x40000000004206D1)
[000006] *--XG------- arg0 +--* IND long
[000006] *--XG------- arg0 +--* IND long
[000005] ------------ | \--* LCL_VAR byref V01 arg1
[000005] ------------ | \--* LCL_VAR byref V01 arg1
[000007] ------------ arg1 \--* CNS_INT long 0
[000007] ------------ arg1 \--* CNS_INT long 0
***** BB01
***** BB01
STMT00002 ( 0x008[E-] ... ??? )
STMT00002 ( 0x008[E-] ... ??? )
[000013] --C--------- * JTRUE void
[000013] --C--------- * JTRUE void
[000012] --C--------- \--* EQ int
[000012] --C--------- \--* EQ int
[000010] --C--------- +--* CAST int <- bool <- int
[000010] --C--------- +--* CAST int <- bool <- int
[000009] --C--------- | \--* RET_EXPR int (inl return expr [000008])
[000009] --C--------- | \--* RET_EXPR int (inl return expr [000008])
[000011] ------------ \--* CNS_INT int 0
[000011] ------------ \--* CNS_INT int 0
------------ BB02 [016..018) (return), preds={} succs={}
------------ BB02 [016..018) (return), preds={} succs={}
***** BB02
***** BB02
STMT00006 ( 0x016[E-] ... 0x017 )
STMT00006 ( 0x016[E-] ... 0x017 )
[000030] ------------ * RETURN ref
[000030] ------------ * RETURN ref
[000029] ------------ \--* CNS_INT ref null
[000029] ------------ \--* CNS_INT ref null
------------ BB03 [018..02D) (return), preds={} succs={}
------------ BB03 [018..02D) (return), preds={} succs={}
***** BB03
***** BB03
STMT00003 ( 0x018[E-] ... 0x021 )
STMT00003 ( 0x018[E-] ... 0x021 )
[000020] -ACXG------- * ASG int
[000020] -ACXG------- * ASG int
[000019] D------N---- +--* LCL_VAR int V03 loc1
[000019] D------N---- +--* LCL_VAR int V03 loc1
[000018] --CXG------- \--* CALL int System.Runtime.RuntimeImports.RhGetModuleFileName
[000018] --CXG------- \--* CALL int System.Runtime.RuntimeImports.RhGetModuleFileName
[000015] *--XG------- arg0 +--* IND long
[000015] *--XG------- arg0 +--* IND long
[000014] ------------ | \--* LCL_VAR byref V01 arg1
[000014] ------------ | \--* LCL_VAR byref V01 arg1
[000017] ------------ arg1 \--* ADDR byref
[000017] ------------ arg1 \--* ADDR byref
[000016] -------N---- \--* LCL_VAR long V02 loc0
[000016] -------N---- \--* LCL_VAR long V02 loc0
***** BB03
***** BB03
STMT00004 ( 0x022[E-] ... 0x02A )
STMT00004 ( 0x022[E-] ... 0x02A )
[000026] -AC-G------- * ASG ref
[000026] -AC-G------- * ASG ref
[000025] D------N---- +--* LCL_VAR ref V04 loc2
[000025] D------N---- +--* LCL_VAR ref V04 loc2
[000024] --C-G------- \--* CALL ref System.String..ctor
[000024] --C-G------- \--* CALL ref System.String..ctor
[000021] ------------ arg0 +--* LCL_VAR long V02 loc0
[000021] ------------ arg0 +--* LCL_VAR long V02 loc0
[000022] ------------ arg1 +--* CNS_INT int 0
[000022] ------------ arg1 +--* CNS_INT int 0
[000023] ------------ arg2 \--* LCL_VAR int V03 loc1
[000023] ------------ arg2 \--* LCL_VAR int V03 loc1
***** BB03
***** BB03
STMT00005 ( 0x02B[E-] ... 0x02C )
STMT00005 ( 0x02B[E-] ... 0x02C )
[000028] ------------ * RETURN ref
[000028] ------------ * RETURN ref
[000027] ------------ \--* LCL_VAR ref V04 loc2
[000027] ------------ \--* LCL_VAR ref V04 loc2
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
*************** Starting PHASE Expand patchpoints
*************** Starting PHASE Expand patchpoints
-- no patchpoints to transform
-- no patchpoints to transform
*************** Finishing PHASE Expand patchpoints [no changes]
*************** Finishing PHASE Expand patchpoints [no changes]
*************** Starting PHASE Indirect call transform
*************** Starting PHASE Indirect call transform
-- no candidates to transform
-- no candidates to transform
*************** Finishing PHASE Indirect call transform [no changes]
*************** Finishing PHASE Indirect call transform [no changes]
*************** Starting PHASE Post-import
*************** Starting PHASE Post-import
*************** Finishing PHASE Post-import
*************** Finishing PHASE Post-import
*************** Starting PHASE Morph - Init
*************** Starting PHASE Morph - Init
New BlockSet epoch 1, # of blocks (including unused BB00): 4, bitset array size: 1 (short)
New BlockSet epoch 1, # of blocks (including unused BB00): 4, bitset array size: 1 (short)
*************** In fgPostImportationCleanup
*************** In fgPostImportationCleanup
*************** Finishing PHASE Morph - Init
*************** Finishing PHASE Morph - Init
*************** In fgDebugCheckBBlist
*************** In fgDebugCheckBBlist
*************** Starting PHASE Morph - Inlining
*************** Starting PHASE Morph - Inlining
Expanding INLINE_CANDIDATE in statement STMT00001 in BB01:
Expanding INLINE_CANDIDATE in statement STMT00001 in BB01:
STMT00001 ( 0x008[E-] ... 0x014 )
STMT00001 ( 0x008[E-] ... 0x014 )
[000008] I-CXG------- * CALL int System.IntPtr.op_Equality (exactContextHnd=0x40000000004200A9)
[000008] I-CXG------- * CALL int System.IntPtr.op_Equality (exactContextHnd=0x40000000004206D1)
[000006] *--XG------- arg0 +--* IND long
[000006] *--XG------- arg0 +--* IND long
[000005] ------------ | \--* LCL_VAR byref V01 arg1
[000005] ------------ | \--* LCL_VAR byref V01 arg1
[000007] ------------ arg1 \--* CNS_INT long 0
[000007] ------------ arg1 \--* CNS_INT long 0
Argument #0: has global refs has side effects
Argument #0: has global refs has side effects
[000006] *--XG------- * IND long
[000006] *--XG------- * IND long
[000005] ------------ \--* LCL_VAR byref V01 arg1
[000005] ------------ \--* LCL_VAR byref V01 arg1
Argument #1: is a constant
Argument #1: is a constant
[000007] ------------ * CNS_INT long 0
[000007] ------------ * CNS_INT long 0
INLINER: inlineInfo.tokenLookupContextHandle for System.IntPtr:op_Equality(long,long):bool set to 0x40000000004200A9:
INLINER: inlineInfo.tokenLookupContextHandle for System.IntPtr:op_Equality(long,long):bool set to 0x40000000004206D1:
Invoking compiler for the inlinee method System.IntPtr:op_Equality(long,long):bool :
Invoking compiler for the inlinee method System.IntPtr:op_Equality(long,long):bool :
IL to import:
IL to import:
IL_0000 0f 00 ldarga.s 0x0
IL_0000 0f 00 ldarga.s 0x0
IL_0002 7b b7 02 00 04 ldfld 0x40002B7
IL_0002 7b b7 02 00 04 ldfld 0x40002B7
IL_0007 0f 01 ldarga.s 0x1
IL_0007 0f 01 ldarga.s 0x1
IL_0009 7b b7 02 00 04 ldfld 0x40002B7
IL_0009 7b b7 02 00 04 ldfld 0x40002B7
IL_000e fe 01 ceq
IL_000e fe 01 ceq
IL_0010 2a ret
IL_0010 2a ret
INLINER impTokenLookupContextHandle for System.IntPtr:op_Equality(long,long):bool is 0x40000000004200A9.
INLINER impTokenLookupContextHandle for System.IntPtr:op_Equality(long,long):bool is 0x40000000004206D1.
*************** In compInitDebuggingInfo() for System.IntPtr:op_Equality(long,long):bool
*************** In compInitDebuggingInfo() for System.IntPtr:op_Equality(long,long):bool
info.compStmtOffsetsCount = 0
info.compStmtOffsetsCount = 0
info.compStmtOffsetsImplicit = 0007h ( STACK_EMPTY NOP CALL_SITE )
info.compStmtOffsetsImplicit = 0007h ( STACK_EMPTY NOP CALL_SITE )
*************** In fgFindBasicBlocks() for System.IntPtr:op_Equality(long,long):bool
*************** In fgFindBasicBlocks() for System.IntPtr:op_Equality(long,long):bool
weight= 19 : state 197 [ ldarga.s.normed -> ldfld ]
weight= 19 : state 197 [ ldarga.s.normed -> ldfld ]
weight= 19 : state 197 [ ldarga.s.normed -> ldfld ]
weight= 19 : state 197 [ ldarga.s.normed -> ldfld ]
weight= 20 : state 168 [ ceq ]
weight= 20 : state 168 [ ceq ]
weight= 19 : state 42 [ ret ]
weight= 19 : state 42 [ ret ]
multiplier in methods of promotable struct increased to 3.
multiplier in methods of promotable struct increased to 3.
Inline candidate is mostly loads and stores. Multiplier increased to 6.
Inline candidate is mostly loads and stores. Multiplier increased to 6.
Inline candidate has const arg that feeds a conditional. Multiplier increased to 9.
Inline candidate has const arg that feeds a conditional. Multiplier increased to 9.
Inline candidate callsite is boring. Multiplier increased to 10.3.
Inline candidate callsite is boring. Multiplier increased to 10.3.
calleeNativeSizeEstimate=77
calleeNativeSizeEstimate=77
callsiteNativeSizeEstimate=115
callsiteNativeSizeEstimate=115
benefit multiplier=10.3
benefit multiplier=10.3
threshold=1184
threshold=1184
Native estimate for function size is within threshold for inlining 7.7 <= 118.4 (multiplier = 10.3)
Native estimate for function size is within threshold for inlining 7.7 <= 118.4 (multiplier = 10.3)
Jump targets:
Jump targets:
none
none
New Basic Block BB04 [0003] created.
New Basic Block BB04 [0003] created.
BB04 [000..011)
BB04 [000..011)
Basic block list for 'System.IntPtr:op_Equality(long,long):bool'
Basic block list for 'System.IntPtr:op_Equality(long,long):bool'
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
BB04 [0003] 1 1 [000..011) (return)
BB04 [0003] 1 1 [000..011) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000008] Starting PHASE Pre-import
*************** Inline @[000008] Starting PHASE Pre-import
*************** Inline @[000008] Finishing PHASE Pre-import
*************** Inline @[000008] Finishing PHASE Pre-import
*************** Inline @[000008] Starting PHASE Profile incorporation
*************** Inline @[000008] Starting PHASE Profile incorporation
BBOPT not set
BBOPT not set
Computing inlinee profile scale:
Computing inlinee profile scale:
... no callee profile data, will use non-pgo weight to scale
... no callee profile data, will use non-pgo weight to scale
... call site not profiled, will use non-pgo weight to scale
... call site not profiled, will use non-pgo weight to scale
call site count 100 callee entry count 100 scale 1
call site count 100 callee entry count 100 scale 1
Scaling inlinee blocks
Scaling inlinee blocks
*************** Inline @[000008] Finishing PHASE Profile incorporation
*************** Inline @[000008] Finishing PHASE Profile incorporation
Trees after Profile incorporation
Trees after Profile incorporation
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
BB04 [0003] 1 1 [000..011) (return)
BB04 [0003] 1 1 [000..011) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB04 [000..011) (return), preds={} succs={}
------------ BB04 [000..011) (return), preds={} succs={}
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
*************** Inline @[000008] Starting PHASE Importation
*************** Inline @[000008] Starting PHASE Importation
*************** In impImport() for System.IntPtr:op_Equality(long,long):bool
*************** In impImport() for System.IntPtr:op_Equality(long,long):bool
impImportBlockPending for BB04
impImportBlockPending for BB04
Importing BB04 (PC=000) of 'System.IntPtr:op_Equality(long,long):bool'
Importing BB04 (PC=000) of 'System.IntPtr:op_Equality(long,long):bool'
[ 0] 0 (0x000) ldarga.s 0
[ 0] 0 (0x000) ldarga.s 0
lvaGrabTemp returning 6 (V06 tmp1) called for Inlining Arg.
lvaGrabTemp returning 6 (V06 tmp1) called for Inlining Arg.
[ 1] 2 (0x002) ldfld 040002B7
[ 1] 2 (0x002) ldfld 040002B7
[ 1] 7 (0x007) ldarga.s 1
[ 1] 7 (0x007) ldarga.s 1
lvaGrabTemp returning 7 (V07 tmp2) called for Inlining Arg.
lvaGrabTemp returning 7 (V07 tmp2) called for Inlining Arg.
[ 2] 9 (0x009) ldfld 040002B7
[ 2] 9 (0x009) ldfld 040002B7
[ 2] 14 (0x00e) ceq
[ 2] 14 (0x00e) ceq
[ 1] 16 (0x010) ret
[ 1] 16 (0x010) ret
Inlinee Return expression (before normalization) =>
Inlinee Return expression (before normalization) =>
[000037] ----G------- * EQ int
[000037] ----G------- * EQ int
[000033] ----G------- +--* FIELD long _value
[000033] ----G------- +--* FIELD long _value
[000032] ------------ | \--* ADDR byref
[000032] ------------ | \--* ADDR byref
[000031] -------N---- | \--* LCL_VAR long V06 tmp1
[000031] -------N---- | \--* LCL_VAR long V06 tmp1
[000036] ----G------- \--* FIELD long _value
[000036] ----G------- \--* FIELD long _value
[000035] ------------ \--* ADDR byref
[000035] ------------ \--* ADDR byref
[000034] -------N---- \--* LCL_VAR long V07 tmp2
[000034] -------N---- \--* LCL_VAR long V07 tmp2
Inlinee Return expression (after normalization) =>
Inlinee Return expression (after normalization) =>
[000037] ----G------- * EQ int
[000037] ----G------- * EQ int
[000033] ----G------- +--* FIELD long _value
[000033] ----G------- +--* FIELD long _value
[000032] ------------ | \--* ADDR byref
[000032] ------------ | \--* ADDR byref
[000031] -------N---- | \--* LCL_VAR long V06 tmp1
[000031] -------N---- | \--* LCL_VAR long V06 tmp1
[000036] ----G------- \--* FIELD long _value
[000036] ----G------- \--* FIELD long _value
[000035] ------------ \--* ADDR byref
[000035] ------------ \--* ADDR byref
[000034] -------N---- \--* LCL_VAR long V07 tmp2
[000034] -------N---- \--* LCL_VAR long V07 tmp2
** Note: inlinee IL was partially imported -- imported 0 of 17 bytes of method IL
** Note: inlinee IL was partially imported -- imported 0 of 17 bytes of method IL
*************** Inline @[000008] Finishing PHASE Importation
*************** Inline @[000008] Finishing PHASE Importation
Trees after Importation
Trees after Importation
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
BB04 [0003] 1 1 [000..011) (return) i
BB04 [0003] 1 1 [000..011) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB04 [000..011) (return), preds={} succs={}
------------ BB04 [000..011) (return), preds={} succs={}
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
*************** Inline @[000008] Starting PHASE Expand patchpoints
*************** Inline @[000008] Starting PHASE Expand patchpoints
-- no patchpoints to transform
-- no patchpoints to transform
*************** Inline @[000008] Finishing PHASE Expand patchpoints [no changes]
*************** Inline @[000008] Finishing PHASE Expand patchpoints [no changes]
*************** Inline @[000008] Starting PHASE Indirect call transform
*************** Inline @[000008] Starting PHASE Indirect call transform
-- no candidates to transform
-- no candidates to transform
*************** Inline @[000008] Finishing PHASE Indirect call transform [no changes]
*************** Inline @[000008] Finishing PHASE Indirect call transform [no changes]
*************** Inline @[000008] Starting PHASE Post-import
*************** Inline @[000008] Starting PHASE Post-import
*************** In fgPostImportationCleanup
*************** In fgPostImportationCleanup
*************** Inline @[000008] Finishing PHASE Post-import
*************** Inline @[000008] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000008] -----------
----------- Statements (and blocks) added due to the inlining of call [000008] -----------
A
A