Skip to content

Instantly share code, notes, and snippets.

@trylek
Created April 13, 2020 16:58
Show Gist options
  • Save trylek/da948b70d718cad10f9ecd1984e3466d to your computer and use it in GitHub Desktop.
Save trylek/da948b70d718cad10f9ecd1984e3466d to your computer and use it in GitHub Desktop.
ReadFile NGenDump from Crossgen2
D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\corerun.exe D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\crossgen2\crossgen2.dll @D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\framework-r2r.dll.rsp
<<<<
****** START compiling Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int (MethodHash=c1f39be0)
Generating code for Windows x64
OPTIONS: compCodeOpt = BLENDED_CODE
OPTIONS: compDbgCode = true
OPTIONS: compDbgInfo = true
OPTIONS: compDbgEnC = false
OPTIONS: compProcedureSplitting = false
OPTIONS: compProcedureSplittingEH = false
OPTIONS: Jit invoked for ngen
IL to import:
IL_0000 02 ldarg.0
IL_0001 12 03 ldloca.s 0x3
IL_0003 28 01 00 00 0a call 0xA000001
IL_0008 02 ldarg.0
IL_0009 28 02 00 00 0a call 0xA000002
IL_000e 0c stloc.2
IL_000f 05 ldarg.3
IL_0010 13 05 stloc.s 0x5
IL_0012 11 05 ldloc.s 0x5
IL_0014 d3 conv.i
IL_0015 13 04 stloc.s 0x4
IL_0017 08 ldloc.2
IL_0018 03 ldarg.1
IL_0019 04 ldarg.2
IL_001a 11 04 ldloc.s 0x4
IL_001c fe 09 04 00 ldarg 0x4
IL_0020 28 04 00 00 0a call 0xA000004
IL_0025 28 05 00 00 0a call 0xA000005
IL_002a 28 06 00 00 0a call 0xA000006
IL_002f 0b stloc.1
IL_0030 07 ldloc.1
IL_0031 0a stloc.0
IL_0032 dd 0d 00 00 00 leave 13 (IL_0044)
IL_0037 09 ldloc.3
IL_0038 39 06 00 00 00 brfalse 6 (IL_0043)
IL_003d 02 ldarg.0
IL_003e 28 03 00 00 0a call 0xA000003
IL_0043 dc endfinally
IL_0044 06 ldloc.0
IL_0045 2a ret
lvaSetClass: setting class for V00 to (0000000000420030) [S.P.CoreLib]System.Runtime.InteropServices.SafeHandle
Arg #0 passed in register(s) rcx
Arg #1 passed in register(s) rdx
Arg #2 passed in register(s) r8
Arg #3 passed in register(s) r9
Setting lvPinned for V10
lvaGrabTemp returning 11 (V11 tmp0) (a long lifetime temp) called for OutgoingArgSpace.
; Initial local variable assignments
;
; V00 arg0 ref class-hnd
; V01 arg1 long
; V02 arg2 int
; V03 arg3 byref
; V04 arg4 long
; V05 loc0 int
; V06 loc1 int
; V07 loc2 long
; V08 loc3 bool
; V09 loc4 long
; V10 loc5 byref pinned
; V11 OutArgs lclBlk <na> "OutgoingArgSpace"
*************** In compInitDebuggingInfo() for Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int
getVars() returned cVars = 0, extendOthers = true
info.compVarScopesCount = 11
VarNum LVNum Name Beg End
0: 00h 00h V00 arg0 000h 046h
1: 01h 01h V01 arg1 000h 046h
2: 02h 02h V02 arg2 000h 046h
3: 03h 03h V03 arg3 000h 046h
4: 04h 04h V04 arg4 000h 046h
5: 05h 05h V05 loc0 000h 046h
6: 06h 06h V06 loc1 000h 046h
7: 07h 07h V07 loc2 000h 046h
8: 08h 08h V08 loc3 000h 046h
9: 09h 09h V09 loc4 000h 046h
10: 0Ah 0Ah V10 loc5 000h 046h
New Basic Block BB01 [0000] created.
New scratch BB01
Debuggable code - Add new BB01 [0000] to perform initialization of variables
info.compStmtOffsetsCount = 0
info.compStmtOffsetsImplicit = 0007h ( STACK_EMPTY NOP CALL_SITE )
*************** In fgFindBasicBlocks() for Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int
Marked V05 as a single def local
Marked V06 as a single def local
Marked V07 as a single def local
Marked V09 as a single def local
Marked V10 as a single def local
Jump targets:
IL_0000
IL_0037
IL_0043
IL_0044
New Basic Block BB02 [0001] created.
BB02 [000..037)
New Basic Block BB03 [0002] created.
BB03 [037..03D)
New Basic Block BB04 [0003] created.
BB04 [03D..043)
New Basic Block BB05 [0004] created.
BB05 [043..044)
New Basic Block BB06 [0005] created.
BB06 [044..046)
EH clause #0:
Flags: 0x2 (finally)
TryOffset: 0x0
TryLength: 0x37
HandlerOffset: 0x37
HandlerLength: 0xd
ClassToken: 0x0
*************** After fgFindBasicBlocks() has created the EH table
*************** Exception Handling table
index eTry, eHnd
0 :: - Try at BB02..BB02 [000..037), Finally at BB03..BB05 [037..044)
*************** In fgNormalizeEH()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal
BB02 [0001] 1 0 1 [000..037)-> BB06 (leave ) T0 try { } keep try label
BB03 [0002] 1 0 1 [037..03D)-> BB05 ( cond ) H0 finally { keep label target
BB04 [0003] 1 0 1 [03D..043) H0
BB05 [0004] 2 0 1 [043..044) (finret) H0 }
BB06 [0005] 1 1 [044..046) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: - Try at BB02..BB02 [000..037), Finally at BB03..BB05 [037..044)
No EH normalization performed.
INLINER: during 'prejit' result 'failed this callee' reason 'has exception handling' for 'n/a' calling 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
INLINER: Marking Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int as NOINLINE because of has exception handling
INLINER: during 'prejit' result 'failed this callee' reason 'has exception handling'
CLFLG_MINOPT set for method Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int
IL Code Size,Instr 70, 30, Basic Block count 6, Local Variable Num,Ref count 12, 19 for method Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int
OPTIONS: opts.MinOpts() == true
Basic block list for 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal
BB02 [0001] 1 0 1 [000..037)-> BB06 (leave ) T0 try { } keep try label
BB03 [0002] 1 0 1 [037..03D)-> BB05 ( cond ) H0 finally { keep label target
BB04 [0003] 1 0 1 [03D..043) H0
BB05 [0004] 2 0 1 [043..044) (finret) H0 }
BB06 [0005] 1 1 [044..046) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
Compiling 0 Kernel32::ReadFile, IL size = 70, hash=0xc1f39be0 MinOpts
*************** Starting PHASE Pre-import
*************** Finishing PHASE Pre-import
*************** Starting PHASE Importation
*************** In impImport() for Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int
Marking leading BBF_INTERNAL block BB01 as BBF_IMPORTED
impImportBlockPending for BB02
impImportBlockPending for BB03
Importing BB02 (PC=000) of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
[ 0] 0 (0x000) ldarg.0
[ 1] 1 (0x001) ldloca.s 3
[ 2] 3 (0x003) call 0A000001
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
STMT00001 (IL 0x000... ???)
[000004] --C-G------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
[000001] ------------ this in rcx +--* LCL_VAR ref V00 arg0
[000003] ------------ arg1 \--* ADDR byref
[000002] ------------ \--* LCL_VAR int V08 loc3
[ 0] 8 (0x008) ldarg.0
[ 1] 9 (0x009) call 0A000002
In Compiler::impImportCall: opcode is call, kind=0, callRetType is long, structSize is 0
lvaGrabTemp returning 12 (V12 tmp1) called for impSpillStackEnsure.
STMT00002 (IL 0x008... ???)
[000008] -AC-G------- * ASG long
[000007] D------N---- +--* LCL_VAR long V12 tmp1
[000006] --C-G------- \--* CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
[000005] ------------ this in rcx \--* LCL_VAR ref V00 arg0
[ 1] 14 (0x00e) stloc.2
STMT00003 (IL 0x00E... ???)
[000011] -A---------- * ASG long
[000010] D------N---- +--* LCL_VAR long V07 loc2
[000009] ------------ \--* LCL_VAR long V12 tmp1
[ 0] 15 (0x00f) ldarg.3
[ 1] 16 (0x010) stloc.s 5
STMT00004 (IL 0x00F... ???)
[000014] -A---------- * ASG byref
[000013] D------N---- +--* LCL_VAR byref V10 loc5
[000012] ------------ \--* LCL_VAR byref V03 arg3
[ 0] 18 (0x012) ldloc.s 5
[ 1] 20 (0x014) conv.i
[ 1] 21 (0x015) stloc.s 4
STMT00005 (IL 0x012... ???)
[000018] -A---------- * ASG long
[000017] D------N---- +--* LCL_VAR long V09 loc4
[000016] ------------ \--* CAST long <- byref
[000015] ------------ \--* LCL_VAR byref V10 loc5
[ 0] 23 (0x017) ldloc.2
[ 1] 24 (0x018) ldarg.1
[ 2] 25 (0x019) ldarg.2
[ 3] 26 (0x01a) ldloc.s 4
[ 4] 28 (0x01c) ldarg 4
[ 5] 32 (0x020) call 0A000004
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
STMT00006 (IL 0x017... ???)
[000024] --C-G------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
[ 5] 37 (0x025) call 0A000005
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0
Inline a CALLI PINVOKE call from method Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int
lvaGrabTemp returning 13 (V13 tmp2) called for impSpillStackEnsure.
STMT00007 (IL 0x025... ???)
[000027] -AC-G------- * ASG int
[000026] D------N---- +--* LCL_VAR int V13 tmp2
[000025] --C-G------- \--* CALL r2r_ind int Kernel32.ReadFile
[000019] ------------ arg0 +--* LCL_VAR long V07 loc2
[000020] ------------ arg1 +--* LCL_VAR long V01 arg1
[000021] ------------ arg2 +--* LCL_VAR int V02 arg2
[000022] ------------ arg3 +--* LCL_VAR long V09 loc4
[000023] ------------ arg4 \--* LCL_VAR long V04 arg4
[ 1] 42 (0x02a) call 0A000006
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
STMT00008 (IL 0x02A... ???)
[000029] --C-G------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
[ 1] 47 (0x02f) stloc.1
STMT00009 (IL 0x02F... ???)
[000031] -A---------- * ASG int
[000030] D------N---- +--* LCL_VAR int V06 loc1
[000028] ------------ \--* LCL_VAR int V13 tmp2
[ 0] 48 (0x030) ldloc.1
[ 1] 49 (0x031) stloc.0
STMT00010 (IL 0x030... ???)
[000034] -A---------- * ASG int
[000033] D------N---- +--* LCL_VAR int V05 loc0
[000032] ------------ \--* LCL_VAR int V06 loc1
[ 0] 50 (0x032) leave 0044
Before import CEE_LEAVE in BB02 (targetting BB06):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal
BB02 [0001] 1 0 1 [000..037)-> BB06 (leave ) T0 try { } keep try label
BB03 [0002] 1 0 1 [037..03D)-> BB05 ( cond ) H0 finally { keep label target
BB04 [0003] 1 0 1 [03D..043) H0
BB05 [0004] 2 0 1 [043..044) (finret) H0 }
BB06 [0005] 1 1 [044..046) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: - Try at BB02..BB02 [000..037), Finally at BB03..BB05 [037..044)
fgFindInsertPoint(regionIndex=0, putInTryRegion=true, startBlk=BB01, endBlk=BB00, nearBlk=BB02, jumpBlk=BB00, runRarely=false)
fgNewBBinRegion(jumpKind=8, tryIndex=0, hndIndex=0, putInFilter=false, runRarely=false, insertAtEnd=false): inserting after BB02
New Basic Block BB07 [0006] created.
impImportLeave - jumping out of a finally-protected try (EH#0), convert block BB02 to BBJ_ALWAYS, add BBJ_CALLFINALLY block BB07
New Basic Block BB08 [0007] created.
impImportLeave - jumping out of a finally-protected try (EH#0), created step (BBJ_ALWAYS) block BB08
impImportLeave - final destination of step blocks set to BB06
impImportBlockPending for BB06
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal
BB02 [0001] 1 0 1 [000..037)-> BB07 (always) T0 try { } keep try label
BB07 [0006] 1 1 [???..???)-> BB03 (callf ) i internal
BB08 [0007] 0 1 [???..???)-> BB06 (ALWAYS) i internal KEEP
BB03 [0002] 1 0 1 [037..03D)-> BB05 ( cond ) H0 finally { keep label target
BB04 [0003] 1 0 1 [03D..043) H0
BB05 [0004] 2 0 1 [043..044) (finret) H0 }
BB06 [0005] 1 1 [044..046) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: - Try at BB02..BB02 [000..037), Finally at BB03..BB05 [037..044)
STMT00011 (IL 0x032... ???)
[000035] ------------ * NOP void
impImportBlockPending for BB07
Importing BB06 (PC=068) of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
[ 0] 68 (0x044) ldloc.0
[ 1] 69 (0x045) ret
STMT00012 (IL 0x044... ???)
[000037] ------------ * RETURN int
[000036] ------------ \--* LCL_VAR int V05 loc0
Importing BB03 (PC=055) of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
[ 0] 55 (0x037) ldloc.3
[ 1] 56 (0x038) brfalse
STMT00013 (IL 0x037... ???)
[000041] ------------ * JTRUE void
[000040] ------------ \--* EQ int
[000038] ------------ +--* LCL_VAR int V08 loc3
[000039] ------------ \--* CNS_INT int 0
impImportBlockPending for BB04
impImportBlockPending for BB05
Importing BB05 (PC=067) of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
[ 0] 67 (0x043) endfinally
STMT00014 (IL 0x043... ???)
[000042] ------------ * RETFILT void
Importing BB04 (PC=061) of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
[ 0] 61 (0x03d) ldarg.0
[ 1] 62 (0x03e) call 0A000003
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
STMT00015 (IL 0x03D... ???)
[000044] --C-G------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
[000043] ------------ this in rcx \--* LCL_VAR ref V00 arg0
impImportBlockPending for BB05
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal
BB02 [0001] 1 0 1 [000..037)-> BB07 (always) T0 try { } keep i try label
BB07 [0006] 1 1 [???..???)-> BB03 (callf ) i internal
BB08 [0007] 0 1 [???..???)-> BB06 (ALWAYS) i internal KEEP
BB03 [0002] 1 0 1 [037..03D)-> BB05 ( cond ) H0 finally { keep i label target
BB04 [0003] 1 0 1 [03D..043) H0 i
BB05 [0004] 2 0 1 [043..044) (finret) H0 } i
BB06 [0005] 1 1 [044..046) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Finishing PHASE Importation
Trees after Importation
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal
BB02 [0001] 1 0 1 [000..037)-> BB07 (always) T0 try { } keep i try label
BB07 [0006] 1 1 [???..???)-> BB03 (callf ) i internal
BB08 [0007] 0 1 [???..???)-> BB06 (ALWAYS) i internal KEEP
BB03 [0002] 1 0 1 [037..03D)-> BB05 ( cond ) H0 finally { keep i label target
BB04 [0003] 1 0 1 [03D..043) H0 i
BB05 [0004] 2 0 1 [043..044) (finret) H0 } i
BB06 [0005] 1 1 [044..046) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
***** BB01
STMT00000 (IL ???... ???)
[000000] ------------ * NOP void
------------ BB02 [000..037) -> BB07 (always), preds={} succs={BB07}
***** BB02
STMT00001 (IL 0x000...0x00E)
[000004] --C-G------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
[000001] ------------ this in rcx +--* LCL_VAR ref V00 arg0
[000003] ------------ arg1 \--* ADDR byref
[000002] ------------ \--* LCL_VAR int V08 loc3
***** BB02
STMT00002 (IL 0x008... ???)
[000008] -AC-G------- * ASG long
[000007] D------N---- +--* LCL_VAR long V12 tmp1
[000006] --C-G------- \--* CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
[000005] ------------ this in rcx \--* LCL_VAR ref V00 arg0
***** BB02
STMT00003 (IL 0x00E... ???)
[000011] -A---------- * ASG long
[000010] D------N---- +--* LCL_VAR long V07 loc2
[000009] ------------ \--* LCL_VAR long V12 tmp1
***** BB02
STMT00004 (IL 0x00F...0x010)
[000014] -A---------- * ASG byref
[000013] D------N---- +--* LCL_VAR byref V10 loc5
[000012] ------------ \--* LCL_VAR byref V03 arg3
***** BB02
STMT00005 (IL 0x012...0x015)
[000018] -A---------- * ASG long
[000017] D------N---- +--* LCL_VAR long V09 loc4
[000016] ------------ \--* CAST long <- byref
[000015] ------------ \--* LCL_VAR byref V10 loc5
***** BB02
STMT00006 (IL 0x017...0x02F)
[000024] --C-G------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
***** BB02
STMT00007 (IL 0x025... ???)
[000027] -AC-G------- * ASG int
[000026] D------N---- +--* LCL_VAR int V13 tmp2
[000025] --C-G------- \--* CALL r2r_ind int Kernel32.ReadFile
[000019] ------------ arg0 +--* LCL_VAR long V07 loc2
[000020] ------------ arg1 +--* LCL_VAR long V01 arg1
[000021] ------------ arg2 +--* LCL_VAR int V02 arg2
[000022] ------------ arg3 +--* LCL_VAR long V09 loc4
[000023] ------------ arg4 \--* LCL_VAR long V04 arg4
***** BB02
STMT00008 (IL 0x02A... ???)
[000029] --C-G------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
***** BB02
STMT00009 (IL 0x02F... ???)
[000031] -A---------- * ASG int
[000030] D------N---- +--* LCL_VAR int V06 loc1
[000028] ------------ \--* LCL_VAR int V13 tmp2
***** BB02
STMT00010 (IL 0x030...0x031)
[000034] -A---------- * ASG int
[000033] D------N---- +--* LCL_VAR int V05 loc0
[000032] ------------ \--* LCL_VAR int V06 loc1
***** BB02
STMT00011 (IL 0x032...0x032)
[000035] ------------ * NOP void
------------ BB07 [???..???) -> BB03 (callf), preds={} succs={BB03}
------------ BB08 [???..???) -> BB06 (ALWAYS), preds={} succs={BB06}
------------ BB03 [037..03D) -> BB05 (cond), preds={} succs={BB04,BB05}
***** BB03
STMT00013 (IL 0x037...0x038)
[000041] ------------ * JTRUE void
[000040] ------------ \--* EQ int
[000038] ------------ +--* LCL_VAR int V08 loc3
[000039] ------------ \--* CNS_INT int 0
------------ BB04 [03D..043), preds={} succs={BB05}
***** BB04
STMT00015 (IL 0x03D...0x03E)
[000044] --C-G------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
[000043] ------------ this in rcx \--* LCL_VAR ref V00 arg0
------------ BB05 [043..044) (finret), preds={} succs={BB08}
***** BB05
STMT00014 (IL 0x043...0x043)
[000042] ------------ * RETFILT void
------------ BB06 [044..046) (return), preds={} succs={}
***** BB06
STMT00012 (IL 0x044...0x045)
[000037] ------------ * RETURN int
[000036] ------------ \--* LCL_VAR int V05 loc0
-------------------------------------------------------------------------------------------------------------------
*************** Starting PHASE Indirect call transform
-- no candidates to transform
*************** Finishing PHASE Indirect call transform [no changes]
*************** Starting PHASE Expand patchpoints
-- no patchpoints to transform
*************** Finishing PHASE Expand patchpoints [no changes]
*************** Starting PHASE Post-import
*************** Finishing PHASE Post-import
*************** Starting PHASE Morph - Init
New BlockSet epoch 1, # of blocks (including unused BB00): 9, bitset array size: 1 (short)
*************** In fgRemoveEmptyBlocks
*************** Finishing PHASE Morph - Init
*************** In fgDebugCheckBBlist
*************** Starting PHASE Morph - Inlining
*************** Finishing PHASE Morph - Inlining [no changes]
*************** Starting PHASE Allocate Objects
no newobjs in this method; punting
*************** Finishing PHASE Allocate Objects [no changes]
*************** Starting PHASE Morph - Add internal blocks
fgNewBBinRegion(jumpKind=4, tryIndex=0, hndIndex=0, putInFilter=false, runRarely=false, insertAtEnd=true): inserting after BB06
New Basic Block BB09 [0008] created.
newReturnBB [BB09] created
lvaGrabTemp returning 14 (V14 tmp3) called for Single return block return value.
mergeReturns statement tree [000046] added to genReturnBB BB09 [0008]
[000046] ------------ * RETURN int
[000045] -------N---- \--* LCL_VAR int V14 tmp3
lvaGrabTemp returning 15 (V15 tmp4) (a long lifetime temp) called for Pinvoke FrameVar.
Local V15 should not be enregistered because: it is address exposed
*************** After fgAddInternal()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal
BB02 [0001] 1 0 1 [000..037)-> BB07 (always) T0 try { } keep i try label
BB07 [0006] 1 1 [???..???)-> BB03 (callf ) i internal
BB08 [0007] 0 1 [???..???)-> BB06 (ALWAYS) i internal KEEP
BB03 [0002] 1 0 1 [037..03D)-> BB05 ( cond ) H0 finally { keep i label target
BB04 [0003] 1 0 1 [03D..043) H0 i
BB05 [0004] 2 0 1 [043..044) (finret) H0 } i
BB06 [0005] 1 1 [044..046) (return) i
BB09 [0008] 1 1 [???..???) (return) keep internal target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: - Try at BB02..BB02 [000..037), Finally at BB03..BB05 [037..044)
*************** Finishing PHASE Morph - Add internal blocks
*************** Starting PHASE Remove empty try
*************** In fgRemoveEmptyTry()
Method compiled with minOpts, no removal.
*************** Finishing PHASE Remove empty try [no changes]
*************** Starting PHASE Remove empty finally
Method compiled with minOpts, no removal.
*************** Finishing PHASE Remove empty finally [no changes]
*************** Starting PHASE Merge callfinally chains
Method compiled with minOpts, no merging.
*************** Finishing PHASE Merge callfinally chains [no changes]
*************** Starting PHASE Clone finally
Method compiled with minOpts, no cloning.
*************** Finishing PHASE Clone finally [no changes]
*************** Starting PHASE Compute preds
Renumbering the basic blocks for fgComputePred
*************** Before renumbering the basic blocks
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal
BB02 [0001] 1 0 1 [000..037)-> BB07 (always) T0 try { } keep i try label
BB07 [0006] 1 1 [???..???)-> BB03 (callf ) i internal
BB08 [0007] 0 1 [???..???)-> BB06 (ALWAYS) i internal KEEP
BB03 [0002] 1 0 1 [037..03D)-> BB05 ( cond ) H0 finally { keep i label target
BB04 [0003] 1 0 1 [03D..043) H0 i
BB05 [0004] 2 0 1 [043..044) (finret) H0 } i
BB06 [0005] 1 1 [044..046) (return) i
BB09 [0008] 1 1 [???..???) (return) keep internal target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: - Try at BB02..BB02 [000..037), Finally at BB03..BB05 [037..044)
Renumber BB07 to BB03
Renumber BB08 to BB04
Renumber BB03 to BB05
Renumber BB04 to BB06
Renumber BB05 to BB07
Renumber BB06 to BB08
*************** After renumbering the basic blocks
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal
BB02 [0001] 1 0 1 [000..037)-> BB03 (always) T0 try { } keep i try label
BB03 [0006] 1 1 [???..???)-> BB05 (callf ) i internal
BB04 [0007] 0 1 [???..???)-> BB08 (ALWAYS) i internal KEEP
BB05 [0002] 1 0 1 [037..03D)-> BB07 ( cond ) H0 finally { keep i label target
BB06 [0003] 1 0 1 [03D..043) H0 i
BB07 [0004] 2 0 1 [043..044) (finret) H0 } i
BB08 [0005] 1 1 [044..046) (return) i
BB09 [0008] 1 1 [???..???) (return) keep internal target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: - Try at BB02..BB02 [000..037), Finally at BB05..BB07 [037..044)
New BlockSet epoch 2, # of blocks (including unused BB00): 10, bitset array size: 1 (short)
*************** In fgComputePreds()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal
BB02 [0001] 1 0 1 [000..037)-> BB03 (always) T0 try { } keep i try label
BB03 [0006] 1 1 [???..???)-> BB05 (callf ) i internal
BB04 [0007] 0 1 [???..???)-> BB08 (ALWAYS) i internal KEEP
BB05 [0002] 1 0 1 [037..03D)-> BB07 ( cond ) H0 finally { keep i label target
BB06 [0003] 1 0 1 [03D..043) H0 i
BB07 [0004] 2 0 1 [043..044) (finret) H0 } i
BB08 [0005] 1 1 [044..046) (return) i
BB09 [0008] 1 1 [???..???) (return) keep internal target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** After fgComputePreds()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target KEEP
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 finally { keep i label target
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target
BB08 [0005] 1 BB04 1 [044..046) (return) i label target
BB09 [0008] 0 1 [???..???) (return) keep internal target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Finishing PHASE Compute preds
*************** Starting PHASE Morph - Promote Structs
*************** In fgResetImplicitByRefRefCount()
*************** In fgPromoteStructs()
promotion opt flag not enabled
*************** Finishing PHASE Morph - Promote Structs
*************** Starting PHASE Morph - Structs/AddrExp
*************** In fgMarkAddressExposedLocals()
LocalAddressVisitor visiting statement:
STMT00000 (IL ???... ???)
[000000] ------------ * NOP void
LocalAddressVisitor visiting statement:
STMT00001 (IL 0x000...0x00E)
[000004] --C-G------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
[000001] ------------ this in rcx +--* LCL_VAR ref V00 arg0
[000003] ------------ arg1 \--* ADDR byref
[000002] ------------ \--* LCL_VAR int V08 loc3
Local V08 should not be enregistered because: it is address exposed
Adding a quirk for the storage size of V08 of type boolLocalAddressVisitor modified statement:
STMT00001 (IL 0x000...0x00E)
[000004] --C-G------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
[000001] ------------ this in rcx +--* LCL_VAR ref V00 arg0
[000003] ------------ arg1 \--* LCL_VAR_ADDR byref V08 loc3
LocalAddressVisitor visiting statement:
STMT00002 (IL 0x008... ???)
[000008] -AC-G------- * ASG long
[000007] D------N---- +--* LCL_VAR long V12 tmp1
[000006] --C-G------- \--* CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
[000005] ------------ this in rcx \--* LCL_VAR ref V00 arg0
LocalAddressVisitor visiting statement:
STMT00003 (IL 0x00E... ???)
[000011] -A---------- * ASG long
[000010] D------N---- +--* LCL_VAR long V07 loc2
[000009] ------------ \--* LCL_VAR long V12 tmp1
LocalAddressVisitor visiting statement:
STMT00004 (IL 0x00F...0x010)
[000014] -A---------- * ASG byref
[000013] D------N---- +--* LCL_VAR byref V10 loc5
[000012] ------------ \--* LCL_VAR byref V03 arg3
LocalAddressVisitor visiting statement:
STMT00005 (IL 0x012...0x015)
[000018] -A---------- * ASG long
[000017] D------N---- +--* LCL_VAR long V09 loc4
[000016] ------------ \--* CAST long <- byref
[000015] ------------ \--* LCL_VAR byref V10 loc5
LocalAddressVisitor visiting statement:
STMT00006 (IL 0x017...0x02F)
[000024] --C-G------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
LocalAddressVisitor visiting statement:
STMT00007 (IL 0x025... ???)
[000027] -AC-G------- * ASG int
[000026] D------N---- +--* LCL_VAR int V13 tmp2
[000025] --C-G------- \--* CALL r2r_ind int Kernel32.ReadFile
[000019] ------------ arg0 +--* LCL_VAR long V07 loc2
[000020] ------------ arg1 +--* LCL_VAR long V01 arg1
[000021] ------------ arg2 +--* LCL_VAR int V02 arg2
[000022] ------------ arg3 +--* LCL_VAR long V09 loc4
[000023] ------------ arg4 \--* LCL_VAR long V04 arg4
LocalAddressVisitor visiting statement:
STMT00008 (IL 0x02A... ???)
[000029] --C-G------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
LocalAddressVisitor visiting statement:
STMT00009 (IL 0x02F... ???)
[000031] -A---------- * ASG int
[000030] D------N---- +--* LCL_VAR int V06 loc1
[000028] ------------ \--* LCL_VAR int V13 tmp2
LocalAddressVisitor visiting statement:
STMT00010 (IL 0x030...0x031)
[000034] -A---------- * ASG int
[000033] D------N---- +--* LCL_VAR int V05 loc0
[000032] ------------ \--* LCL_VAR int V06 loc1
LocalAddressVisitor visiting statement:
STMT00011 (IL 0x032...0x032)
[000035] ------------ * NOP void
LocalAddressVisitor visiting statement:
STMT00013 (IL 0x037...0x038)
[000041] ------------ * JTRUE void
[000040] ------------ \--* EQ int
[000038] ------------ +--* LCL_VAR int (AX) V08 loc3
[000039] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00015 (IL 0x03D...0x03E)
[000044] --C-G------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
[000043] ------------ this in rcx \--* LCL_VAR ref V00 arg0
LocalAddressVisitor visiting statement:
STMT00014 (IL 0x043...0x043)
[000042] ------------ * RETFILT void
LocalAddressVisitor visiting statement:
STMT00012 (IL 0x044...0x045)
[000037] ------------ * RETURN int
[000036] ------------ \--* LCL_VAR int V05 loc0
LocalAddressVisitor visiting statement:
STMT00016 (IL ???... ???)
[000046] ------------ * RETURN int
[000045] -------N---- \--* LCL_VAR int V14 tmp3
*************** Finishing PHASE Morph - Structs/AddrExp
*************** Starting PHASE Morph - ByRefs
*************** In fgRetypeImplicitByRefArgs()
*************** Finishing PHASE Morph - ByRefs
*************** Starting PHASE Morph - Global
*************** In fgMorphBlocks()
Morphing BB01 of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
fgMorphTree BB01, STMT00000 (before)
[000000] ------------ * NOP void
Morphing BB02 of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
fgMorphTree BB02, STMT00001 (before)
[000004] --C-G------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
[000001] ------------ this in rcx +--* LCL_VAR ref V00 arg0
[000003] ------------ arg1 \--* LCL_VAR_ADDR byref V08 loc3
Initializing arg info for 4.CALL:
ArgTable for 4.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 1.LCL_VAR ref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 3.LCL_VAR_ADDR long, 1 reg: rdx, align=1]
Morphing args for 4.CALL:
argSlots=2, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rdx'):
[000003] -----+------ * LCL_VAR_ADDR long V08 loc3
Replaced with placeholder node:
[000047] ----------L- * ARGPLACE long
Deferred argument ('rcx'):
[000001] -----+------ * LCL_VAR ref V00 arg0
Replaced with placeholder node:
[000048] ----------L- * ARGPLACE ref
Shuffled argument table: rdx rcx
ArgTable for 4.CALL after fgMorphArgs:
fgArgTabEntry[arg 1 3.LCL_VAR_ADDR long, 1 reg: rdx, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 0 1.LCL_VAR ref, 1 reg: rcx, align=1, lateArgInx=1, processed]
fgMorphTree BB02, STMT00001 (after)
[000004] --CXG+------ * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
[000003] -----+------ arg1 in rdx +--* LCL_VAR_ADDR long V08 loc3
[000001] -----+------ this in rcx \--* LCL_VAR ref V00 arg0
fgMorphTree BB02, STMT00002 (before)
[000008] -AC-G------- * ASG long
[000007] D------N---- +--* LCL_VAR long V12 tmp1
[000006] --C-G------- \--* CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
[000005] ------------ this in rcx \--* LCL_VAR ref V00 arg0
Initializing arg info for 6.CALL:
ArgTable for 6.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 5.LCL_VAR ref, 1 reg: rcx, align=1]
Morphing args for 6.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000005] -----+------ * LCL_VAR ref V00 arg0
Replaced with placeholder node:
[000049] ----------L- * ARGPLACE ref
Shuffled argument table: rcx
ArgTable for 6.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 5.LCL_VAR ref, 1 reg: rcx, align=1, lateArgInx=0, processed]
fgMorphTree BB02, STMT00002 (after)
[000008] -ACXG+------ * ASG long
[000007] D----+-N---- +--* LCL_VAR long V12 tmp1
[000006] --CXG+------ \--* CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
[000005] -----+------ this in rcx \--* LCL_VAR ref V00 arg0
fgMorphTree BB02, STMT00003 (before)
[000011] -A---------- * ASG long
[000010] D------N---- +--* LCL_VAR long V07 loc2
[000009] ------------ \--* LCL_VAR long V12 tmp1
fgMorphTree BB02, STMT00004 (before)
[000014] -A---------- * ASG byref
[000013] D------N---- +--* LCL_VAR byref V10 loc5
[000012] ------------ \--* LCL_VAR byref V03 arg3
fgMorphTree BB02, STMT00005 (before)
[000018] -A---------- * ASG long
[000017] D------N---- +--* LCL_VAR long V09 loc4
[000016] ------------ \--* CAST long <- byref
[000015] ------------ \--* LCL_VAR byref V10 loc5
lvaGrabTemp returning 16 (V16 tmp5) called for Cast away GC.
fgMorphTree BB02, STMT00005 (after)
[000018] -A---+------ * ASG long
[000017] D----+-N---- +--* LCL_VAR long V09 loc4
[000054] -A---+------ \--* COMMA long
[000051] -A---+------ +--* ASG long
[000050] D----+-N---- | +--* LCL_VAR long V16 tmp5
[000015] -----+------ | \--* LCL_VAR byref V10 loc5
[000052] -----+------ \--* LCL_VAR long V16 tmp5
fgMorphTree BB02, STMT00006 (before)
[000024] --C-G------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
Initializing arg info for 24.CALL:
ArgTable for 24.CALL after fgInitArgInfo:
Morphing args for 24.CALL:
argSlots=0, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
ArgTable for 24.CALL after fgMorphArgs:
fgMorphTree BB02, STMT00007 (before)
[000027] -AC-G------- * ASG int
[000026] D------N---- +--* LCL_VAR int V13 tmp2
[000025] --C-G------- \--* CALL r2r_ind int Kernel32.ReadFile
[000019] ------------ arg0 +--* LCL_VAR long V07 loc2
[000020] ------------ arg1 +--* LCL_VAR long V01 arg1
[000021] ------------ arg2 +--* LCL_VAR int V02 arg2
[000022] ------------ arg3 +--* LCL_VAR long V09 loc4
[000023] ------------ arg4 \--* LCL_VAR long V04 arg4
Initializing arg info for 25.CALL:
ArgTable for 25.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 19.LCL_VAR long, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 20.LCL_VAR long, 1 reg: rdx, align=1]
fgArgTabEntry[arg 2 21.LCL_VAR int, 1 reg: r8, align=1]
fgArgTabEntry[arg 3 22.LCL_VAR long, 1 reg: r9, align=1]
fgArgTabEntry[arg 4 23.LCL_VAR long, numSlots=1, slotNum=4, align=1]
Morphing args for 25.CALL:
argSlots=5, preallocatedArgCount=5, nextSlotNum=5, outgoingArgSpaceSize=40
Sorting the arguments:
Deferred argument ('rcx'):
[000019] -----+------ * LCL_VAR long V07 loc2
Replaced with placeholder node:
[000055] ----------L- * ARGPLACE long
Deferred argument ('rdx'):
[000020] -----+------ * LCL_VAR long V01 arg1
Replaced with placeholder node:
[000056] ----------L- * ARGPLACE long
Deferred argument ('r8'):
[000021] -----+------ * LCL_VAR int V02 arg2
Replaced with placeholder node:
[000057] ----------L- * ARGPLACE int
Deferred argument ('r9'):
[000022] -----+------ * LCL_VAR long V09 loc4
Replaced with placeholder node:
[000058] ----------L- * ARGPLACE long
Shuffled argument table: rcx rdx r8 r9
ArgTable for 25.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 19.LCL_VAR long, 1 reg: rcx, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 1 20.LCL_VAR long, 1 reg: rdx, align=1, lateArgInx=1, processed]
fgArgTabEntry[arg 2 21.LCL_VAR int, 1 reg: r8, align=1, lateArgInx=2, processed]
fgArgTabEntry[arg 3 22.LCL_VAR long, 1 reg: r9, align=1, lateArgInx=3, processed]
fgArgTabEntry[arg 4 23.LCL_VAR long, numSlots=1, slotNum=4, align=1, processed]
fgMorphTree BB02, STMT00007 (after)
[000027] -ACXG+------ * ASG int
[000026] D----+-N---- +--* LCL_VAR int V13 tmp2
[000025] --CXG+------ \--* CALL r2r_ind int Kernel32.ReadFile
[000023] -----+------ arg4 out+20 +--* LCL_VAR long V04 arg4
[000019] -----+------ arg0 in rcx +--* LCL_VAR long V07 loc2
[000020] -----+------ arg1 in rdx +--* LCL_VAR long V01 arg1
[000021] -----+------ arg2 in r8 +--* LCL_VAR int V02 arg2
[000022] -----+------ arg3 in r9 \--* LCL_VAR long V09 loc4
fgMorphTree BB02, STMT00008 (before)
[000029] --C-G------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
Initializing arg info for 29.CALL:
ArgTable for 29.CALL after fgInitArgInfo:
Morphing args for 29.CALL:
argSlots=0, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
ArgTable for 29.CALL after fgMorphArgs:
fgMorphTree BB02, STMT00009 (before)
[000031] -A---------- * ASG int
[000030] D------N---- +--* LCL_VAR int V06 loc1
[000028] ------------ \--* LCL_VAR int V13 tmp2
fgMorphTree BB02, STMT00010 (before)
[000034] -A---------- * ASG int
[000033] D------N---- +--* LCL_VAR int V05 loc0
[000032] ------------ \--* LCL_VAR int V06 loc1
fgMorphTree BB02, STMT00011 (before)
[000035] ------------ * NOP void
Morphing BB03 of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
Morphing BB04 of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
Morphing BB05 of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
fgMorphTree BB05, STMT00013 (before)
[000041] ------------ * JTRUE void
[000040] ------------ \--* EQ int
[000038] ------------ +--* LCL_VAR int (AX) V08 loc3
[000039] ------------ \--* CNS_INT int 0
fgMorphTree BB05, STMT00013 (after)
[000041] ----G+------ * JTRUE void
[000040] J---G+-N---- \--* EQ int
[000059] ----G+------ +--* CAST int <- bool <- int
[000038] ----G+------ | \--* LCL_VAR int (AX) V08 loc3
[000039] -----+------ \--* CNS_INT int 0
Morphing BB06 of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
fgMorphTree BB06, STMT00015 (before)
[000044] --C-G------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
[000043] ------------ this in rcx \--* LCL_VAR ref V00 arg0
Initializing arg info for 44.CALL:
ArgTable for 44.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 43.LCL_VAR ref, 1 reg: rcx, align=1]
Morphing args for 44.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000043] -----+------ * LCL_VAR ref V00 arg0
Replaced with placeholder node:
[000060] ----------L- * ARGPLACE ref
Shuffled argument table: rcx
ArgTable for 44.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 43.LCL_VAR ref, 1 reg: rcx, align=1, lateArgInx=0, processed]
fgMorphTree BB06, STMT00015 (after)
[000044] --CXG+------ * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
[000043] -----+------ this in rcx \--* LCL_VAR ref V00 arg0
Morphing BB07 of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
fgMorphTree BB07, STMT00014 (before)
[000042] ------------ * RETFILT void
Morphing BB08 of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
fgMorphTree BB08, STMT00012 (before)
[000037] ------------ * RETURN int
[000036] ------------ \--* LCL_VAR int V05 loc0
morph BB08 to point at onereturn. New block is
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target
Morphing BB09 of 'Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int'
fgMorphTree BB09, STMT00016 (before)
[000046] ------------ * RETURN int
[000045] -------N---- \--* LCL_VAR int V14 tmp3
Method has EH, marking method as fully interruptible
*************** Finishing PHASE Morph - Global
*************** Starting PHASE GS Cookie
No GS security needed
*************** Finishing PHASE GS Cookie
*************** Starting PHASE Mark GC poll blocks
*************** Before renumbering the basic blocks
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target KEEP
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 finally { keep i label target
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: - Try at BB02..BB02 [000..037), Finally at BB05..BB07 [037..044)
*************** After renumbering the basic blocks
=============== No blocks renumbered!
*************** Finishing PHASE Mark GC poll blocks
*************** Starting PHASE Compute edge weights (1, false)
*************** In fgComputeBlockAndEdgeWeights()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target KEEP
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 finally { keep i label target
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target
-----------------------------------------------------------------------------------------------------------------------------------------
-- no profile data, so using default called count
-- not optimizing, so not computing edge weights
*************** Finishing PHASE Compute edge weights (1, false)
*************** Starting PHASE Create EH funclets
*************** In fgCreateFunclets()
Relocating handler range BB05..BB07 (EH#0) to end of BBlist
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target KEEP
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 finally { keep i label target
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: - Try at BB02..BB02 [000..037), Finally at BB05..BB07 [037..044)
Relocated blocks [BB05..BB07] inserted after BB09 at the end of method
Create funclets: moved region
*************** Exception Handling table
index eTry, eHnd
0 :: - Try at BB02..BB02 [000..037), Finally at BB05..BB07 [037..044)
After fgCreateFunclets()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target KEEP
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ funclets follow
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 F finally { keep i label target flet
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: - Try at BB02..BB02 [000..037), Finally at BB05..BB07 [037..044)
*************** In fgDebugCheckBBlist
*************** Finishing PHASE Create EH funclets
*************** Starting PHASE Mark local vars
*************** In lvaMarkLocalVars()
lvaGrabTemp returning 17 (V17 tmp6) (a long lifetime temp) called for PSPSym.
Local V17 should not be enregistered because: it is address exposed
*** lvaComputeRefCounts ***
*************** Finishing PHASE Mark local vars
*************** Starting PHASE Find oper order
*************** In fgFindOperOrder()
*************** Finishing PHASE Find oper order
*************** Starting PHASE Set block order
*************** In fgSetBlockOrder()
The biggest BB has 12 tree nodes
*************** Finishing PHASE Set block order
*************** Starting PHASE Determine first cold block
*************** In fgDetermineFirstColdBlock()
No procedure splitting will be done for this method
*************** Finishing PHASE Determine first cold block
Trees before Rationalize IR
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target KEEP
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ funclets follow
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 F finally { keep i label target flet
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
***** BB01
STMT00000 (IL ???... ???)
N001 ( 0, 0) [000000] ------------ * NOP void
------------ BB02 [000..037) -> BB03 (always), preds={BB01} succs={BB03}
***** BB02
STMT00001 (IL 0x000...0x00E)
N005 ( 20, 13) [000004] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
N003 ( 3, 3) [000003] ------------ arg1 in rdx +--* LCL_VAR_ADDR long V08 loc3
N004 ( 3, 2) [000001] ------------ this in rcx \--* LCL_VAR ref V00 arg0
***** BB02
STMT00002 (IL 0x008... ???)
N005 ( 21, 12) [000008] -ACXG---R--- * ASG long
N004 ( 3, 2) [000007] D------N---- +--* LCL_VAR long V12 tmp1
N003 ( 17, 9) [000006] --CXG------- \--* CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
N002 ( 3, 2) [000005] ------------ this in rcx \--* LCL_VAR ref V00 arg0
***** BB02
STMT00003 (IL 0x00E... ???)
N003 ( 7, 5) [000011] -A------R--- * ASG long
N002 ( 3, 2) [000010] D------N---- +--* LCL_VAR long V07 loc2
N001 ( 3, 2) [000009] ------------ \--* LCL_VAR long V12 tmp1
***** BB02
STMT00004 (IL 0x00F...0x010)
N003 ( 7, 5) [000014] -A------R--- * ASG byref
N002 ( 3, 2) [000013] D------N---- +--* LCL_VAR byref V10 loc5
N001 ( 3, 2) [000012] ------------ \--* LCL_VAR byref V03 arg3
***** BB02
STMT00005 (IL 0x012...0x015)
N007 ( 14, 10) [000018] -A------R--- * ASG long
N006 ( 3, 2) [000017] D------N---- +--* LCL_VAR long V09 loc4
N005 ( 10, 7) [000054] -A---------- \--* COMMA long
N003 ( 7, 5) [000051] -A------R--- +--* ASG long
N002 ( 3, 2) [000050] D------N---- | +--* LCL_VAR long V16 tmp5
N001 ( 3, 2) [000015] ------------ | \--* LCL_VAR byref V10 loc5
N004 ( 3, 2) [000052] ------------ \--* LCL_VAR long V16 tmp5
***** BB02
STMT00006 (IL 0x017...0x02F)
N001 ( 14, 5) [000024] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
***** BB02
STMT00007 (IL 0x025... ???)
N012 ( 36, 22) [000027] -ACXG---R--- * ASG int
N011 ( 3, 2) [000026] D------N---- +--* LCL_VAR int V13 tmp2
N010 ( 32, 19) [000025] --CXG------- \--* CALL r2r_ind int Kernel32.ReadFile
N005 ( 3, 2) [000023] ------------ arg4 out+20 +--* LCL_VAR long V04 arg4
N006 ( 3, 2) [000019] ------------ arg0 in rcx +--* LCL_VAR long V07 loc2
N007 ( 3, 2) [000020] ------------ arg1 in rdx +--* LCL_VAR long V01 arg1
N008 ( 3, 2) [000021] ------------ arg2 in r8 +--* LCL_VAR int V02 arg2
N009 ( 3, 2) [000022] ------------ arg3 in r9 \--* LCL_VAR long V09 loc4
***** BB02
STMT00008 (IL 0x02A... ???)
N001 ( 14, 5) [000029] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
***** BB02
STMT00009 (IL 0x02F... ???)
N003 ( 7, 5) [000031] -A------R--- * ASG int
N002 ( 3, 2) [000030] D------N---- +--* LCL_VAR int V06 loc1
N001 ( 3, 2) [000028] ------------ \--* LCL_VAR int V13 tmp2
***** BB02
STMT00010 (IL 0x030...0x031)
N003 ( 7, 5) [000034] -A------R--- * ASG int
N002 ( 3, 2) [000033] D------N---- +--* LCL_VAR int V05 loc0
N001 ( 3, 2) [000032] ------------ \--* LCL_VAR int V06 loc1
***** BB02
STMT00011 (IL 0x032...0x032)
N001 ( 0, 0) [000035] ------------ * NOP void
------------ BB03 [???..???) -> BB05 (callf), preds={BB02} succs={BB05}
------------ BB04 [???..???) -> BB08 (ALWAYS), preds={BB07} succs={BB08}
------------ BB08 [044..046) -> BB09 (always), preds={BB04} succs={BB09}
***** BB08
STMT00012 (IL 0x044...0x045)
N003 ( 7, 5) [000062] -A------R--- * ASG int
N002 ( 3, 2) [000061] D------N---- +--* LCL_VAR int V14 tmp3
N001 ( 3, 2) [000036] ------------ \--* LCL_VAR int V05 loc0
------------ BB09 [???..???) (return), preds={BB08} succs={}
***** BB09
STMT00016 (IL ???... ???)
N002 ( 4, 3) [000046] ------------ * RETURN int
N001 ( 3, 2) [000045] -------N---- \--* LCL_VAR int V14 tmp3
------------ BB05 [037..03D) -> BB07 (cond), preds={BB03} succs={BB06,BB07}
***** BB05
STMT00013 (IL 0x037...0x038)
N005 ( 8, 8) [000041] ----G------- * JTRUE void
N004 ( 6, 6) [000040] J---G--N---- \--* EQ int
N002 ( 4, 4) [000059] ----G------- +--* CAST int <- bool <- int
N001 ( 3, 2) [000038] ----G------- | \--* LCL_VAR int (AX) V08 loc3
N003 ( 1, 1) [000039] ------------ \--* CNS_INT int 0
------------ BB06 [03D..043), preds={BB05} succs={BB07}
***** BB06
STMT00015 (IL 0x03D...0x03E)
N003 ( 17, 9) [000044] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
N002 ( 3, 2) [000043] ------------ this in rcx \--* LCL_VAR ref V00 arg0
------------ BB07 [043..044) (finret), preds={BB05,BB06} succs={BB04}
***** BB07
STMT00014 (IL 0x043...0x043)
N001 ( 0, 0) [000042] ------------ * RETFILT void
-------------------------------------------------------------------------------------------------------------------
*************** Starting PHASE Rationalize IR
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
N005 ( 21, 12) [000008] DACXG------- * STORE_LCL_VAR long V12 tmp1
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
N003 ( 7, 5) [000011] DA---------- * STORE_LCL_VAR long V07 loc2
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
N003 ( 7, 5) [000014] DA---------- * STORE_LCL_VAR byref V10 loc5
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
N003 ( 7, 5) [000051] DA---------- * STORE_LCL_VAR long V16 tmp5
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
N007 ( 14, 10) [000018] DA---------- * STORE_LCL_VAR long V09 loc4
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
N012 ( 36, 22) [000027] DACXG------- * STORE_LCL_VAR int V13 tmp2
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
N003 ( 7, 5) [000031] DA---------- * STORE_LCL_VAR int V06 loc1
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
N003 ( 7, 5) [000034] DA---------- * STORE_LCL_VAR int V05 loc0
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
N003 ( 7, 5) [000062] DA---------- * STORE_LCL_VAR int V14 tmp3
*************** Finishing PHASE Rationalize IR
Trees after Rationalize IR
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target LIR
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe LIR
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target LIR
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target LIR KEEP
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target LIR
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target LIR
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ funclets follow
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 F finally { keep i label target flet LIR
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe LIR
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target LIR
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
N001 ( 0, 0) [000000] ------------ NOP void
------------ BB02 [000..037) -> BB03 (always), preds={BB01} succs={BB03}
[000063] ------------ IL_OFFSET void IL offset: 0x0
N003 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V08 loc3
N004 ( 3, 2) [000001] ------------ t1 = LCL_VAR ref V00 arg0
/--* t3 long arg1 in rdx
+--* t1 ref this in rcx
N005 ( 20, 13) [000004] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
[000064] ------------ IL_OFFSET void IL offset: 0x8
N002 ( 3, 2) [000005] ------------ t5 = LCL_VAR ref V00 arg0
/--* t5 ref this in rcx
N003 ( 17, 9) [000006] --CXG------- t6 = * CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
/--* t6 long
N005 ( 21, 12) [000008] DA-XG------- * STORE_LCL_VAR long V12 tmp1
[000065] ------------ IL_OFFSET void IL offset: 0xe
N001 ( 3, 2) [000009] ------------ t9 = LCL_VAR long V12 tmp1
/--* t9 long
N003 ( 7, 5) [000011] DA---------- * STORE_LCL_VAR long V07 loc2
[000066] ------------ IL_OFFSET void IL offset: 0xf
N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V03 arg3
/--* t12 byref
N003 ( 7, 5) [000014] DA---------- * STORE_LCL_VAR byref V10 loc5
[000067] ------------ IL_OFFSET void IL offset: 0x12
N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V10 loc5
/--* t15 byref
N003 ( 7, 5) [000051] DA---------- * STORE_LCL_VAR long V16 tmp5
N004 ( 3, 2) [000052] ------------ t52 = LCL_VAR long V16 tmp5
/--* t52 long
N007 ( 14, 10) [000018] DA---------- * STORE_LCL_VAR long V09 loc4
[000068] ------------ IL_OFFSET void IL offset: 0x17
N001 ( 14, 5) [000024] --CXG------- CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
[000069] ------------ IL_OFFSET void IL offset: 0x25
N005 ( 3, 2) [000023] ------------ t23 = LCL_VAR long V04 arg4
N006 ( 3, 2) [000019] ------------ t19 = LCL_VAR long V07 loc2
N007 ( 3, 2) [000020] ------------ t20 = LCL_VAR long V01 arg1
N008 ( 3, 2) [000021] ------------ t21 = LCL_VAR int V02 arg2
N009 ( 3, 2) [000022] ------------ t22 = LCL_VAR long V09 loc4
/--* t23 long arg4 out+20
+--* t19 long arg0 in rcx
+--* t20 long arg1 in rdx
+--* t21 int arg2 in r8
+--* t22 long arg3 in r9
N010 ( 32, 19) [000025] --CXG------- t25 = * CALL r2r_ind int Kernel32.ReadFile
/--* t25 int
N012 ( 36, 22) [000027] DA-XG------- * STORE_LCL_VAR int V13 tmp2
[000070] ------------ IL_OFFSET void IL offset: 0x2a
N001 ( 14, 5) [000029] --CXG------- CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
[000071] ------------ IL_OFFSET void IL offset: 0x2f
N001 ( 3, 2) [000028] ------------ t28 = LCL_VAR int V13 tmp2
/--* t28 int
N003 ( 7, 5) [000031] DA---------- * STORE_LCL_VAR int V06 loc1
[000072] ------------ IL_OFFSET void IL offset: 0x30
N001 ( 3, 2) [000032] ------------ t32 = LCL_VAR int V06 loc1
/--* t32 int
N003 ( 7, 5) [000034] DA---------- * STORE_LCL_VAR int V05 loc0
[000073] ------------ IL_OFFSET void IL offset: 0x32
N001 ( 0, 0) [000035] ------------ NOP void
------------ BB03 [???..???) -> BB05 (callf), preds={BB02} succs={BB05}
------------ BB04 [???..???) -> BB08 (ALWAYS), preds={BB07} succs={BB08}
------------ BB08 [044..046) -> BB09 (always), preds={BB04} succs={BB09}
[000074] ------------ IL_OFFSET void IL offset: 0x44
N001 ( 3, 2) [000036] ------------ t36 = LCL_VAR int V05 loc0
/--* t36 int
N003 ( 7, 5) [000062] DA---------- * STORE_LCL_VAR int V14 tmp3
------------ BB09 [???..???) (return), preds={BB08} succs={}
N001 ( 3, 2) [000045] -------N---- t45 = LCL_VAR int V14 tmp3
/--* t45 int
N002 ( 4, 3) [000046] ------------ * RETURN int
------------ BB05 [037..03D) -> BB07 (cond), preds={BB03} succs={BB06,BB07}
[000075] ------------ IL_OFFSET void IL offset: 0x37
N001 ( 3, 2) [000038] ------------ t38 = LCL_VAR int (AX) V08 loc3
/--* t38 int
N002 ( 4, 4) [000059] ----G------- t59 = * CAST int <- bool <- int
N003 ( 1, 1) [000039] ------------ t39 = CNS_INT int 0
/--* t59 int
+--* t39 int
N004 ( 6, 6) [000040] J---G--N---- t40 = * EQ int
/--* t40 int
N005 ( 8, 8) [000041] ----G------- * JTRUE void
------------ BB06 [03D..043), preds={BB05} succs={BB07}
[000076] ------------ IL_OFFSET void IL offset: 0x3d
N002 ( 3, 2) [000043] ------------ t43 = LCL_VAR ref V00 arg0
/--* t43 ref this in rcx
N003 ( 17, 9) [000044] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
------------ BB07 [043..044) (finret), preds={BB05,BB06} succs={BB04}
[000077] ------------ IL_OFFSET void IL offset: 0x43
N001 ( 0, 0) [000042] ------------ RETFILT void
-------------------------------------------------------------------------------------------------------------------
*************** In fgDebugCheckBBlist
*************** Starting PHASE Do 'simple' lowering
Bumping outgoingArgSpaceSize to 32 for call [000004]
outgoingArgSpaceSize 32 sufficient for call [000006], which needs 32
outgoingArgSpaceSize 32 sufficient for call [000024], which needs 32
Bumping outgoingArgSpaceSize to 40 for call [000025]
outgoingArgSpaceSize 40 sufficient for call [000029], which needs 32
outgoingArgSpaceSize 40 sufficient for call [000044], which needs 32
*************** Finishing PHASE Do 'simple' lowering
*************** In fgDebugCheckBBlist
Trees before Lowering nodeinfo
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target LIR
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe LIR
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target LIR
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target LIR KEEP
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target LIR
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target LIR
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ funclets follow
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 F finally { keep i label target flet LIR
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe LIR
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target LIR
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
N001 ( 0, 0) [000000] ------------ NOP void
------------ BB02 [000..037) -> BB03 (always), preds={BB01} succs={BB03}
[000063] ------------ IL_OFFSET void IL offset: 0x0
N003 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V08 loc3
N004 ( 3, 2) [000001] ------------ t1 = LCL_VAR ref V00 arg0
/--* t3 long arg1 in rdx
+--* t1 ref this in rcx
N005 ( 20, 13) [000004] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
[000064] ------------ IL_OFFSET void IL offset: 0x8
N002 ( 3, 2) [000005] ------------ t5 = LCL_VAR ref V00 arg0
/--* t5 ref this in rcx
N003 ( 17, 9) [000006] --CXG------- t6 = * CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
/--* t6 long
N005 ( 21, 12) [000008] DA-XG------- * STORE_LCL_VAR long V12 tmp1
[000065] ------------ IL_OFFSET void IL offset: 0xe
N001 ( 3, 2) [000009] ------------ t9 = LCL_VAR long V12 tmp1
/--* t9 long
N003 ( 7, 5) [000011] DA---------- * STORE_LCL_VAR long V07 loc2
[000066] ------------ IL_OFFSET void IL offset: 0xf
N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V03 arg3
/--* t12 byref
N003 ( 7, 5) [000014] DA---------- * STORE_LCL_VAR byref V10 loc5
[000067] ------------ IL_OFFSET void IL offset: 0x12
N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V10 loc5
/--* t15 byref
N003 ( 7, 5) [000051] DA---------- * STORE_LCL_VAR long V16 tmp5
N004 ( 3, 2) [000052] ------------ t52 = LCL_VAR long V16 tmp5
/--* t52 long
N007 ( 14, 10) [000018] DA---------- * STORE_LCL_VAR long V09 loc4
[000068] ------------ IL_OFFSET void IL offset: 0x17
N001 ( 14, 5) [000024] --CXG------- CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
[000069] ------------ IL_OFFSET void IL offset: 0x25
N005 ( 3, 2) [000023] ------------ t23 = LCL_VAR long V04 arg4
N006 ( 3, 2) [000019] ------------ t19 = LCL_VAR long V07 loc2
N007 ( 3, 2) [000020] ------------ t20 = LCL_VAR long V01 arg1
N008 ( 3, 2) [000021] ------------ t21 = LCL_VAR int V02 arg2
N009 ( 3, 2) [000022] ------------ t22 = LCL_VAR long V09 loc4
/--* t23 long arg4 out+20
+--* t19 long arg0 in rcx
+--* t20 long arg1 in rdx
+--* t21 int arg2 in r8
+--* t22 long arg3 in r9
N010 ( 32, 19) [000025] --CXG------- t25 = * CALL r2r_ind int Kernel32.ReadFile
/--* t25 int
N012 ( 36, 22) [000027] DA-XG------- * STORE_LCL_VAR int V13 tmp2
[000070] ------------ IL_OFFSET void IL offset: 0x2a
N001 ( 14, 5) [000029] --CXG------- CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
[000071] ------------ IL_OFFSET void IL offset: 0x2f
N001 ( 3, 2) [000028] ------------ t28 = LCL_VAR int V13 tmp2
/--* t28 int
N003 ( 7, 5) [000031] DA---------- * STORE_LCL_VAR int V06 loc1
[000072] ------------ IL_OFFSET void IL offset: 0x30
N001 ( 3, 2) [000032] ------------ t32 = LCL_VAR int V06 loc1
/--* t32 int
N003 ( 7, 5) [000034] DA---------- * STORE_LCL_VAR int V05 loc0
[000073] ------------ IL_OFFSET void IL offset: 0x32
N001 ( 0, 0) [000035] ------------ NOP void
------------ BB03 [???..???) -> BB05 (callf), preds={BB02} succs={BB05}
------------ BB04 [???..???) -> BB08 (ALWAYS), preds={BB07} succs={BB08}
------------ BB08 [044..046) -> BB09 (always), preds={BB04} succs={BB09}
[000074] ------------ IL_OFFSET void IL offset: 0x44
N001 ( 3, 2) [000036] ------------ t36 = LCL_VAR int V05 loc0
/--* t36 int
N003 ( 7, 5) [000062] DA---------- * STORE_LCL_VAR int V14 tmp3
------------ BB09 [???..???) (return), preds={BB08} succs={}
N001 ( 3, 2) [000045] -------N---- t45 = LCL_VAR int V14 tmp3
/--* t45 int
N002 ( 4, 3) [000046] ------------ * RETURN int
------------ BB05 [037..03D) -> BB07 (cond), preds={BB03} succs={BB06,BB07}
[000075] ------------ IL_OFFSET void IL offset: 0x37
N001 ( 3, 2) [000038] ------------ t38 = LCL_VAR int (AX) V08 loc3
/--* t38 int
N002 ( 4, 4) [000059] ----G------- t59 = * CAST int <- bool <- int
N003 ( 1, 1) [000039] ------------ t39 = CNS_INT int 0
/--* t59 int
+--* t39 int
N004 ( 6, 6) [000040] J---G--N---- t40 = * EQ int
/--* t40 int
N005 ( 8, 8) [000041] ----G------- * JTRUE void
------------ BB06 [03D..043), preds={BB05} succs={BB07}
[000076] ------------ IL_OFFSET void IL offset: 0x3d
N002 ( 3, 2) [000043] ------------ t43 = LCL_VAR ref V00 arg0
/--* t43 ref this in rcx
N003 ( 17, 9) [000044] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
------------ BB07 [043..044) (finret), preds={BB05,BB06} succs={BB04}
[000077] ------------ IL_OFFSET void IL offset: 0x43
N001 ( 0, 0) [000042] ------------ RETFILT void
-------------------------------------------------------------------------------------------------------------------
*************** Starting PHASE Lowering nodeinfo
lowering call (before):
N003 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V08 loc3
N004 ( 3, 2) [000001] ------------ t1 = LCL_VAR ref V00 arg0
/--* t3 long arg1 in rdx
+--* t1 ref this in rcx
N005 ( 20, 13) [000004] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
objp:
======
lowering arg : N001 ( 0, 0) [000048] ----------L- * ARGPLACE ref
args:
======
lowering arg : N002 ( 0, 0) [000047] ----------L- * ARGPLACE long
late:
======
lowering arg : N003 ( 3, 3) [000003] ------------ * LCL_VAR_ADDR long V08 loc3
new node is : [000078] ------------ * PUTARG_REG long REG rdx
lowering arg : N004 ( 3, 2) [000001] ------------ * LCL_VAR ref V00 arg0
new node is : [000079] ------------ * PUTARG_REG ref REG rcx
results of lowering call:
N001 ( 3, 10) [000080] ------------ t80 = CNS_INT(h) long 0x420058 ftn
/--* t80 long
N002 ( 5, 12) [000081] ------------ t81 = * IND long
lowering call (after):
N003 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V08 loc3
/--* t3 long
[000078] ------------ t78 = * PUTARG_REG long REG rdx
N004 ( 3, 2) [000001] ------------ t1 = LCL_VAR ref V00 arg0
/--* t1 ref
[000079] ------------ t79 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000080] -c---------- t80 = CNS_INT(h) long 0x420058 ftn
/--* t80 long
N002 ( 5, 12) [000081] -c---------- t81 = * IND long REG NA
/--* t78 long arg1 in rdx
+--* t79 ref this in rcx
+--* t81 long control expr
N005 ( 20, 13) [000004] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
lowering call (before):
N002 ( 3, 2) [000005] ------------ t5 = LCL_VAR ref V00 arg0
/--* t5 ref this in rcx
N003 ( 17, 9) [000006] --CXG------- t6 = * CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
objp:
======
lowering arg : N001 ( 0, 0) [000049] ----------L- * ARGPLACE ref
args:
======
late:
======
lowering arg : N002 ( 3, 2) [000005] ------------ * LCL_VAR ref V00 arg0
new node is : [000082] ------------ * PUTARG_REG ref REG rcx
results of lowering call:
N001 ( 3, 10) [000083] ------------ t83 = CNS_INT(h) long 0x420080 ftn
/--* t83 long
N002 ( 5, 12) [000084] ------------ t84 = * IND long
lowering call (after):
N002 ( 3, 2) [000005] ------------ t5 = LCL_VAR ref V00 arg0
/--* t5 ref
[000082] ------------ t82 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000083] -c---------- t83 = CNS_INT(h) long 0x420080 ftn
/--* t83 long
N002 ( 5, 12) [000084] -c---------- t84 = * IND long REG NA
/--* t82 ref this in rcx
+--* t84 long control expr
N003 ( 17, 9) [000006] --CXG------- t6 = * CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
lowering call (before):
N001 ( 14, 5) [000024] --CXG------- CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
objp:
======
args:
======
late:
======
results of lowering call:
N001 ( 3, 10) [000085] ------------ t85 = CNS_INT(h) long 0x4200A0 ftn
/--* t85 long
N002 ( 5, 12) [000086] ------------ t86 = * IND long
lowering call (after):
N001 ( 3, 10) [000085] -c---------- t85 = CNS_INT(h) long 0x4200A0 ftn
/--* t85 long
N002 ( 5, 12) [000086] -c---------- t86 = * IND long REG NA
/--* t86 long control expr
N001 ( 14, 5) [000024] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
lowering call (before):
N005 ( 3, 2) [000023] ------------ t23 = LCL_VAR long V04 arg4
N006 ( 3, 2) [000019] ------------ t19 = LCL_VAR long V07 loc2
N007 ( 3, 2) [000020] ------------ t20 = LCL_VAR long V01 arg1
N008 ( 3, 2) [000021] ------------ t21 = LCL_VAR int V02 arg2
N009 ( 3, 2) [000022] ------------ t22 = LCL_VAR long V09 loc4
/--* t23 long arg4 out+20
+--* t19 long arg0 in rcx
+--* t20 long arg1 in rdx
+--* t21 int arg2 in r8
+--* t22 long arg3 in r9
N010 ( 32, 19) [000025] --CXG------- t25 = * CALL r2r_ind int Kernel32.ReadFile
objp:
======
args:
======
lowering arg : N001 ( 0, 0) [000055] ----------L- * ARGPLACE long
lowering arg : N002 ( 0, 0) [000056] ----------L- * ARGPLACE long
lowering arg : N003 ( 0, 0) [000057] ----------L- * ARGPLACE int
lowering arg : N004 ( 0, 0) [000058] ----------L- * ARGPLACE long
lowering arg : N005 ( 3, 2) [000023] ------------ * LCL_VAR long V04 arg4
new node is : [000087] ------------ * PUTARG_STK [+0x20] void
late:
======
lowering arg : N006 ( 3, 2) [000019] ------------ * LCL_VAR long V07 loc2
new node is : [000088] ------------ * PUTARG_REG long REG rcx
lowering arg : N007 ( 3, 2) [000020] ------------ * LCL_VAR long V01 arg1
new node is : [000089] ------------ * PUTARG_REG long REG rdx
lowering arg : N008 ( 3, 2) [000021] ------------ * LCL_VAR int V02 arg2
new node is : [000090] ------------ * PUTARG_REG int REG r8
lowering arg : N009 ( 3, 2) [000022] ------------ * LCL_VAR long V09 loc4
new node is : [000091] ------------ * PUTARG_REG long REG r9
======= Inserting PInvoke call prolog
Initializing arg info for 94.CALL:
ArgTable for 94.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 93.LCL_VAR_ADDR long, 1 reg: rcx, align=1]
Morphing args for 94.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000093] ------------ * LCL_VAR_ADDR long V15 PInvokeFrame
Replaced with placeholder node:
[000095] ----------L- * ARGPLACE long
Shuffled argument table: rcx
ArgTable for 94.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 93.LCL_VAR_ADDR long, 1 reg: rcx, align=1, lateArgInx=0, processed]
lowering call (before):
N001 ( 3, 3) [000093] ------------ t93 = LCL_VAR_ADDR long V15 PInvokeFrame
/--* t93 long arg0 in rcx
N002 ( 17, 9) [000094] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_BEGIN
objp:
======
args:
======
lowering arg : ( 0, 0) [000095] ----------L- * ARGPLACE long
late:
======
lowering arg : N001 ( 3, 3) [000093] ------------ * LCL_VAR_ADDR long V15 PInvokeFrame
new node is : [000096] ------------ * PUTARG_REG long REG rcx
results of lowering call:
N001 ( 3, 10) [000097] ------------ t97 = CNS_INT(h) long 0x4200E8 ftn
/--* t97 long
N002 ( 5, 12) [000098] ------------ t98 = * IND long
lowering call (after):
N001 ( 3, 3) [000093] ------------ t93 = LCL_VAR_ADDR long V15 PInvokeFrame
/--* t93 long
[000096] ------------ t96 = * PUTARG_REG long REG rcx
N001 ( 3, 10) [000097] -c---------- t97 = CNS_INT(h) long 0x4200E8 ftn
/--* t97 long
N002 ( 5, 12) [000098] -c---------- t98 = * IND long REG NA
/--* t96 long arg0 in rcx
+--* t98 long control expr
N002 ( 17, 9) [000094] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_BEGIN
======= Inserting PInvoke call epilog
Initializing arg info for 103.CALL:
ArgTable for 103.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 102.LCL_VAR_ADDR long, 1 reg: rcx, align=1]
Morphing args for 103.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000102] ------------ * LCL_VAR_ADDR long V15 PInvokeFrame
Replaced with placeholder node:
[000104] ----------L- * ARGPLACE long
Shuffled argument table: rcx
ArgTable for 103.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 102.LCL_VAR_ADDR long, 1 reg: rcx, align=1, lateArgInx=0, processed]
results of lowering call:
N001 ( 3, 10) [000099] ------------ t99 = CNS_INT(h) long 0x4200F0 ftn
/--* t99 long
N002 ( 5, 12) [000100] ------------ t100 = * IND long
/--* t100 long
N003 ( 8, 14) [000101] ------------ t101 = * IND long
lowering call (after):
N005 ( 3, 2) [000023] ------------ t23 = LCL_VAR long V04 arg4
/--* t23 long
[000087] ------------ * PUTARG_STK [+0x20] void
N006 ( 3, 2) [000019] ------------ t19 = LCL_VAR long V07 loc2
/--* t19 long
[000088] ------------ t88 = * PUTARG_REG long REG rcx
N007 ( 3, 2) [000020] ------------ t20 = LCL_VAR long V01 arg1
/--* t20 long
[000089] ------------ t89 = * PUTARG_REG long REG rdx
N008 ( 3, 2) [000021] ------------ t21 = LCL_VAR int V02 arg2
/--* t21 int
[000090] ------------ t90 = * PUTARG_REG int REG r8
N009 ( 3, 2) [000022] ------------ t22 = LCL_VAR long V09 loc4
/--* t22 long
[000091] ------------ t91 = * PUTARG_REG long REG r9
[000092] ------------ PINVOKE_PROLOG void
N001 ( 3, 3) [000093] ------------ t93 = LCL_VAR_ADDR long V15 PInvokeFrame
/--* t93 long
[000096] ------------ t96 = * PUTARG_REG long REG rcx
N001 ( 3, 10) [000097] -c---------- t97 = CNS_INT(h) long 0x4200E8 ftn
/--* t97 long
N002 ( 5, 12) [000098] -c---------- t98 = * IND long REG NA
/--* t96 long arg0 in rcx
+--* t98 long control expr
N002 ( 17, 9) [000094] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_BEGIN
N001 ( 3, 10) [000099] -c---------- t99 = CNS_INT(h) long 0x4200F0 ftn
/--* t99 long
N002 ( 5, 12) [000100] ------------ t100 = * IND long
/--* t100 long
N003 ( 8, 14) [000101] -c---------- t101 = * IND long REG NA
/--* t88 long arg0 in rcx
+--* t89 long arg1 in rdx
+--* t90 int arg2 in r8
+--* t91 long arg3 in r9
+--* t101 long control expr
N010 ( 32, 19) [000025] --CXG------- t25 = * CALL r2r_ind int Kernel32.ReadFile
lowering call (before):
N001 ( 3, 3) [000102] ------------ t102 = LCL_VAR_ADDR long V15 PInvokeFrame
/--* t102 long arg0 in rcx
N002 ( 17, 9) [000103] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_END
objp:
======
args:
======
lowering arg : ( 0, 0) [000104] ----------L- * ARGPLACE long
late:
======
lowering arg : N001 ( 3, 3) [000102] ------------ * LCL_VAR_ADDR long V15 PInvokeFrame
new node is : [000105] ------------ * PUTARG_REG long REG rcx
results of lowering call:
N001 ( 3, 10) [000106] ------------ t106 = CNS_INT(h) long 0x4200F8 ftn
/--* t106 long
N002 ( 5, 12) [000107] ------------ t107 = * IND long
lowering call (after):
N001 ( 3, 3) [000102] ------------ t102 = LCL_VAR_ADDR long V15 PInvokeFrame
/--* t102 long
[000105] ------------ t105 = * PUTARG_REG long REG rcx
N001 ( 3, 10) [000106] -c---------- t106 = CNS_INT(h) long 0x4200F8 ftn
/--* t106 long
N002 ( 5, 12) [000107] -c---------- t107 = * IND long REG NA
/--* t105 long arg0 in rcx
+--* t107 long control expr
N002 ( 17, 9) [000103] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_END
lowering call (before):
N001 ( 14, 5) [000029] --CXG------- CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
objp:
======
args:
======
late:
======
results of lowering call:
N001 ( 3, 10) [000108] ------------ t108 = CNS_INT(h) long 0x4200C8 ftn
/--* t108 long
N002 ( 5, 12) [000109] ------------ t109 = * IND long
lowering call (after):
N001 ( 3, 10) [000108] -c---------- t108 = CNS_INT(h) long 0x4200C8 ftn
/--* t108 long
N002 ( 5, 12) [000109] -c---------- t109 = * IND long REG NA
/--* t109 long control expr
N001 ( 14, 5) [000029] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
lowering GT_RETURN
N002 ( 4, 3) [000046] ------------ * RETURN int
============lowering call (before):
N002 ( 3, 2) [000043] ------------ t43 = LCL_VAR ref V00 arg0
/--* t43 ref this in rcx
N003 ( 17, 9) [000044] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
objp:
======
lowering arg : N001 ( 0, 0) [000060] ----------L- * ARGPLACE ref
args:
======
late:
======
lowering arg : N002 ( 3, 2) [000043] ------------ * LCL_VAR ref V00 arg0
new node is : [000110] ------------ * PUTARG_REG ref REG rcx
results of lowering call:
N001 ( 3, 10) [000111] ------------ t111 = CNS_INT(h) long 0x4200E0 ftn
/--* t111 long
N002 ( 5, 12) [000112] ------------ t112 = * IND long
lowering call (after):
N002 ( 3, 2) [000043] ------------ t43 = LCL_VAR ref V00 arg0
/--* t43 ref
[000110] ------------ t110 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000111] -c---------- t111 = CNS_INT(h) long 0x4200E0 ftn
/--* t111 long
N002 ( 5, 12) [000112] -c---------- t112 = * IND long REG NA
/--* t110 ref this in rcx
+--* t112 long control expr
N003 ( 17, 9) [000044] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
Lower has completed modifying nodes.
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target LIR
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe LIR
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target LIR
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target LIR KEEP
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target LIR
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target LIR
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ funclets follow
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 F finally { keep i label target flet LIR
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe LIR
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target LIR
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
N001 ( 0, 0) [000000] ------------ NOP void
------------ BB02 [000..037) -> BB03 (always), preds={BB01} succs={BB03}
[000063] ------------ IL_OFFSET void IL offset: 0x0
N003 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V08 loc3
/--* t3 long
[000078] ------------ t78 = * PUTARG_REG long REG rdx
N004 ( 3, 2) [000001] ------------ t1 = LCL_VAR ref V00 arg0
/--* t1 ref
[000079] ------------ t79 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000080] -c---------- t80 = CNS_INT(h) long 0x420058 ftn
/--* t80 long
N002 ( 5, 12) [000081] -c---------- t81 = * IND long REG NA
/--* t78 long arg1 in rdx
+--* t79 ref this in rcx
+--* t81 long control expr
N005 ( 20, 13) [000004] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
[000064] ------------ IL_OFFSET void IL offset: 0x8
N002 ( 3, 2) [000005] ------------ t5 = LCL_VAR ref V00 arg0
/--* t5 ref
[000082] ------------ t82 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000083] -c---------- t83 = CNS_INT(h) long 0x420080 ftn
/--* t83 long
N002 ( 5, 12) [000084] -c---------- t84 = * IND long REG NA
/--* t82 ref this in rcx
+--* t84 long control expr
N003 ( 17, 9) [000006] --CXG------- t6 = * CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
/--* t6 long
N005 ( 21, 12) [000008] DA-XG------- * STORE_LCL_VAR long V12 tmp1
[000065] ------------ IL_OFFSET void IL offset: 0xe
N001 ( 3, 2) [000009] ------------ t9 = LCL_VAR long V12 tmp1
/--* t9 long
N003 ( 7, 5) [000011] DA---------- * STORE_LCL_VAR long V07 loc2
[000066] ------------ IL_OFFSET void IL offset: 0xf
N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V03 arg3
/--* t12 byref
N003 ( 7, 5) [000014] DA---------- * STORE_LCL_VAR byref V10 loc5
[000067] ------------ IL_OFFSET void IL offset: 0x12
N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V10 loc5
/--* t15 byref
N003 ( 7, 5) [000051] DA---------- * STORE_LCL_VAR long V16 tmp5
N004 ( 3, 2) [000052] ------------ t52 = LCL_VAR long V16 tmp5
/--* t52 long
N007 ( 14, 10) [000018] DA---------- * STORE_LCL_VAR long V09 loc4
[000068] ------------ IL_OFFSET void IL offset: 0x17
N001 ( 3, 10) [000085] -c---------- t85 = CNS_INT(h) long 0x4200A0 ftn
/--* t85 long
N002 ( 5, 12) [000086] -c---------- t86 = * IND long REG NA
/--* t86 long control expr
N001 ( 14, 5) [000024] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
[000069] ------------ IL_OFFSET void IL offset: 0x25
N005 ( 3, 2) [000023] ------------ t23 = LCL_VAR long V04 arg4
/--* t23 long
[000087] ------------ * PUTARG_STK [+0x20] void
N006 ( 3, 2) [000019] ------------ t19 = LCL_VAR long V07 loc2
/--* t19 long
[000088] ------------ t88 = * PUTARG_REG long REG rcx
N007 ( 3, 2) [000020] ------------ t20 = LCL_VAR long V01 arg1
/--* t20 long
[000089] ------------ t89 = * PUTARG_REG long REG rdx
N008 ( 3, 2) [000021] ------------ t21 = LCL_VAR int V02 arg2
/--* t21 int
[000090] ------------ t90 = * PUTARG_REG int REG r8
N009 ( 3, 2) [000022] ------------ t22 = LCL_VAR long V09 loc4
/--* t22 long
[000091] ------------ t91 = * PUTARG_REG long REG r9
[000092] ------------ PINVOKE_PROLOG void
N001 ( 3, 3) [000093] ------------ t93 = LCL_VAR_ADDR long V15 PInvokeFrame
/--* t93 long
[000096] ------------ t96 = * PUTARG_REG long REG rcx
N001 ( 3, 10) [000097] -c---------- t97 = CNS_INT(h) long 0x4200E8 ftn
/--* t97 long
N002 ( 5, 12) [000098] -c---------- t98 = * IND long REG NA
/--* t96 long arg0 in rcx
+--* t98 long control expr
N002 ( 17, 9) [000094] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_BEGIN
N001 ( 3, 10) [000099] -c---------- t99 = CNS_INT(h) long 0x4200F0 ftn
/--* t99 long
N002 ( 5, 12) [000100] ------------ t100 = * IND long
/--* t100 long
N003 ( 8, 14) [000101] -c---------- t101 = * IND long REG NA
/--* t88 long arg0 in rcx
+--* t89 long arg1 in rdx
+--* t90 int arg2 in r8
+--* t91 long arg3 in r9
+--* t101 long control expr
N010 ( 32, 19) [000025] --CXG------- t25 = * CALL r2r_ind int Kernel32.ReadFile
N001 ( 3, 3) [000102] ------------ t102 = LCL_VAR_ADDR long V15 PInvokeFrame
/--* t102 long
[000105] ------------ t105 = * PUTARG_REG long REG rcx
N001 ( 3, 10) [000106] -c---------- t106 = CNS_INT(h) long 0x4200F8 ftn
/--* t106 long
N002 ( 5, 12) [000107] -c---------- t107 = * IND long REG NA
/--* t105 long arg0 in rcx
+--* t107 long control expr
N002 ( 17, 9) [000103] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_END
/--* t25 int
N012 ( 36, 22) [000027] DA-XG------- * STORE_LCL_VAR int V13 tmp2
[000070] ------------ IL_OFFSET void IL offset: 0x2a
N001 ( 3, 10) [000108] -c---------- t108 = CNS_INT(h) long 0x4200C8 ftn
/--* t108 long
N002 ( 5, 12) [000109] -c---------- t109 = * IND long REG NA
/--* t109 long control expr
N001 ( 14, 5) [000029] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
[000071] ------------ IL_OFFSET void IL offset: 0x2f
N001 ( 3, 2) [000028] ------------ t28 = LCL_VAR int V13 tmp2
/--* t28 int
N003 ( 7, 5) [000031] DA---------- * STORE_LCL_VAR int V06 loc1
[000072] ------------ IL_OFFSET void IL offset: 0x30
N001 ( 3, 2) [000032] ------------ t32 = LCL_VAR int V06 loc1
/--* t32 int
N003 ( 7, 5) [000034] DA---------- * STORE_LCL_VAR int V05 loc0
[000073] ------------ IL_OFFSET void IL offset: 0x32
N001 ( 0, 0) [000035] ------------ NOP void
------------ BB03 [???..???) -> BB05 (callf), preds={BB02} succs={BB05}
------------ BB04 [???..???) -> BB08 (ALWAYS), preds={BB07} succs={BB08}
------------ BB08 [044..046) -> BB09 (always), preds={BB04} succs={BB09}
[000074] ------------ IL_OFFSET void IL offset: 0x44
N001 ( 3, 2) [000036] ------------ t36 = LCL_VAR int V05 loc0
/--* t36 int
N003 ( 7, 5) [000062] DA---------- * STORE_LCL_VAR int V14 tmp3
------------ BB09 [???..???) (return), preds={BB08} succs={}
N001 ( 3, 2) [000045] -------N---- t45 = LCL_VAR int V14 tmp3
/--* t45 int
N002 ( 4, 3) [000046] ------------ * RETURN int
------------ BB05 [037..03D) -> BB07 (cond), preds={BB03} succs={BB06,BB07}
[000075] ------------ IL_OFFSET void IL offset: 0x37
N001 ( 3, 2) [000038] ------------ t38 = LCL_VAR int (AX) V08 loc3
/--* t38 int
N002 ( 4, 4) [000059] ----G------- t59 = * CAST int <- bool <- int
N003 ( 1, 1) [000039] -c---------- t39 = CNS_INT int 0
/--* t59 int
+--* t39 int
N004 ( 6, 6) [000040] J---G--N---- * EQ void
N005 ( 8, 8) [000041] ----G------- * JTRUE void
------------ BB06 [03D..043), preds={BB05} succs={BB07}
[000076] ------------ IL_OFFSET void IL offset: 0x3d
N002 ( 3, 2) [000043] ------------ t43 = LCL_VAR ref V00 arg0
/--* t43 ref
[000110] ------------ t110 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000111] -c---------- t111 = CNS_INT(h) long 0x4200E0 ftn
/--* t111 long
N002 ( 5, 12) [000112] -c---------- t112 = * IND long REG NA
/--* t110 ref this in rcx
+--* t112 long control expr
N003 ( 17, 9) [000044] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
------------ BB07 [043..044) (finret), preds={BB05,BB06} succs={BB04}
[000077] ------------ IL_OFFSET void IL offset: 0x43
N001 ( 0, 0) [000042] ------------ RETFILT void
-------------------------------------------------------------------------------------------------------------------
*** lvaComputeRefCounts ***
*************** In fgLocalVarLiveness()
; Initial local variable assignments
;
; V00 arg0 ref class-hnd
; V01 arg1 long
; V02 arg2 int
; V03 arg3 byref
; V04 arg4 long
; V05 loc0 int
; V06 loc1 int
; V07 loc2 long
; V08 loc3 bool do-not-enreg[X] addr-exposed ld-addr-op
; V09 loc4 long
; V10 loc5 byref pinned
; V11 OutArgs lclBlk <40> "OutgoingArgSpace"
; V12 tmp1 long "impSpillStackEnsure"
; V13 tmp2 int "impSpillStackEnsure"
; V14 tmp3 int "Single return block return value"
; V15 PInvokeFrame blk do-not-enreg[X] addr-exposed "Pinvoke FrameVar"
; V16 tmp5 long "Cast away GC"
; V17 PSPSym long do-not-enreg[X] addr-exposed "PSPSym"
In fgLocalVarLivenessInit
*************** In fgPerBlockLocalVarLiveness()
*************** In fgInterBlockLocalVarLiveness()
*************** In fgExtendDbgLifetimes()
Marking vars alive over their entire scope :
Local variable scopes = 11
VarNum LVNum Name Beg End
Sorted by enter scope:
0: 00h 00h V00 arg0 000h 046h <-- next enter scope
1: 01h 01h V01 arg1 000h 046h
2: 02h 02h V02 arg2 000h 046h
3: 03h 03h V03 arg3 000h 046h
4: 04h 04h V04 arg4 000h 046h
5: 05h 05h V05 loc0 000h 046h
6: 06h 06h V06 loc1 000h 046h
7: 07h 07h V07 loc2 000h 046h
8: 08h 08h V08 loc3 000h 046h
9: 09h 09h V09 loc4 000h 046h
10: 0Ah 0Ah V10 loc5 000h 046h
Sorted by exit scope:
0: 00h 00h V00 arg0 000h 046h <-- next exit scope
1: 01h 01h V01 arg1 000h 046h
2: 02h 02h V02 arg2 000h 046h
3: 03h 03h V03 arg3 000h 046h
4: 04h 04h V04 arg4 000h 046h
5: 05h 05h V05 loc0 000h 046h
6: 06h 06h V06 loc1 000h 046h
7: 07h 07h V07 loc2 000h 046h
8: 08h 08h V08 loc3 000h 046h
9: 09h 09h V09 loc4 000h 046h
10: 0Ah 0Ah V10 loc5 000h 046h
Scope info: block BB01 marking in scope: {}
Scope info: block BB02 marking in scope: {}
Scope info: block BB03 marking in scope: {}
Scope info: block BB04 marking in scope: {}
Scope info: block BB08 marking in scope: {}
Scope info: block BB09 marking in scope: {}
Scope info: block BB05 marking in scope: {}
Scope info: block BB06 marking in scope: {}
Scope info: block BB07 marking in scope: {}
Debug scopes:
BB01: {}
BB02: {}
BB03: {}
BB04: {}
BB08: {}
BB09: {}
BB05: {}
BB06: {}
BB07: {}
Scope info: block BB01 UNmarking in scope: {}
BB liveness after fgExtendDbgLifetimes():
BB01 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
BB02 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
BB03 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
BB04 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
BB08 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
BB09 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
BB05 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
BB06 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
BB07 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
*** lvaComputeRefCounts ***
*************** Finishing PHASE Lowering nodeinfo
Trees after Lowering nodeinfo
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target LIR
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe LIR
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target LIR
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target LIR KEEP
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target LIR
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target LIR
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ funclets follow
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 F finally { keep i label target flet LIR
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe LIR
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target LIR
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
N001 ( 0, 0) [000000] ------------ NOP void
------------ BB02 [000..037) -> BB03 (always), preds={BB01} succs={BB03}
[000063] ------------ IL_OFFSET void IL offset: 0x0
N003 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V08 loc3
/--* t3 long
[000078] ------------ t78 = * PUTARG_REG long REG rdx
N004 ( 3, 2) [000001] ------------ t1 = LCL_VAR ref V00 arg0
/--* t1 ref
[000079] ------------ t79 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000080] -c---------- t80 = CNS_INT(h) long 0x420058 ftn
/--* t80 long
N002 ( 5, 12) [000081] -c---------- t81 = * IND long REG NA
/--* t78 long arg1 in rdx
+--* t79 ref this in rcx
+--* t81 long control expr
N005 ( 20, 13) [000004] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
[000064] ------------ IL_OFFSET void IL offset: 0x8
N002 ( 3, 2) [000005] ------------ t5 = LCL_VAR ref V00 arg0
/--* t5 ref
[000082] ------------ t82 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000083] -c---------- t83 = CNS_INT(h) long 0x420080 ftn
/--* t83 long
N002 ( 5, 12) [000084] -c---------- t84 = * IND long REG NA
/--* t82 ref this in rcx
+--* t84 long control expr
N003 ( 17, 9) [000006] --CXG------- t6 = * CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
/--* t6 long
N005 ( 21, 12) [000008] DA-XG------- * STORE_LCL_VAR long V12 tmp1
[000065] ------------ IL_OFFSET void IL offset: 0xe
N001 ( 3, 2) [000009] ------------ t9 = LCL_VAR long V12 tmp1
/--* t9 long
N003 ( 7, 5) [000011] DA---------- * STORE_LCL_VAR long V07 loc2
[000066] ------------ IL_OFFSET void IL offset: 0xf
N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V03 arg3
/--* t12 byref
N003 ( 7, 5) [000014] DA---------- * STORE_LCL_VAR byref V10 loc5
[000067] ------------ IL_OFFSET void IL offset: 0x12
N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V10 loc5
/--* t15 byref
N003 ( 7, 5) [000051] DA---------- * STORE_LCL_VAR long V16 tmp5
N004 ( 3, 2) [000052] ------------ t52 = LCL_VAR long V16 tmp5
/--* t52 long
N007 ( 14, 10) [000018] DA---------- * STORE_LCL_VAR long V09 loc4
[000068] ------------ IL_OFFSET void IL offset: 0x17
N001 ( 3, 10) [000085] -c---------- t85 = CNS_INT(h) long 0x4200A0 ftn
/--* t85 long
N002 ( 5, 12) [000086] -c---------- t86 = * IND long REG NA
/--* t86 long control expr
N001 ( 14, 5) [000024] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
[000069] ------------ IL_OFFSET void IL offset: 0x25
N005 ( 3, 2) [000023] ------------ t23 = LCL_VAR long V04 arg4
/--* t23 long
[000087] ------------ * PUTARG_STK [+0x20] void
N006 ( 3, 2) [000019] ------------ t19 = LCL_VAR long V07 loc2
/--* t19 long
[000088] ------------ t88 = * PUTARG_REG long REG rcx
N007 ( 3, 2) [000020] ------------ t20 = LCL_VAR long V01 arg1
/--* t20 long
[000089] ------------ t89 = * PUTARG_REG long REG rdx
N008 ( 3, 2) [000021] ------------ t21 = LCL_VAR int V02 arg2
/--* t21 int
[000090] ------------ t90 = * PUTARG_REG int REG r8
N009 ( 3, 2) [000022] ------------ t22 = LCL_VAR long V09 loc4
/--* t22 long
[000091] ------------ t91 = * PUTARG_REG long REG r9
[000092] ------------ PINVOKE_PROLOG void
N001 ( 3, 3) [000093] ------------ t93 = LCL_VAR_ADDR long V15 PInvokeFrame
/--* t93 long
[000096] ------------ t96 = * PUTARG_REG long REG rcx
N001 ( 3, 10) [000097] -c---------- t97 = CNS_INT(h) long 0x4200E8 ftn
/--* t97 long
N002 ( 5, 12) [000098] -c---------- t98 = * IND long REG NA
/--* t96 long arg0 in rcx
+--* t98 long control expr
N002 ( 17, 9) [000094] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_BEGIN
N001 ( 3, 10) [000099] -c---------- t99 = CNS_INT(h) long 0x4200F0 ftn
/--* t99 long
N002 ( 5, 12) [000100] ------------ t100 = * IND long
/--* t100 long
N003 ( 8, 14) [000101] -c---------- t101 = * IND long REG NA
/--* t88 long arg0 in rcx
+--* t89 long arg1 in rdx
+--* t90 int arg2 in r8
+--* t91 long arg3 in r9
+--* t101 long control expr
N010 ( 32, 19) [000025] --CXG------- t25 = * CALL r2r_ind int Kernel32.ReadFile
N001 ( 3, 3) [000102] ------------ t102 = LCL_VAR_ADDR long V15 PInvokeFrame
/--* t102 long
[000105] ------------ t105 = * PUTARG_REG long REG rcx
N001 ( 3, 10) [000106] -c---------- t106 = CNS_INT(h) long 0x4200F8 ftn
/--* t106 long
N002 ( 5, 12) [000107] -c---------- t107 = * IND long REG NA
/--* t105 long arg0 in rcx
+--* t107 long control expr
N002 ( 17, 9) [000103] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_END
/--* t25 int
N012 ( 36, 22) [000027] DA-XG------- * STORE_LCL_VAR int V13 tmp2
[000070] ------------ IL_OFFSET void IL offset: 0x2a
N001 ( 3, 10) [000108] -c---------- t108 = CNS_INT(h) long 0x4200C8 ftn
/--* t108 long
N002 ( 5, 12) [000109] -c---------- t109 = * IND long REG NA
/--* t109 long control expr
N001 ( 14, 5) [000029] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
[000071] ------------ IL_OFFSET void IL offset: 0x2f
N001 ( 3, 2) [000028] ------------ t28 = LCL_VAR int V13 tmp2
/--* t28 int
N003 ( 7, 5) [000031] DA---------- * STORE_LCL_VAR int V06 loc1
[000072] ------------ IL_OFFSET void IL offset: 0x30
N001 ( 3, 2) [000032] ------------ t32 = LCL_VAR int V06 loc1
/--* t32 int
N003 ( 7, 5) [000034] DA---------- * STORE_LCL_VAR int V05 loc0
[000073] ------------ IL_OFFSET void IL offset: 0x32
N001 ( 0, 0) [000035] ------------ NOP void
------------ BB03 [???..???) -> BB05 (callf), preds={BB02} succs={BB05}
------------ BB04 [???..???) -> BB08 (ALWAYS), preds={BB07} succs={BB08}
------------ BB08 [044..046) -> BB09 (always), preds={BB04} succs={BB09}
[000074] ------------ IL_OFFSET void IL offset: 0x44
N001 ( 3, 2) [000036] ------------ t36 = LCL_VAR int V05 loc0
/--* t36 int
N003 ( 7, 5) [000062] DA---------- * STORE_LCL_VAR int V14 tmp3
------------ BB09 [???..???) (return), preds={BB08} succs={}
N001 ( 3, 2) [000045] -------N---- t45 = LCL_VAR int V14 tmp3
/--* t45 int
N002 ( 4, 3) [000046] ------------ * RETURN int
------------ BB05 [037..03D) -> BB07 (cond), preds={BB03} succs={BB06,BB07}
[000075] ------------ IL_OFFSET void IL offset: 0x37
N001 ( 3, 2) [000038] ------------ t38 = LCL_VAR int (AX) V08 loc3
/--* t38 int
N002 ( 4, 4) [000059] ----G------- t59 = * CAST int <- bool <- int
N003 ( 1, 1) [000039] -c---------- t39 = CNS_INT int 0
/--* t59 int
+--* t39 int
N004 ( 6, 6) [000040] J---G--N---- * EQ void
N005 ( 8, 8) [000041] ----G------- * JTRUE void
------------ BB06 [03D..043), preds={BB05} succs={BB07}
[000076] ------------ IL_OFFSET void IL offset: 0x3d
N002 ( 3, 2) [000043] ------------ t43 = LCL_VAR ref V00 arg0
/--* t43 ref
[000110] ------------ t110 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000111] -c---------- t111 = CNS_INT(h) long 0x4200E0 ftn
/--* t111 long
N002 ( 5, 12) [000112] -c---------- t112 = * IND long REG NA
/--* t110 ref this in rcx
+--* t112 long control expr
N003 ( 17, 9) [000044] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
------------ BB07 [043..044) (finret), preds={BB05,BB06} succs={BB04}
[000077] ------------ IL_OFFSET void IL offset: 0x43
N001 ( 0, 0) [000042] ------------ RETFILT void
-------------------------------------------------------------------------------------------------------------------
*************** In fgDebugCheckBBlist
Trees before Calculate stack level slots
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target LIR
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe LIR
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target LIR
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target LIR KEEP
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target LIR
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target LIR
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ funclets follow
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 F finally { keep i label target flet LIR
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe LIR
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target LIR
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
N001 ( 0, 0) [000000] ------------ NOP void
------------ BB02 [000..037) -> BB03 (always), preds={BB01} succs={BB03}
[000063] ------------ IL_OFFSET void IL offset: 0x0
N003 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V08 loc3
/--* t3 long
[000078] ------------ t78 = * PUTARG_REG long REG rdx
N004 ( 3, 2) [000001] ------------ t1 = LCL_VAR ref V00 arg0
/--* t1 ref
[000079] ------------ t79 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000080] -c---------- t80 = CNS_INT(h) long 0x420058 ftn
/--* t80 long
N002 ( 5, 12) [000081] -c---------- t81 = * IND long REG NA
/--* t78 long arg1 in rdx
+--* t79 ref this in rcx
+--* t81 long control expr
N005 ( 20, 13) [000004] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef
[000064] ------------ IL_OFFSET void IL offset: 0x8
N002 ( 3, 2) [000005] ------------ t5 = LCL_VAR ref V00 arg0
/--* t5 ref
[000082] ------------ t82 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000083] -c---------- t83 = CNS_INT(h) long 0x420080 ftn
/--* t83 long
N002 ( 5, 12) [000084] -c---------- t84 = * IND long REG NA
/--* t82 ref this in rcx
+--* t84 long control expr
N003 ( 17, 9) [000006] --CXG------- t6 = * CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle
/--* t6 long
N005 ( 21, 12) [000008] DA-XG------- * STORE_LCL_VAR long V12 tmp1
[000065] ------------ IL_OFFSET void IL offset: 0xe
N001 ( 3, 2) [000009] ------------ t9 = LCL_VAR long V12 tmp1
/--* t9 long
N003 ( 7, 5) [000011] DA---------- * STORE_LCL_VAR long V07 loc2
[000066] ------------ IL_OFFSET void IL offset: 0xf
N001 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V03 arg3
/--* t12 byref
N003 ( 7, 5) [000014] DA---------- * STORE_LCL_VAR byref V10 loc5
[000067] ------------ IL_OFFSET void IL offset: 0x12
N001 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V10 loc5
/--* t15 byref
N003 ( 7, 5) [000051] DA---------- * STORE_LCL_VAR long V16 tmp5
N004 ( 3, 2) [000052] ------------ t52 = LCL_VAR long V16 tmp5
/--* t52 long
N007 ( 14, 10) [000018] DA---------- * STORE_LCL_VAR long V09 loc4
[000068] ------------ IL_OFFSET void IL offset: 0x17
N001 ( 3, 10) [000085] -c---------- t85 = CNS_INT(h) long 0x4200A0 ftn
/--* t85 long
N002 ( 5, 12) [000086] -c---------- t86 = * IND long REG NA
/--* t86 long control expr
N001 ( 14, 5) [000024] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError
[000069] ------------ IL_OFFSET void IL offset: 0x25
N005 ( 3, 2) [000023] ------------ t23 = LCL_VAR long V04 arg4
/--* t23 long
[000087] ------------ * PUTARG_STK [+0x20] void
N006 ( 3, 2) [000019] ------------ t19 = LCL_VAR long V07 loc2
/--* t19 long
[000088] ------------ t88 = * PUTARG_REG long REG rcx
N007 ( 3, 2) [000020] ------------ t20 = LCL_VAR long V01 arg1
/--* t20 long
[000089] ------------ t89 = * PUTARG_REG long REG rdx
N008 ( 3, 2) [000021] ------------ t21 = LCL_VAR int V02 arg2
/--* t21 int
[000090] ------------ t90 = * PUTARG_REG int REG r8
N009 ( 3, 2) [000022] ------------ t22 = LCL_VAR long V09 loc4
/--* t22 long
[000091] ------------ t91 = * PUTARG_REG long REG r9
[000092] ------------ PINVOKE_PROLOG void
N001 ( 3, 3) [000093] ------------ t93 = LCL_VAR_ADDR long V15 PInvokeFrame
/--* t93 long
[000096] ------------ t96 = * PUTARG_REG long REG rcx
N001 ( 3, 10) [000097] -c---------- t97 = CNS_INT(h) long 0x4200E8 ftn
/--* t97 long
N002 ( 5, 12) [000098] -c---------- t98 = * IND long REG NA
/--* t96 long arg0 in rcx
+--* t98 long control expr
N002 ( 17, 9) [000094] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_BEGIN
N001 ( 3, 10) [000099] -c---------- t99 = CNS_INT(h) long 0x4200F0 ftn
/--* t99 long
N002 ( 5, 12) [000100] ------------ t100 = * IND long
/--* t100 long
N003 ( 8, 14) [000101] -c---------- t101 = * IND long REG NA
/--* t88 long arg0 in rcx
+--* t89 long arg1 in rdx
+--* t90 int arg2 in r8
+--* t91 long arg3 in r9
+--* t101 long control expr
N010 ( 32, 19) [000025] --CXG------- t25 = * CALL r2r_ind int Kernel32.ReadFile
N001 ( 3, 3) [000102] ------------ t102 = LCL_VAR_ADDR long V15 PInvokeFrame
/--* t102 long
[000105] ------------ t105 = * PUTARG_REG long REG rcx
N001 ( 3, 10) [000106] -c---------- t106 = CNS_INT(h) long 0x4200F8 ftn
/--* t106 long
N002 ( 5, 12) [000107] -c---------- t107 = * IND long REG NA
/--* t105 long arg0 in rcx
+--* t107 long control expr
N002 ( 17, 9) [000103] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_END
/--* t25 int
N012 ( 36, 22) [000027] DA-XG------- * STORE_LCL_VAR int V13 tmp2
[000070] ------------ IL_OFFSET void IL offset: 0x2a
N001 ( 3, 10) [000108] -c---------- t108 = CNS_INT(h) long 0x4200C8 ftn
/--* t108 long
N002 ( 5, 12) [000109] -c---------- t109 = * IND long REG NA
/--* t109 long control expr
N001 ( 14, 5) [000029] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError
[000071] ------------ IL_OFFSET void IL offset: 0x2f
N001 ( 3, 2) [000028] ------------ t28 = LCL_VAR int V13 tmp2
/--* t28 int
N003 ( 7, 5) [000031] DA---------- * STORE_LCL_VAR int V06 loc1
[000072] ------------ IL_OFFSET void IL offset: 0x30
N001 ( 3, 2) [000032] ------------ t32 = LCL_VAR int V06 loc1
/--* t32 int
N003 ( 7, 5) [000034] DA---------- * STORE_LCL_VAR int V05 loc0
[000073] ------------ IL_OFFSET void IL offset: 0x32
N001 ( 0, 0) [000035] ------------ NOP void
------------ BB03 [???..???) -> BB05 (callf), preds={BB02} succs={BB05}
------------ BB04 [???..???) -> BB08 (ALWAYS), preds={BB07} succs={BB08}
------------ BB08 [044..046) -> BB09 (always), preds={BB04} succs={BB09}
[000074] ------------ IL_OFFSET void IL offset: 0x44
N001 ( 3, 2) [000036] ------------ t36 = LCL_VAR int V05 loc0
/--* t36 int
N003 ( 7, 5) [000062] DA---------- * STORE_LCL_VAR int V14 tmp3
------------ BB09 [???..???) (return), preds={BB08} succs={}
N001 ( 3, 2) [000045] -------N---- t45 = LCL_VAR int V14 tmp3
/--* t45 int
N002 ( 4, 3) [000046] ------------ * RETURN int
------------ BB05 [037..03D) -> BB07 (cond), preds={BB03} succs={BB06,BB07}
[000075] ------------ IL_OFFSET void IL offset: 0x37
N001 ( 3, 2) [000038] ------------ t38 = LCL_VAR int (AX) V08 loc3
/--* t38 int
N002 ( 4, 4) [000059] ----G------- t59 = * CAST int <- bool <- int
N003 ( 1, 1) [000039] -c---------- t39 = CNS_INT int 0
/--* t59 int
+--* t39 int
N004 ( 6, 6) [000040] J---G--N---- * EQ void
N005 ( 8, 8) [000041] ----G------- * JTRUE void
------------ BB06 [03D..043), preds={BB05} succs={BB07}
[000076] ------------ IL_OFFSET void IL offset: 0x3d
N002 ( 3, 2) [000043] ------------ t43 = LCL_VAR ref V00 arg0
/--* t43 ref
[000110] ------------ t110 = * PUTARG_REG ref REG rcx
N001 ( 3, 10) [000111] -c---------- t111 = CNS_INT(h) long 0x4200E0 ftn
/--* t111 long
N002 ( 5, 12) [000112] -c---------- t112 = * IND long REG NA
/--* t110 ref this in rcx
+--* t112 long control expr
N003 ( 17, 9) [000044] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease
------------ BB07 [043..044) (finret), preds={BB05,BB06} succs={BB04}
[000077] ------------ IL_OFFSET void IL offset: 0x43
N001 ( 0, 0) [000042] ------------ RETFILT void
-------------------------------------------------------------------------------------------------------------------
*************** Starting PHASE Calculate stack level slots
*************** Finishing PHASE Calculate stack level slots [no changes]
*************** Starting PHASE Linear scan register alloc
Clearing modified regs.
buildIntervals ========
-----------------
LIVENESS:
-----------------
BB01 use def in out
{}
{}
{}
{}
BB02 use def in out
{}
{}
{}
{}
BB03 use def in out
{}
{}
{}
{}
BB04 use def in out
{}
{}
{}
{}
BB08 use def in out
{}
{}
{}
{}
BB09 use def in out
{}
{}
{}
{}
BB05 use def in out
{}
{}
{}
{}
BB06 use def in out
{}
{}
{}
{}
BB07 use def in out
{}
{}
{}
{}
EH Vars: {}
Finally Vars: {}
FP callee save candidate vars: None
floatVarCount = 0; hasLoops = 0, singleExit = 1
TUPLE STYLE DUMP BEFORE LSRA
LSRA Block Sequence: BB01( 1 )
BB02( 1 )
BB03( 1 )
BB05( 1 ) EH-in
BB06( 1 )
BB07( 1 ) EH-out
BB04( 1 ) EH-in EH-out
BB08( 1 ) EH-in
BB09( 1 )
BB01 [???..???), preds={} succs={BB02}
=====
N001. NOP
BB02 [000..037) -> BB03 (always), preds={BB01} succs={BB03}
=====
N000. IL_OFFSET IL offset: 0x0
N003. t3 = LCL_VAR_ADDR V08 loc3
N000. t78 = PUTARG_REG; t3
N004. t1 = V00 MEM
N000. t79 = PUTARG_REG; t1
N001. CNS_INT(h) 0x420058 ftn
N002. IND
N005. CALL r2r_ind; t78,t79
N000. IL_OFFSET IL offset: 0x8
N002. t5 = V00 MEM
N000. t82 = PUTARG_REG; t5
N001. CNS_INT(h) 0x420080 ftn
N002. IND
N003. t6 = CALL r2r_ind; t82
N005. V12 MEM; t6
N000. IL_OFFSET IL offset: 0xe
N001. t9 = V12 MEM
N003. V07 MEM; t9
N000. IL_OFFSET IL offset: 0xf
N001. t12 = V03 MEM
N003. V10 MEM; t12
N000. IL_OFFSET IL offset: 0x12
N001. t15 = V10 MEM
N003. V16 MEM; t15
N004. t52 = V16 MEM
N007. V09 MEM; t52
N000. IL_OFFSET IL offset: 0x17
N001. CNS_INT(h) 0x4200A0 ftn
N002. IND
N001. CALL r2r_ind
N000. IL_OFFSET IL offset: 0x25
N005. t23 = V04 MEM
N000. PUTARG_STK [+0x20]; t23
N006. t19 = V07 MEM
N000. t88 = PUTARG_REG; t19
N007. t20 = V01 MEM
N000. t89 = PUTARG_REG; t20
N008. t21 = V02 MEM
N000. t90 = PUTARG_REG; t21
N009. t22 = V09 MEM
N000. t91 = PUTARG_REG; t22
N000. PINVOKE_PROLOG
N001. t93 = LCL_VAR_ADDR V15 PInvokeFrame
N000. t96 = PUTARG_REG; t93
N001. CNS_INT(h) 0x4200E8 ftn
N002. IND
N002. CALL help; t96
N001. CNS_INT(h) 0x4200F0 ftn
N002. t100 = IND
N003. t101 = IND ; t100
N010. t25 = CALL r2r_ind; t88,t89,t90,t91,t101
N001. t102 = LCL_VAR_ADDR V15 PInvokeFrame
N000. t105 = PUTARG_REG; t102
N001. CNS_INT(h) 0x4200F8 ftn
N002. IND
N002. CALL help; t105
N012. V13 MEM; t25
N000. IL_OFFSET IL offset: 0x2a
N001. CNS_INT(h) 0x4200C8 ftn
N002. IND
N001. CALL r2r_ind
N000. IL_OFFSET IL offset: 0x2f
N001. t28 = V13 MEM
N003. V06 MEM; t28
N000. IL_OFFSET IL offset: 0x30
N001. t32 = V06 MEM
N003. V05 MEM; t32
N000. IL_OFFSET IL offset: 0x32
N001. NOP
BB03 [???..???) -> BB05 (callf), preds={BB02} succs={BB05}
=====
BB05 [037..03D) -> BB07 (cond), preds={BB03} succs={BB06,BB07}
=====
N000. IL_OFFSET IL offset: 0x37
N001. t38 = V08 MEM
N002. t59 = CAST ; t38
N003. CNS_INT 0
N004. EQ ; t59
N005. JTRUE
BB06 [03D..043), preds={BB05} succs={BB07}
=====
N000. IL_OFFSET IL offset: 0x3d
N002. t43 = V00 MEM
N000. t110 = PUTARG_REG; t43
N001. CNS_INT(h) 0x4200E0 ftn
N002. IND
N003. CALL r2r_ind; t110
BB07 [043..044) (finret), preds={BB05,BB06} succs={BB04}
=====
N000. IL_OFFSET IL offset: 0x43
N001. RETFILT
BB04 [???..???) -> BB08 (ALWAYS), preds={BB07} succs={BB08}
=====
BB08 [044..046) -> BB09 (always), preds={BB04} succs={BB09}
=====
N000. IL_OFFSET IL offset: 0x44
N001. t36 = V05 MEM
N003. V14 MEM; t36
BB09 [???..???) (return), preds={BB08} succs={}
=====
N001. t45 = V14 MEM
N002. RETURN ; t45
buildIntervals second part ========
Int arg V00 in reg rcx
Int arg V01 in reg rdx
Int arg V02 in reg r8
Int arg V03 in reg r9
NEW BLOCK BB01
<RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
DefList: { }
N002 ( 0, 0) [000000] ------------ * NOP void REG NA
NEW BLOCK BB02
Setting BB01 as the predecessor for determining incoming variable registers of BB02
<RefPosition #1 @4 RefTypeBB BB02 regmask=[] minReg=1>
DefList: { }
N006 (???,???) [000063] ------------ * IL_OFFSET void IL offset: 0x0 REG NA
DefList: { }
N008 ( 3, 3) [000003] ------------ * LCL_VAR_ADDR long V08 loc3 NA REG NA
Interval 0: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #2 @9 RefTypeDef <Ivl:0> LCL_VAR_ADDR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N008.t3. LCL_VAR_ADDR }
N010 (???,???) [000078] ------------ * PUTARG_REG long REG rdx
<RefPosition #3 @10 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #4 @10 RefTypeUse <Ivl:0> BB02 regmask=[rdx] minReg=1 last fixed>
Interval 1: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #5 @11 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #6 @11 RefTypeDef <Ivl:1> PUTARG_REG BB02 regmask=[rdx] minReg=1 fixed>
DefList: { N010.t78. PUTARG_REG }
N012 ( 3, 2) [000001] ------------ * LCL_VAR ref V00 arg0 NA REG NA
Interval 2: ref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #7 @13 RefTypeDef <Ivl:2> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N010.t78. PUTARG_REG; N012.t1. LCL_VAR }
N014 (???,???) [000079] ------------ * PUTARG_REG ref REG rcx
<RefPosition #8 @14 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #9 @14 RefTypeUse <Ivl:2> BB02 regmask=[rcx] minReg=1 last fixed>
Interval 3: ref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #10 @15 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #11 @15 RefTypeDef <Ivl:3> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
DefList: { N010.t78. PUTARG_REG; N014.t79. PUTARG_REG }
N016 ( 3, 10) [000080] -c---------- * CNS_INT(h) long 0x420058 ftn REG NA
Contained
DefList: { N010.t78. PUTARG_REG; N014.t79. PUTARG_REG }
N018 ( 5, 12) [000081] -c---------- * IND long REG NA
Contained
DefList: { N010.t78. PUTARG_REG; N014.t79. PUTARG_REG }
N020 ( 20, 13) [000004] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef REG NA
<RefPosition #12 @20 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #13 @20 RefTypeUse <Ivl:1> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #14 @20 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #15 @20 RefTypeUse <Ivl:3> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #16 @21 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #17 @21 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #18 @21 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #19 @21 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #20 @21 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #21 @21 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1>
<RefPosition #22 @21 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1>
DefList: { }
N022 (???,???) [000064] ------------ * IL_OFFSET void IL offset: 0x8 REG NA
DefList: { }
N024 ( 3, 2) [000005] ------------ * LCL_VAR ref V00 arg0 NA REG NA
Interval 4: ref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #23 @25 RefTypeDef <Ivl:4> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N024.t5. LCL_VAR }
N026 (???,???) [000082] ------------ * PUTARG_REG ref REG rcx
<RefPosition #24 @26 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #25 @26 RefTypeUse <Ivl:4> BB02 regmask=[rcx] minReg=1 last fixed>
Interval 5: ref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #26 @27 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #27 @27 RefTypeDef <Ivl:5> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
DefList: { N026.t82. PUTARG_REG }
N028 ( 3, 10) [000083] -c---------- * CNS_INT(h) long 0x420080 ftn REG NA
Contained
DefList: { N026.t82. PUTARG_REG }
N030 ( 5, 12) [000084] -c---------- * IND long REG NA
Contained
DefList: { N026.t82. PUTARG_REG }
N032 ( 17, 9) [000006] --CXG------- * CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle REG NA
<RefPosition #28 @32 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #29 @32 RefTypeUse <Ivl:5> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #30 @33 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #31 @33 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #32 @33 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #33 @33 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #34 @33 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #35 @33 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1>
<RefPosition #36 @33 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1>
Interval 6: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #37 @33 RefTypeFixedReg <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #38 @33 RefTypeDef <Ivl:6> CALL BB02 regmask=[rax] minReg=1 fixed>
DefList: { N032.t6. CALL }
N034 ( 21, 12) [000008] DA-XG------- * STORE_LCL_VAR long V12 tmp1 NA REG NA
<RefPosition #39 @34 RefTypeUse <Ivl:6> BB02 regmask=[allIntButFP] minReg=1 last>
DefList: { }
N036 (???,???) [000065] ------------ * IL_OFFSET void IL offset: 0xe REG NA
DefList: { }
N038 ( 3, 2) [000009] ------------ * LCL_VAR long V12 tmp1 NA REG NA
Interval 7: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #40 @39 RefTypeDef <Ivl:7> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N038.t9. LCL_VAR }
N040 ( 7, 5) [000011] DA---------- * STORE_LCL_VAR long V07 loc2 NA REG NA
<RefPosition #41 @40 RefTypeUse <Ivl:7> BB02 regmask=[allIntButFP] minReg=1 last>
DefList: { }
N042 (???,???) [000066] ------------ * IL_OFFSET void IL offset: 0xf REG NA
DefList: { }
N044 ( 3, 2) [000012] ------------ * LCL_VAR byref V03 arg3 NA REG NA
Interval 8: byref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #42 @45 RefTypeDef <Ivl:8> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N044.t12. LCL_VAR }
N046 ( 7, 5) [000014] DA---------- * STORE_LCL_VAR byref V10 loc5 NA REG NA
<RefPosition #43 @46 RefTypeUse <Ivl:8> BB02 regmask=[allIntButFP] minReg=1 last>
DefList: { }
N048 (???,???) [000067] ------------ * IL_OFFSET void IL offset: 0x12 REG NA
DefList: { }
N050 ( 3, 2) [000015] ------------ * LCL_VAR byref V10 loc5 NA REG NA
Interval 9: byref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #44 @51 RefTypeDef <Ivl:9> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N050.t15. LCL_VAR }
N052 ( 7, 5) [000051] DA---------- * STORE_LCL_VAR long V16 tmp5 NA REG NA
<RefPosition #45 @52 RefTypeUse <Ivl:9> BB02 regmask=[allIntButFP] minReg=1 last>
DefList: { }
N054 ( 3, 2) [000052] ------------ * LCL_VAR long V16 tmp5 NA REG NA
Interval 10: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #46 @55 RefTypeDef <Ivl:10> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N054.t52. LCL_VAR }
N056 ( 14, 10) [000018] DA---------- * STORE_LCL_VAR long V09 loc4 NA REG NA
<RefPosition #47 @56 RefTypeUse <Ivl:10> BB02 regmask=[allIntButFP] minReg=1 last>
DefList: { }
N058 (???,???) [000068] ------------ * IL_OFFSET void IL offset: 0x17 REG NA
DefList: { }
N060 ( 3, 10) [000085] -c---------- * CNS_INT(h) long 0x4200A0 ftn REG NA
Contained
DefList: { }
N062 ( 5, 12) [000086] -c---------- * IND long REG NA
Contained
DefList: { }
N064 ( 14, 5) [000024] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError REG NA
<RefPosition #48 @65 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #49 @65 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #50 @65 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #51 @65 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #52 @65 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #53 @65 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1>
<RefPosition #54 @65 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1>
DefList: { }
N066 (???,???) [000069] ------------ * IL_OFFSET void IL offset: 0x25 REG NA
DefList: { }
N068 ( 3, 2) [000023] ------------ * LCL_VAR long V04 arg4 NA REG NA
Interval 11: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #55 @69 RefTypeDef <Ivl:11> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N068.t23. LCL_VAR }
N070 (???,???) [000087] ------------ * PUTARG_STK [+0x20] void REG NA
<RefPosition #56 @70 RefTypeUse <Ivl:11> BB02 regmask=[allIntButFP] minReg=1 last>
DefList: { }
N072 ( 3, 2) [000019] ------------ * LCL_VAR long V07 loc2 NA REG NA
Interval 12: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #57 @73 RefTypeDef <Ivl:12> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N072.t19. LCL_VAR }
N074 (???,???) [000088] ------------ * PUTARG_REG long REG rcx
<RefPosition #58 @74 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #59 @74 RefTypeUse <Ivl:12> BB02 regmask=[rcx] minReg=1 last fixed>
Interval 13: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #60 @75 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #61 @75 RefTypeDef <Ivl:13> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
DefList: { N074.t88. PUTARG_REG }
N076 ( 3, 2) [000020] ------------ * LCL_VAR long V01 arg1 NA REG NA
Interval 14: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #62 @77 RefTypeDef <Ivl:14> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N074.t88. PUTARG_REG; N076.t20. LCL_VAR }
N078 (???,???) [000089] ------------ * PUTARG_REG long REG rdx
<RefPosition #63 @78 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #64 @78 RefTypeUse <Ivl:14> BB02 regmask=[rdx] minReg=1 last fixed>
Interval 15: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #65 @79 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #66 @79 RefTypeDef <Ivl:15> PUTARG_REG BB02 regmask=[rdx] minReg=1 fixed>
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG }
N080 ( 3, 2) [000021] ------------ * LCL_VAR int V02 arg2 NA REG NA
Interval 16: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #67 @81 RefTypeDef <Ivl:16> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N080.t21. LCL_VAR }
N082 (???,???) [000090] ------------ * PUTARG_REG int REG r8
<RefPosition #68 @82 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #69 @82 RefTypeUse <Ivl:16> BB02 regmask=[r8] minReg=1 last fixed>
Interval 17: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #70 @83 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #71 @83 RefTypeDef <Ivl:17> PUTARG_REG BB02 regmask=[r8] minReg=1 fixed>
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG }
N084 ( 3, 2) [000022] ------------ * LCL_VAR long V09 loc4 NA REG NA
Interval 18: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #72 @85 RefTypeDef <Ivl:18> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG; N084.t22. LCL_VAR }
N086 (???,???) [000091] ------------ * PUTARG_REG long REG r9
<RefPosition #73 @86 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #74 @86 RefTypeUse <Ivl:18> BB02 regmask=[r9] minReg=1 last fixed>
Interval 19: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #75 @87 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #76 @87 RefTypeDef <Ivl:19> PUTARG_REG BB02 regmask=[r9] minReg=1 fixed>
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG; N086.t91. PUTARG_REG }
N088 (???,???) [000092] ------------ * PINVOKE_PROLOG void REG NA
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG; N086.t91. PUTARG_REG }
N090 ( 3, 3) [000093] ------------ * LCL_VAR_ADDR long V15 PInvokeFrame NA REG NA
Interval 20: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #77 @91 RefTypeDef <Ivl:20> LCL_VAR_ADDR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG; N086.t91. PUTARG_REG; N090.t93. LCL_VAR_ADDR }
N092 (???,???) [000096] ------------ * PUTARG_REG long REG rcx
<RefPosition #78 @92 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #79 @92 RefTypeUse <Ivl:20> BB02 regmask=[rcx] minReg=1 last fixed>
Interval 21: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #80 @93 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #81 @93 RefTypeDef <Ivl:21> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG; N086.t91. PUTARG_REG; N092.t96. PUTARG_REG }
N094 ( 3, 10) [000097] -c---------- * CNS_INT(h) long 0x4200E8 ftn REG NA
Contained
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG; N086.t91. PUTARG_REG; N092.t96. PUTARG_REG }
N096 ( 5, 12) [000098] -c---------- * IND long REG NA
Contained
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG; N086.t91. PUTARG_REG; N092.t96. PUTARG_REG }
N098 ( 17, 9) [000094] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_BEGIN REG NA
<RefPosition #82 @98 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #83 @98 RefTypeUse <Ivl:21> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #84 @99 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #85 @99 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #86 @99 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #87 @99 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #88 @99 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #89 @99 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1>
<RefPosition #90 @99 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1>
<RefPosition #91 @99 RefTypeKillGCRefs CALL BB02 regmask=[rax rbx rsi rdi r10-r15] minReg=1>
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG; N086.t91. PUTARG_REG }
N100 ( 3, 10) [000099] -c---------- * CNS_INT(h) long 0x4200F0 ftn REG NA
Contained
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG; N086.t91. PUTARG_REG }
N102 ( 5, 12) [000100] ------------ * IND long REG NA
Interval 22: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #92 @103 RefTypeDef <Ivl:22> IND BB02 regmask=[allIntButFP] minReg=1>
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG; N086.t91. PUTARG_REG; N102.t100. IND }
N104 ( 8, 14) [000101] -c---------- * IND long REG NA
Contained
DefList: { N074.t88. PUTARG_REG; N078.t89. PUTARG_REG; N082.t90. PUTARG_REG; N086.t91. PUTARG_REG; N102.t100. IND }
N106 ( 32, 19) [000025] --CXG------- * CALL r2r_ind int Kernel32.ReadFile REG NA
<RefPosition #93 @106 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #94 @106 RefTypeUse <Ivl:13> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #95 @106 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #96 @106 RefTypeUse <Ivl:15> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #97 @106 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #98 @106 RefTypeUse <Ivl:17> BB02 regmask=[r8] minReg=1 last fixed>
<RefPosition #99 @106 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #100 @106 RefTypeUse <Ivl:19> BB02 regmask=[r9] minReg=1 last fixed>
<RefPosition #101 @106 RefTypeUse <Ivl:22> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #102 @107 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #103 @107 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #104 @107 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #105 @107 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #106 @107 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #107 @107 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1>
<RefPosition #108 @107 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1>
<RefPosition #109 @107 RefTypeKillGCRefs CALL BB02 regmask=[rax rbx rsi rdi r10-r15] minReg=1>
Interval 23: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #110 @107 RefTypeFixedReg <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #111 @107 RefTypeDef <Ivl:23> CALL BB02 regmask=[rax] minReg=1 fixed>
DefList: { N106.t25. CALL }
N108 ( 3, 3) [000102] ------------ * LCL_VAR_ADDR long V15 PInvokeFrame NA REG NA
Interval 24: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #112 @109 RefTypeDef <Ivl:24> LCL_VAR_ADDR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N106.t25. CALL; N108.t102. LCL_VAR_ADDR }
N110 (???,???) [000105] ------------ * PUTARG_REG long REG rcx
<RefPosition #113 @110 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #114 @110 RefTypeUse <Ivl:24> BB02 regmask=[rcx] minReg=1 last fixed>
Interval 25: long RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #115 @111 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #116 @111 RefTypeDef <Ivl:25> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
DefList: { N106.t25. CALL; N110.t105. PUTARG_REG }
N112 ( 3, 10) [000106] -c---------- * CNS_INT(h) long 0x4200F8 ftn REG NA
Contained
DefList: { N106.t25. CALL; N110.t105. PUTARG_REG }
N114 ( 5, 12) [000107] -c---------- * IND long REG NA
Contained
DefList: { N106.t25. CALL; N110.t105. PUTARG_REG }
N116 ( 17, 9) [000103] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_END REG NA
<RefPosition #117 @116 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #118 @116 RefTypeUse <Ivl:25> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #119 @117 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #120 @117 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #121 @117 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #122 @117 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #123 @117 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #124 @117 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1>
<RefPosition #125 @117 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1>
DefList: { N106.t25. CALL }
N118 ( 36, 22) [000027] DA-XG------- * STORE_LCL_VAR int V13 tmp2 NA REG NA
<RefPosition #126 @118 RefTypeUse <Ivl:23> BB02 regmask=[allIntButFP] minReg=1 last>
DefList: { }
N120 (???,???) [000070] ------------ * IL_OFFSET void IL offset: 0x2a REG NA
DefList: { }
N122 ( 3, 10) [000108] -c---------- * CNS_INT(h) long 0x4200C8 ftn REG NA
Contained
DefList: { }
N124 ( 5, 12) [000109] -c---------- * IND long REG NA
Contained
DefList: { }
N126 ( 14, 5) [000029] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError REG NA
<RefPosition #127 @127 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #128 @127 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #129 @127 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #130 @127 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #131 @127 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #132 @127 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1>
<RefPosition #133 @127 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1>
DefList: { }
N128 (???,???) [000071] ------------ * IL_OFFSET void IL offset: 0x2f REG NA
DefList: { }
N130 ( 3, 2) [000028] ------------ * LCL_VAR int V13 tmp2 NA REG NA
Interval 26: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #134 @131 RefTypeDef <Ivl:26> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N130.t28. LCL_VAR }
N132 ( 7, 5) [000031] DA---------- * STORE_LCL_VAR int V06 loc1 NA REG NA
<RefPosition #135 @132 RefTypeUse <Ivl:26> BB02 regmask=[allIntButFP] minReg=1 last>
DefList: { }
N134 (???,???) [000072] ------------ * IL_OFFSET void IL offset: 0x30 REG NA
DefList: { }
N136 ( 3, 2) [000032] ------------ * LCL_VAR int V06 loc1 NA REG NA
Interval 27: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #136 @137 RefTypeDef <Ivl:27> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
DefList: { N136.t32. LCL_VAR }
N138 ( 7, 5) [000034] DA---------- * STORE_LCL_VAR int V05 loc0 NA REG NA
<RefPosition #137 @138 RefTypeUse <Ivl:27> BB02 regmask=[allIntButFP] minReg=1 last>
DefList: { }
N140 (???,???) [000073] ------------ * IL_OFFSET void IL offset: 0x32 REG NA
DefList: { }
N142 ( 0, 0) [000035] ------------ * NOP void REG NA
NEW BLOCK BB03
Setting BB02 as the predecessor for determining incoming variable registers of BB03
<RefPosition #138 @144 RefTypeBB BB03 regmask=[] minReg=1>
NEW BLOCK BB05
Incoming EH boundary; <RefPosition #139 @146 RefTypeBB BB05 regmask=[] minReg=1>
DefList: { }
N148 (???,???) [000075] ------------ * IL_OFFSET void IL offset: 0x37 REG NA
DefList: { }
N150 ( 3, 2) [000038] ------------ * LCL_VAR int (AX) V08 loc3 NA REG NA
Interval 28: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #140 @151 RefTypeDef <Ivl:28> LCL_VAR BB05 regmask=[allIntButFP] minReg=1>
DefList: { N150.t38. LCL_VAR }
N152 ( 4, 4) [000059] ----G------- * CAST int <- bool <- int REG NA
<RefPosition #141 @152 RefTypeUse <Ivl:28> BB05 regmask=[allIntButFP] minReg=1 last>
Interval 29: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #142 @153 RefTypeDef <Ivl:29> CAST BB05 regmask=[allIntButFP] minReg=1>
DefList: { N152.t59. CAST }
N154 ( 1, 1) [000039] -c---------- * CNS_INT int 0 REG NA
Contained
DefList: { N152.t59. CAST }
N156 ( 6, 6) [000040] J---G--N---- * EQ void REG NA
<RefPosition #143 @156 RefTypeUse <Ivl:29> BB05 regmask=[allIntButFP] minReg=1 last>
DefList: { }
N158 ( 8, 8) [000041] ----G------- * JTRUE void REG NA
NEW BLOCK BB06
Setting BB05 as the predecessor for determining incoming variable registers of BB06
<RefPosition #144 @160 RefTypeBB BB06 regmask=[] minReg=1>
DefList: { }
N162 (???,???) [000076] ------------ * IL_OFFSET void IL offset: 0x3d REG NA
DefList: { }
N164 ( 3, 2) [000043] ------------ * LCL_VAR ref V00 arg0 NA REG NA
Interval 30: ref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #145 @165 RefTypeDef <Ivl:30> LCL_VAR BB06 regmask=[allIntButFP] minReg=1>
DefList: { N164.t43. LCL_VAR }
N166 (???,???) [000110] ------------ * PUTARG_REG ref REG rcx
<RefPosition #146 @166 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #147 @166 RefTypeUse <Ivl:30> BB06 regmask=[rcx] minReg=1 last fixed>
Interval 31: ref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #148 @167 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #149 @167 RefTypeDef <Ivl:31> PUTARG_REG BB06 regmask=[rcx] minReg=1 fixed>
DefList: { N166.t110. PUTARG_REG }
N168 ( 3, 10) [000111] -c---------- * CNS_INT(h) long 0x4200E0 ftn REG NA
Contained
DefList: { N166.t110. PUTARG_REG }
N170 ( 5, 12) [000112] -c---------- * IND long REG NA
Contained
DefList: { N166.t110. PUTARG_REG }
N172 ( 17, 9) [000044] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease REG NA
<RefPosition #150 @172 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #151 @172 RefTypeUse <Ivl:31> BB06 regmask=[rcx] minReg=1 last fixed>
<RefPosition #152 @173 RefTypeKill <Reg:rax> BB06 regmask=[rax] minReg=1>
<RefPosition #153 @173 RefTypeKill <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #154 @173 RefTypeKill <Reg:rdx> BB06 regmask=[rdx] minReg=1>
<RefPosition #155 @173 RefTypeKill <Reg:r8 > BB06 regmask=[r8] minReg=1>
<RefPosition #156 @173 RefTypeKill <Reg:r9 > BB06 regmask=[r9] minReg=1>
<RefPosition #157 @173 RefTypeKill <Reg:r10> BB06 regmask=[r10] minReg=1>
<RefPosition #158 @173 RefTypeKill <Reg:r11> BB06 regmask=[r11] minReg=1>
NEW BLOCK BB07
Setting BB05 as the predecessor for determining incoming variable registers of BB07
<RefPosition #159 @174 RefTypeBB BB07 regmask=[] minReg=1>
DefList: { }
N176 (???,???) [000077] ------------ * IL_OFFSET void IL offset: 0x43 REG NA
DefList: { }
N178 ( 0, 0) [000042] ------------ * RETFILT void REG NA
NEW BLOCK BB04
Incoming EH boundary; <RefPosition #160 @180 RefTypeBB BB04 regmask=[] minReg=1>
NEW BLOCK BB08
Incoming EH boundary; <RefPosition #161 @182 RefTypeBB BB08 regmask=[] minReg=1>
DefList: { }
N184 (???,???) [000074] ------------ * IL_OFFSET void IL offset: 0x44 REG NA
DefList: { }
N186 ( 3, 2) [000036] ------------ * LCL_VAR int V05 loc0 NA REG NA
Interval 32: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #162 @187 RefTypeDef <Ivl:32> LCL_VAR BB08 regmask=[allIntButFP] minReg=1>
DefList: { N186.t36. LCL_VAR }
N188 ( 7, 5) [000062] DA---------- * STORE_LCL_VAR int V14 tmp3 NA REG NA
<RefPosition #163 @188 RefTypeUse <Ivl:32> BB08 regmask=[allIntButFP] minReg=1 last>
NEW BLOCK BB09
Setting BB08 as the predecessor for determining incoming variable registers of BB09
<RefPosition #164 @190 RefTypeBB BB09 regmask=[] minReg=1>
DefList: { }
N192 ( 3, 2) [000045] -------N---- * LCL_VAR int V14 tmp3 NA REG NA
Interval 33: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #165 @193 RefTypeDef <Ivl:33> LCL_VAR BB09 regmask=[allIntButFP] minReg=1>
DefList: { N192.t45. LCL_VAR }
N194 ( 4, 3) [000046] ------------ * RETURN int REG NA
<RefPosition #166 @194 RefTypeFixedReg <Reg:rax> BB09 regmask=[rax] minReg=1>
<RefPosition #167 @194 RefTypeUse <Ivl:33> BB09 regmask=[rax] minReg=1 last fixed>
Linear scan intervals BEFORE VALIDATING INTERVALS:
Interval 0: long RefPositions {#2@9 #4@10} physReg:NA Preferences=[rdx]
Interval 1: long RefPositions {#6@11 #13@20} physReg:NA Preferences=[rdx]
Interval 2: ref RefPositions {#7@13 #9@14} physReg:NA Preferences=[rcx]
Interval 3: ref RefPositions {#11@15 #15@20} physReg:NA Preferences=[rcx]
Interval 4: ref RefPositions {#23@25 #25@26} physReg:NA Preferences=[rcx]
Interval 5: ref RefPositions {#27@27 #29@32} physReg:NA Preferences=[rcx]
Interval 6: long RefPositions {#38@33 #39@34} physReg:NA Preferences=[rax]
Interval 7: long RefPositions {#40@39 #41@40} physReg:NA Preferences=[allIntButFP]
Interval 8: byref RefPositions {#42@45 #43@46} physReg:NA Preferences=[allIntButFP]
Interval 9: byref RefPositions {#44@51 #45@52} physReg:NA Preferences=[allIntButFP]
Interval 10: long RefPositions {#46@55 #47@56} physReg:NA Preferences=[allIntButFP]
Interval 11: long RefPositions {#55@69 #56@70} physReg:NA Preferences=[allIntButFP]
Interval 12: long RefPositions {#57@73 #59@74} physReg:NA Preferences=[rcx]
Interval 13: long RefPositions {#61@75 #94@106} physReg:NA Preferences=[rcx]
Interval 14: long RefPositions {#62@77 #64@78} physReg:NA Preferences=[rdx]
Interval 15: long RefPositions {#66@79 #96@106} physReg:NA Preferences=[rdx]
Interval 16: int RefPositions {#67@81 #69@82} physReg:NA Preferences=[r8]
Interval 17: int RefPositions {#71@83 #98@106} physReg:NA Preferences=[r8]
Interval 18: long RefPositions {#72@85 #74@86} physReg:NA Preferences=[r9]
Interval 19: long RefPositions {#76@87 #100@106} physReg:NA Preferences=[r9]
Interval 20: long RefPositions {#77@91 #79@92} physReg:NA Preferences=[rcx]
Interval 21: long RefPositions {#81@93 #83@98} physReg:NA Preferences=[rcx]
Interval 22: long RefPositions {#92@103 #101@106} physReg:NA Preferences=[allIntButFP]
Interval 23: int RefPositions {#111@107 #126@118} physReg:NA Preferences=[rax]
Interval 24: long RefPositions {#112@109 #114@110} physReg:NA Preferences=[rcx]
Interval 25: long RefPositions {#116@111 #118@116} physReg:NA Preferences=[rcx]
Interval 26: int RefPositions {#134@131 #135@132} physReg:NA Preferences=[allIntButFP]
Interval 27: int RefPositions {#136@137 #137@138} physReg:NA Preferences=[allIntButFP]
Interval 28: int RefPositions {#140@151 #141@152} physReg:NA Preferences=[allIntButFP]
Interval 29: int RefPositions {#142@153 #143@156} physReg:NA Preferences=[allIntButFP]
Interval 30: ref RefPositions {#145@165 #147@166} physReg:NA Preferences=[rcx]
Interval 31: ref RefPositions {#149@167 #151@172} physReg:NA Preferences=[rcx]
Interval 32: int RefPositions {#162@187 #163@188} physReg:NA Preferences=[allIntButFP]
Interval 33: int RefPositions {#165@193 #167@194} physReg:NA Preferences=[rax]
------------
REFPOSITIONS BEFORE VALIDATING INTERVALS:
------------
<RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
<RefPosition #1 @4 RefTypeBB BB02 regmask=[] minReg=1>
<RefPosition #2 @9 RefTypeDef <Ivl:0> LCL_VAR_ADDR BB02 regmask=[rdx] minReg=1>
<RefPosition #3 @10 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #4 @10 RefTypeUse <Ivl:0> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #5 @11 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #6 @11 RefTypeDef <Ivl:1> PUTARG_REG BB02 regmask=[rdx] minReg=1 fixed>
<RefPosition #7 @13 RefTypeDef <Ivl:2> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #8 @14 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #9 @14 RefTypeUse <Ivl:2> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #10 @15 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #11 @15 RefTypeDef <Ivl:3> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #12 @20 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #13 @20 RefTypeUse <Ivl:1> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #14 @20 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #15 @20 RefTypeUse <Ivl:3> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #16 @21 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #17 @21 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #18 @21 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #19 @21 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #20 @21 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #21 @21 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #22 @21 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #23 @25 RefTypeDef <Ivl:4> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #24 @26 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #25 @26 RefTypeUse <Ivl:4> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #26 @27 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #27 @27 RefTypeDef <Ivl:5> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #28 @32 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #29 @32 RefTypeUse <Ivl:5> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #30 @33 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #31 @33 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #32 @33 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #33 @33 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #34 @33 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #35 @33 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #36 @33 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #37 @33 RefTypeFixedReg <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #38 @33 RefTypeDef <Ivl:6> CALL BB02 regmask=[rax] minReg=1 fixed>
<RefPosition #39 @34 RefTypeUse <Ivl:6> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #40 @39 RefTypeDef <Ivl:7> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #41 @40 RefTypeUse <Ivl:7> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #42 @45 RefTypeDef <Ivl:8> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #43 @46 RefTypeUse <Ivl:8> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #44 @51 RefTypeDef <Ivl:9> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #45 @52 RefTypeUse <Ivl:9> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #46 @55 RefTypeDef <Ivl:10> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #47 @56 RefTypeUse <Ivl:10> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #48 @65 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #49 @65 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #50 @65 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #51 @65 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #52 @65 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #53 @65 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #54 @65 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #55 @69 RefTypeDef <Ivl:11> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #56 @70 RefTypeUse <Ivl:11> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #57 @73 RefTypeDef <Ivl:12> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #58 @74 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #59 @74 RefTypeUse <Ivl:12> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #60 @75 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #61 @75 RefTypeDef <Ivl:13> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #62 @77 RefTypeDef <Ivl:14> LCL_VAR BB02 regmask=[rdx] minReg=1>
<RefPosition #63 @78 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #64 @78 RefTypeUse <Ivl:14> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #65 @79 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #66 @79 RefTypeDef <Ivl:15> PUTARG_REG BB02 regmask=[rdx] minReg=1 fixed>
<RefPosition #67 @81 RefTypeDef <Ivl:16> LCL_VAR BB02 regmask=[r8] minReg=1>
<RefPosition #68 @82 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #69 @82 RefTypeUse <Ivl:16> BB02 regmask=[r8] minReg=1 last fixed>
<RefPosition #70 @83 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #71 @83 RefTypeDef <Ivl:17> PUTARG_REG BB02 regmask=[r8] minReg=1 fixed>
<RefPosition #72 @85 RefTypeDef <Ivl:18> LCL_VAR BB02 regmask=[r9] minReg=1>
<RefPosition #73 @86 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #74 @86 RefTypeUse <Ivl:18> BB02 regmask=[r9] minReg=1 last fixed>
<RefPosition #75 @87 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #76 @87 RefTypeDef <Ivl:19> PUTARG_REG BB02 regmask=[r9] minReg=1 fixed>
<RefPosition #77 @91 RefTypeDef <Ivl:20> LCL_VAR_ADDR BB02 regmask=[rcx] minReg=1>
<RefPosition #78 @92 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #79 @92 RefTypeUse <Ivl:20> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #80 @93 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #81 @93 RefTypeDef <Ivl:21> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #82 @98 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #83 @98 RefTypeUse <Ivl:21> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #84 @99 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #85 @99 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #86 @99 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #87 @99 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #88 @99 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #89 @99 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #90 @99 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #91 @99 RefTypeKillGCRefs CALL BB02 regmask=[rax rbx rsi rdi r10-r15] minReg=1>
<RefPosition #92 @103 RefTypeDef <Ivl:22> IND BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #93 @106 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #94 @106 RefTypeUse <Ivl:13> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #95 @106 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #96 @106 RefTypeUse <Ivl:15> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #97 @106 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #98 @106 RefTypeUse <Ivl:17> BB02 regmask=[r8] minReg=1 last fixed>
<RefPosition #99 @106 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #100 @106 RefTypeUse <Ivl:19> BB02 regmask=[r9] minReg=1 last fixed>
<RefPosition #101 @106 RefTypeUse <Ivl:22> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #102 @107 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #103 @107 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #104 @107 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #105 @107 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #106 @107 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #107 @107 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #108 @107 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #109 @107 RefTypeKillGCRefs CALL BB02 regmask=[rax rbx rsi rdi r10-r15] minReg=1>
<RefPosition #110 @107 RefTypeFixedReg <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #111 @107 RefTypeDef <Ivl:23> CALL BB02 regmask=[rax] minReg=1 fixed>
<RefPosition #112 @109 RefTypeDef <Ivl:24> LCL_VAR_ADDR BB02 regmask=[rcx] minReg=1>
<RefPosition #113 @110 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #114 @110 RefTypeUse <Ivl:24> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #115 @111 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #116 @111 RefTypeDef <Ivl:25> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #117 @116 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #118 @116 RefTypeUse <Ivl:25> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #119 @117 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #120 @117 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #121 @117 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #122 @117 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #123 @117 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #124 @117 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #125 @117 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #126 @118 RefTypeUse <Ivl:23> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #127 @127 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #128 @127 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #129 @127 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #130 @127 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #131 @127 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #132 @127 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #133 @127 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #134 @131 RefTypeDef <Ivl:26> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #135 @132 RefTypeUse <Ivl:26> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #136 @137 RefTypeDef <Ivl:27> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #137 @138 RefTypeUse <Ivl:27> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #138 @144 RefTypeBB BB03 regmask=[] minReg=1>
<RefPosition #139 @146 RefTypeBB BB05 regmask=[] minReg=1>
<RefPosition #140 @151 RefTypeDef <Ivl:28> LCL_VAR BB05 regmask=[allIntButFP] minReg=1>
<RefPosition #141 @152 RefTypeUse <Ivl:28> BB05 regmask=[allIntButFP] minReg=1 last>
<RefPosition #142 @153 RefTypeDef <Ivl:29> CAST BB05 regmask=[allIntButFP] minReg=1>
<RefPosition #143 @156 RefTypeUse <Ivl:29> BB05 regmask=[allIntButFP] minReg=1 last regOptional>
<RefPosition #144 @160 RefTypeBB BB06 regmask=[] minReg=1>
<RefPosition #145 @165 RefTypeDef <Ivl:30> LCL_VAR BB06 regmask=[rcx] minReg=1>
<RefPosition #146 @166 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #147 @166 RefTypeUse <Ivl:30> BB06 regmask=[rcx] minReg=1 last fixed>
<RefPosition #148 @167 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #149 @167 RefTypeDef <Ivl:31> PUTARG_REG BB06 regmask=[rcx] minReg=1 fixed>
<RefPosition #150 @172 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #151 @172 RefTypeUse <Ivl:31> BB06 regmask=[rcx] minReg=1 last fixed>
<RefPosition #152 @173 RefTypeKill <Reg:rax> BB06 regmask=[rax] minReg=1 last>
<RefPosition #153 @173 RefTypeKill <Reg:rcx> BB06 regmask=[rcx] minReg=1 last>
<RefPosition #154 @173 RefTypeKill <Reg:rdx> BB06 regmask=[rdx] minReg=1 last>
<RefPosition #155 @173 RefTypeKill <Reg:r8 > BB06 regmask=[r8] minReg=1 last>
<RefPosition #156 @173 RefTypeKill <Reg:r9 > BB06 regmask=[r9] minReg=1 last>
<RefPosition #157 @173 RefTypeKill <Reg:r10> BB06 regmask=[r10] minReg=1 last>
<RefPosition #158 @173 RefTypeKill <Reg:r11> BB06 regmask=[r11] minReg=1 last>
<RefPosition #159 @174 RefTypeBB BB07 regmask=[] minReg=1>
<RefPosition #160 @180 RefTypeBB BB04 regmask=[] minReg=1>
<RefPosition #161 @182 RefTypeBB BB08 regmask=[] minReg=1>
<RefPosition #162 @187 RefTypeDef <Ivl:32> LCL_VAR BB08 regmask=[allIntButFP] minReg=1>
<RefPosition #163 @188 RefTypeUse <Ivl:32> BB08 regmask=[allIntButFP] minReg=1 last>
<RefPosition #164 @190 RefTypeBB BB09 regmask=[] minReg=1>
<RefPosition #165 @193 RefTypeDef <Ivl:33> LCL_VAR BB09 regmask=[rax] minReg=1>
<RefPosition #166 @194 RefTypeFixedReg <Reg:rax> BB09 regmask=[rax] minReg=1>
<RefPosition #167 @194 RefTypeUse <Ivl:33> BB09 regmask=[rax] minReg=1 last fixed>
TUPLE STYLE DUMP WITH REF POSITIONS
Incoming Parameters:
BB01 [???..???), preds={} succs={BB02}
=====
N002. NOP
BB02 [000..037) -> BB03 (always), preds={BB01} succs={BB03}
=====
N006. IL_OFFSET IL offset: 0x0
N008. LCL_VAR_ADDR V08 loc3 NA
Def:<I0>(#2)
N010. PUTARG_REG
Use:<I0>(#4) Fixed:rdx(#3) *
Def:<I1>(#6) rdx
N012. V00 MEM
Def:<I2>(#7)
N014. PUTARG_REG
Use:<I2>(#9) Fixed:rcx(#8) *
Def:<I3>(#11) rcx
N016. CNS_INT(h) 0x420058 ftn
N018. IND
N020. CALL r2r_ind
Use:<I1>(#13) Fixed:rdx(#12) *
Use:<I3>(#15) Fixed:rcx(#14) *
Kill: rax rcx rdx r8 r9 r10 r11
N022. IL_OFFSET IL offset: 0x8
N024. V00 MEM
Def:<I4>(#23)
N026. PUTARG_REG
Use:<I4>(#25) Fixed:rcx(#24) *
Def:<I5>(#27) rcx
N028. CNS_INT(h) 0x420080 ftn
N030. IND
N032. CALL r2r_ind
Use:<I5>(#29) Fixed:rcx(#28) *
Kill: rax rcx rdx r8 r9 r10 r11
Def:<I6>(#38) rax
N034. V12 MEM
Use:<I6>(#39) *
N036. IL_OFFSET IL offset: 0xe
N038. V12 MEM
Def:<I7>(#40)
N040. V07 MEM
Use:<I7>(#41) *
N042. IL_OFFSET IL offset: 0xf
N044. V03 MEM
Def:<I8>(#42)
N046. V10 MEM
Use:<I8>(#43) *
N048. IL_OFFSET IL offset: 0x12
N050. V10 MEM
Def:<I9>(#44)
N052. V16 MEM
Use:<I9>(#45) *
N054. V16 MEM
Def:<I10>(#46)
N056. V09 MEM
Use:<I10>(#47) *
N058. IL_OFFSET IL offset: 0x17
N060. CNS_INT(h) 0x4200A0 ftn
N062. IND
N064. CALL r2r_ind
Kill: rax rcx rdx r8 r9 r10 r11
N066. IL_OFFSET IL offset: 0x25
N068. V04 MEM
Def:<I11>(#55)
N070. PUTARG_STK [+0x20]
Use:<I11>(#56) *
N072. V07 MEM
Def:<I12>(#57)
N074. PUTARG_REG
Use:<I12>(#59) Fixed:rcx(#58) *
Def:<I13>(#61) rcx
N076. V01 MEM
Def:<I14>(#62)
N078. PUTARG_REG
Use:<I14>(#64) Fixed:rdx(#63) *
Def:<I15>(#66) rdx
N080. V02 MEM
Def:<I16>(#67)
N082. PUTARG_REG
Use:<I16>(#69) Fixed:r8(#68) *
Def:<I17>(#71) r8
N084. V09 MEM
Def:<I18>(#72)
N086. PUTARG_REG
Use:<I18>(#74) Fixed:r9(#73) *
Def:<I19>(#76) r9
N088. PINVOKE_PROLOG
N090. LCL_VAR_ADDR V15 PInvokeFrame NA
Def:<I20>(#77)
N092. PUTARG_REG
Use:<I20>(#79) Fixed:rcx(#78) *
Def:<I21>(#81) rcx
N094. CNS_INT(h) 0x4200E8 ftn
N096. IND
N098. CALL help
Use:<I21>(#83) Fixed:rcx(#82) *
Kill: rax rcx rdx r8 r9 r10 r11
N100. CNS_INT(h) 0x4200F0 ftn
N102. IND
N104. IND
N106. CALL r2r_ind
N108. LCL_VAR_ADDR V15 PInvokeFrame NA
N110. PUTARG_REG
N112. CNS_INT(h) 0x4200F8 ftn
N114. IND
N116. CALL help
N118. V13 MEM
N120. IL_OFFSET IL offset: 0x2a
N122. CNS_INT(h) 0x4200C8 ftn
N124. IND
N126. CALL r2r_ind
N128. IL_OFFSET IL offset: 0x2f
N130. V13 MEM
N132. V06 MEM
N134. IL_OFFSET IL offset: 0x30
N136. V06 MEM
N138. V05 MEM
N140. IL_OFFSET IL offset: 0x32
N142. NOP
N148. IL_OFFSET IL offset: 0x37
N150. V08 MEM
N152. CAST
N154. CNS_INT 0
N156. EQ
N158. JTRUE
N162. IL_OFFSET IL offset: 0x3d
N164. V00 MEM
N166. PUTARG_REG
N168. CNS_INT(h) 0x4200E0 ftn
N170. IND
N172. CALL r2r_ind
N176. IL_OFFSET IL offset: 0x43
N178. RETFILT
N184. IL_OFFSET IL offset: 0x44
N186. V05 MEM
N188. V14 MEM
N192. V14 MEM
N194. RETURN
Linear scan intervals after buildIntervals:
Interval 0: long RefPositions {#2@9 #4@10} physReg:NA Preferences=[rdx]
Interval 1: long RefPositions {#6@11 #13@20} physReg:NA Preferences=[rdx]
Interval 2: ref RefPositions {#7@13 #9@14} physReg:NA Preferences=[rcx]
Interval 3: ref RefPositions {#11@15 #15@20} physReg:NA Preferences=[rcx]
Interval 4: ref RefPositions {#23@25 #25@26} physReg:NA Preferences=[rcx]
Interval 5: ref RefPositions {#27@27 #29@32} physReg:NA Preferences=[rcx]
Interval 6: long RefPositions {#38@33 #39@34} physReg:NA Preferences=[rax]
Interval 7: long RefPositions {#40@39 #41@40} physReg:NA Preferences=[allIntButFP]
Interval 8: byref RefPositions {#42@45 #43@46} physReg:NA Preferences=[allIntButFP]
Interval 9: byref RefPositions {#44@51 #45@52} physReg:NA Preferences=[allIntButFP]
Interval 10: long RefPositions {#46@55 #47@56} physReg:NA Preferences=[allIntButFP]
Interval 11: long RefPositions {#55@69 #56@70} physReg:NA Preferences=[allIntButFP]
Interval 12: long RefPositions {#57@73 #59@74} physReg:NA Preferences=[rcx]
Interval 13: long RefPositions {#61@75 #94@106} physReg:NA Preferences=[rcx]
Interval 14: long RefPositions {#62@77 #64@78} physReg:NA Preferences=[rdx]
Interval 15: long RefPositions {#66@79 #96@106} physReg:NA Preferences=[rdx]
Interval 16: int RefPositions {#67@81 #69@82} physReg:NA Preferences=[r8]
Interval 17: int RefPositions {#71@83 #98@106} physReg:NA Preferences=[r8]
Interval 18: long RefPositions {#72@85 #74@86} physReg:NA Preferences=[r9]
Interval 19: long RefPositions {#76@87 #100@106} physReg:NA Preferences=[r9]
Interval 20: long RefPositions {#77@91 #79@92} physReg:NA Preferences=[rcx]
Interval 21: long RefPositions {#81@93 #83@98} physReg:NA Preferences=[rcx]
Interval 22: long RefPositions {#92@103 #101@106} physReg:NA Preferences=[allIntButFP]
Interval 23: int RefPositions {#111@107 #126@118} physReg:NA Preferences=[rax]
Interval 24: long RefPositions {#112@109 #114@110} physReg:NA Preferences=[rcx]
Interval 25: long RefPositions {#116@111 #118@116} physReg:NA Preferences=[rcx]
Interval 26: int RefPositions {#134@131 #135@132} physReg:NA Preferences=[allIntButFP]
Interval 27: int RefPositions {#136@137 #137@138} physReg:NA Preferences=[allIntButFP]
Interval 28: int RefPositions {#140@151 #141@152} physReg:NA Preferences=[allIntButFP]
Interval 29: int RefPositions {#142@153 #143@156} physReg:NA Preferences=[allIntButFP]
Interval 30: ref RefPositions {#145@165 #147@166} physReg:NA Preferences=[rcx]
Interval 31: ref RefPositions {#149@167 #151@172} physReg:NA Preferences=[rcx]
Interval 32: int RefPositions {#162@187 #163@188} physReg:NA Preferences=[allIntButFP]
Interval 33: int RefPositions {#165@193 #167@194} physReg:NA Preferences=[rax]
*************** In LinearScan::allocateRegisters()
Linear scan intervals before allocateRegisters:
Interval 0: long RefPositions {#2@9 #4@10} physReg:NA Preferences=[rdx]
Interval 1: long RefPositions {#6@11 #13@20} physReg:NA Preferences=[rdx]
Interval 2: ref RefPositions {#7@13 #9@14} physReg:NA Preferences=[rcx]
Interval 3: ref RefPositions {#11@15 #15@20} physReg:NA Preferences=[rcx]
Interval 4: ref RefPositions {#23@25 #25@26} physReg:NA Preferences=[rcx]
Interval 5: ref RefPositions {#27@27 #29@32} physReg:NA Preferences=[rcx]
Interval 6: long RefPositions {#38@33 #39@34} physReg:NA Preferences=[rax]
Interval 7: long RefPositions {#40@39 #41@40} physReg:NA Preferences=[allIntButFP]
Interval 8: byref RefPositions {#42@45 #43@46} physReg:NA Preferences=[allIntButFP]
Interval 9: byref RefPositions {#44@51 #45@52} physReg:NA Preferences=[allIntButFP]
Interval 10: long RefPositions {#46@55 #47@56} physReg:NA Preferences=[allIntButFP]
Interval 11: long RefPositions {#55@69 #56@70} physReg:NA Preferences=[allIntButFP]
Interval 12: long RefPositions {#57@73 #59@74} physReg:NA Preferences=[rcx]
Interval 13: long RefPositions {#61@75 #94@106} physReg:NA Preferences=[rcx]
Interval 14: long RefPositions {#62@77 #64@78} physReg:NA Preferences=[rdx]
Interval 15: long RefPositions {#66@79 #96@106} physReg:NA Preferences=[rdx]
Interval 16: int RefPositions {#67@81 #69@82} physReg:NA Preferences=[r8]
Interval 17: int RefPositions {#71@83 #98@106} physReg:NA Preferences=[r8]
Interval 18: long RefPositions {#72@85 #74@86} physReg:NA Preferences=[r9]
Interval 19: long RefPositions {#76@87 #100@106} physReg:NA Preferences=[r9]
Interval 20: long RefPositions {#77@91 #79@92} physReg:NA Preferences=[rcx]
Interval 21: long RefPositions {#81@93 #83@98} physReg:NA Preferences=[rcx]
Interval 22: long RefPositions {#92@103 #101@106} physReg:NA Preferences=[allIntButFP]
Interval 23: int RefPositions {#111@107 #126@118} physReg:NA Preferences=[rax]
Interval 24: long RefPositions {#112@109 #114@110} physReg:NA Preferences=[rcx]
Interval 25: long RefPositions {#116@111 #118@116} physReg:NA Preferences=[rcx]
Interval 26: int RefPositions {#134@131 #135@132} physReg:NA Preferences=[allIntButFP]
Interval 27: int RefPositions {#136@137 #137@138} physReg:NA Preferences=[allIntButFP]
Interval 28: int RefPositions {#140@151 #141@152} physReg:NA Preferences=[allIntButFP]
Interval 29: int RefPositions {#142@153 #143@156} physReg:NA Preferences=[allIntButFP]
Interval 30: ref RefPositions {#145@165 #147@166} physReg:NA Preferences=[rcx]
Interval 31: ref RefPositions {#149@167 #151@172} physReg:NA Preferences=[rcx]
Interval 32: int RefPositions {#162@187 #163@188} physReg:NA Preferences=[allIntButFP]
Interval 33: int RefPositions {#165@193 #167@194} physReg:NA Preferences=[rax]
------------
REFPOSITIONS BEFORE ALLOCATION:
------------
<RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
<RefPosition #1 @4 RefTypeBB BB02 regmask=[] minReg=1>
<RefPosition #2 @9 RefTypeDef <Ivl:0> LCL_VAR_ADDR BB02 regmask=[rdx] minReg=1>
<RefPosition #3 @10 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #4 @10 RefTypeUse <Ivl:0> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #5 @11 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #6 @11 RefTypeDef <Ivl:1> PUTARG_REG BB02 regmask=[rdx] minReg=1 fixed>
<RefPosition #7 @13 RefTypeDef <Ivl:2> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #8 @14 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #9 @14 RefTypeUse <Ivl:2> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #10 @15 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #11 @15 RefTypeDef <Ivl:3> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #12 @20 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #13 @20 RefTypeUse <Ivl:1> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #14 @20 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #15 @20 RefTypeUse <Ivl:3> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #16 @21 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #17 @21 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #18 @21 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #19 @21 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #20 @21 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #21 @21 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #22 @21 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #23 @25 RefTypeDef <Ivl:4> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #24 @26 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #25 @26 RefTypeUse <Ivl:4> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #26 @27 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #27 @27 RefTypeDef <Ivl:5> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #28 @32 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #29 @32 RefTypeUse <Ivl:5> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #30 @33 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #31 @33 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #32 @33 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #33 @33 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #34 @33 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #35 @33 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #36 @33 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #37 @33 RefTypeFixedReg <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #38 @33 RefTypeDef <Ivl:6> CALL BB02 regmask=[rax] minReg=1 fixed>
<RefPosition #39 @34 RefTypeUse <Ivl:6> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #40 @39 RefTypeDef <Ivl:7> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #41 @40 RefTypeUse <Ivl:7> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #42 @45 RefTypeDef <Ivl:8> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #43 @46 RefTypeUse <Ivl:8> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #44 @51 RefTypeDef <Ivl:9> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #45 @52 RefTypeUse <Ivl:9> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #46 @55 RefTypeDef <Ivl:10> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #47 @56 RefTypeUse <Ivl:10> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #48 @65 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #49 @65 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #50 @65 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #51 @65 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #52 @65 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #53 @65 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #54 @65 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #55 @69 RefTypeDef <Ivl:11> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #56 @70 RefTypeUse <Ivl:11> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #57 @73 RefTypeDef <Ivl:12> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #58 @74 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #59 @74 RefTypeUse <Ivl:12> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #60 @75 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #61 @75 RefTypeDef <Ivl:13> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #62 @77 RefTypeDef <Ivl:14> LCL_VAR BB02 regmask=[rdx] minReg=1>
<RefPosition #63 @78 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #64 @78 RefTypeUse <Ivl:14> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #65 @79 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #66 @79 RefTypeDef <Ivl:15> PUTARG_REG BB02 regmask=[rdx] minReg=1 fixed>
<RefPosition #67 @81 RefTypeDef <Ivl:16> LCL_VAR BB02 regmask=[r8] minReg=1>
<RefPosition #68 @82 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #69 @82 RefTypeUse <Ivl:16> BB02 regmask=[r8] minReg=1 last fixed>
<RefPosition #70 @83 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #71 @83 RefTypeDef <Ivl:17> PUTARG_REG BB02 regmask=[r8] minReg=1 fixed>
<RefPosition #72 @85 RefTypeDef <Ivl:18> LCL_VAR BB02 regmask=[r9] minReg=1>
<RefPosition #73 @86 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #74 @86 RefTypeUse <Ivl:18> BB02 regmask=[r9] minReg=1 last fixed>
<RefPosition #75 @87 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #76 @87 RefTypeDef <Ivl:19> PUTARG_REG BB02 regmask=[r9] minReg=1 fixed>
<RefPosition #77 @91 RefTypeDef <Ivl:20> LCL_VAR_ADDR BB02 regmask=[rcx] minReg=1>
<RefPosition #78 @92 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #79 @92 RefTypeUse <Ivl:20> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #80 @93 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #81 @93 RefTypeDef <Ivl:21> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #82 @98 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #83 @98 RefTypeUse <Ivl:21> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #84 @99 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #85 @99 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #86 @99 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #87 @99 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #88 @99 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #89 @99 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #90 @99 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #91 @99 RefTypeKillGCRefs CALL BB02 regmask=[rax rbx rsi rdi r10-r15] minReg=1>
<RefPosition #92 @103 RefTypeDef <Ivl:22> IND BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #93 @106 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #94 @106 RefTypeUse <Ivl:13> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #95 @106 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #96 @106 RefTypeUse <Ivl:15> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #97 @106 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #98 @106 RefTypeUse <Ivl:17> BB02 regmask=[r8] minReg=1 last fixed>
<RefPosition #99 @106 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #100 @106 RefTypeUse <Ivl:19> BB02 regmask=[r9] minReg=1 last fixed>
<RefPosition #101 @106 RefTypeUse <Ivl:22> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #102 @107 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #103 @107 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #104 @107 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #105 @107 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #106 @107 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #107 @107 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #108 @107 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #109 @107 RefTypeKillGCRefs CALL BB02 regmask=[rax rbx rsi rdi r10-r15] minReg=1>
<RefPosition #110 @107 RefTypeFixedReg <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #111 @107 RefTypeDef <Ivl:23> CALL BB02 regmask=[rax] minReg=1 fixed>
<RefPosition #112 @109 RefTypeDef <Ivl:24> LCL_VAR_ADDR BB02 regmask=[rcx] minReg=1>
<RefPosition #113 @110 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #114 @110 RefTypeUse <Ivl:24> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #115 @111 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #116 @111 RefTypeDef <Ivl:25> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #117 @116 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #118 @116 RefTypeUse <Ivl:25> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #119 @117 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #120 @117 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #121 @117 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #122 @117 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #123 @117 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #124 @117 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #125 @117 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #126 @118 RefTypeUse <Ivl:23> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #127 @127 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #128 @127 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #129 @127 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #130 @127 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #131 @127 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #132 @127 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #133 @127 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #134 @131 RefTypeDef <Ivl:26> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #135 @132 RefTypeUse <Ivl:26> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #136 @137 RefTypeDef <Ivl:27> LCL_VAR BB02 regmask=[allIntButFP] minReg=1>
<RefPosition #137 @138 RefTypeUse <Ivl:27> BB02 regmask=[allIntButFP] minReg=1 last>
<RefPosition #138 @144 RefTypeBB BB03 regmask=[] minReg=1>
<RefPosition #139 @146 RefTypeBB BB05 regmask=[] minReg=1>
<RefPosition #140 @151 RefTypeDef <Ivl:28> LCL_VAR BB05 regmask=[allIntButFP] minReg=1>
<RefPosition #141 @152 RefTypeUse <Ivl:28> BB05 regmask=[allIntButFP] minReg=1 last>
<RefPosition #142 @153 RefTypeDef <Ivl:29> CAST BB05 regmask=[allIntButFP] minReg=1>
<RefPosition #143 @156 RefTypeUse <Ivl:29> BB05 regmask=[allIntButFP] minReg=1 last regOptional>
<RefPosition #144 @160 RefTypeBB BB06 regmask=[] minReg=1>
<RefPosition #145 @165 RefTypeDef <Ivl:30> LCL_VAR BB06 regmask=[rcx] minReg=1>
<RefPosition #146 @166 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #147 @166 RefTypeUse <Ivl:30> BB06 regmask=[rcx] minReg=1 last fixed>
<RefPosition #148 @167 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #149 @167 RefTypeDef <Ivl:31> PUTARG_REG BB06 regmask=[rcx] minReg=1 fixed>
<RefPosition #150 @172 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #151 @172 RefTypeUse <Ivl:31> BB06 regmask=[rcx] minReg=1 last fixed>
<RefPosition #152 @173 RefTypeKill <Reg:rax> BB06 regmask=[rax] minReg=1 last>
<RefPosition #153 @173 RefTypeKill <Reg:rcx> BB06 regmask=[rcx] minReg=1 last>
<RefPosition #154 @173 RefTypeKill <Reg:rdx> BB06 regmask=[rdx] minReg=1 last>
<RefPosition #155 @173 RefTypeKill <Reg:r8 > BB06 regmask=[r8] minReg=1 last>
<RefPosition #156 @173 RefTypeKill <Reg:r9 > BB06 regmask=[r9] minReg=1 last>
<RefPosition #157 @173 RefTypeKill <Reg:r10> BB06 regmask=[r10] minReg=1 last>
<RefPosition #158 @173 RefTypeKill <Reg:r11> BB06 regmask=[r11] minReg=1 last>
<RefPosition #159 @174 RefTypeBB BB07 regmask=[] minReg=1>
<RefPosition #160 @180 RefTypeBB BB04 regmask=[] minReg=1>
<RefPosition #161 @182 RefTypeBB BB08 regmask=[] minReg=1>
<RefPosition #162 @187 RefTypeDef <Ivl:32> LCL_VAR BB08 regmask=[allIntButFP] minReg=1>
<RefPosition #163 @188 RefTypeUse <Ivl:32> BB08 regmask=[allIntButFP] minReg=1 last>
<RefPosition #164 @190 RefTypeBB BB09 regmask=[] minReg=1>
<RefPosition #165 @193 RefTypeDef <Ivl:33> LCL_VAR BB09 regmask=[rax] minReg=1>
<RefPosition #166 @194 RefTypeFixedReg <Reg:rax> BB09 regmask=[rax] minReg=1>
<RefPosition #167 @194 RefTypeUse <Ivl:33> BB09 regmask=[rax] minReg=1 last fixed>
Allocating Registers
--------------------
The following table has one or more rows for each RefPosition that is handled during allocation.
The first column provides the basic information about the RefPosition, with its type (e.g. Def,
Use, Fixd) followed by a '*' if it is a last use, and a 'D' if it is delayRegFree, and then the
action taken during allocation (e.g. Alloc a new register, or Keep an existing one).
The subsequent columns show the Interval occupying each register, if any, followed by 'a' if it is
active, a 'p' if it is a large vector that has been partially spilled, and 'i'if it is inactive.
Columns are only printed up to the last modifed register, which may increase during allocation,
in which case additional columns will appear.
Registers which are not marked modified have ---- in their column.
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
| | | | | | | | | |
0.#0 BB1 PredBB0 | | | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
4.#1 BB2 PredBB1 | | | | | | | | | |
9.#2 I0 Def Alloc rdx | | |I0 a| | | | | | |
10.#3 rdx Fixd Keep rdx | | |I0 a| | | | | | |
10.#4 I0 Use * Keep rdx | | |I0 a| | | | | | |
11.#5 rdx Fixd Keep rdx | | | | | | | | | |
11.#6 I1 Def Alloc rdx | | |I1 a| | | | | | |
13.#7 I2 Def Alloc rcx | |I2 a|I1 a| | | | | | |
14.#8 rcx Fixd Keep rcx | |I2 a|I1 a| | | | | | |
14.#9 I2 Use * Keep rcx | |I2 a|I1 a| | | | | | |
15.#10 rcx Fixd Keep rcx | | |I1 a| | | | | | |
15.#11 I3 Def Alloc rcx | |I3 a|I1 a| | | | | | |
20.#12 rdx Fixd Keep rdx | |I3 a|I1 a| | | | | | |
20.#13 I1 Use * Keep rdx | |I3 a|I1 a| | | | | | |
20.#14 rcx Fixd Keep rcx | |I3 a|I1 a| | | | | | |
20.#15 I3 Use * Keep rcx | |I3 a|I1 a| | | | | | |
21.#16 rax Kill Keep rax | | | | | | | | | |
21.#17 rcx Kill Keep rcx | | | | | | | | | |
21.#18 rdx Kill Keep rdx | | | | | | | | | |
21.#19 r8 Kill Keep r8 | | | | | | | | | |
21.#20 r9 Kill Keep r9 | | | | | | | | | |
21.#21 r10 Kill Keep r10 | | | | | | | | | |
21.#22 r11 Kill Keep r11 | | | | | | | | | |
25.#23 I4 Def Alloc rcx | |I4 a| | | | | | | |
26.#24 rcx Fixd Keep rcx | |I4 a| | | | | | | |
26.#25 I4 Use * Keep rcx | |I4 a| | | | | | | |
27.#26 rcx Fixd Keep rcx | | | | | | | | | |
27.#27 I5 Def Alloc rcx | |I5 a| | | | | | | |
32.#28 rcx Fixd Keep rcx | |I5 a| | | | | | | |
32.#29 I5 Use * Keep rcx | |I5 a| | | | | | | |
33.#30 rax Kill Keep rax | | | | | | | | | |
33.#31 rcx Kill Keep rcx | | | | | | | | | |
33.#32 rdx Kill Keep rdx | | | | | | | | | |
33.#33 r8 Kill Keep r8 | | | | | | | | | |
33.#34 r9 Kill Keep r9 | | | | | | | | | |
33.#35 r10 Kill Keep r10 | | | | | | | | | |
33.#36 r11 Kill Keep r11 | | | | | | | | | |
33.#37 rax Fixd Keep rax | | | | | | | | | |
33.#38 I6 Def Alloc rax |I6 a| | | | | | | | |
34.#39 I6 Use * Keep rax |I6 a| | | | | | | | |
39.#40 I7 Def Alloc rax |I7 a| | | | | | | | |
40.#41 I7 Use * Keep rax |I7 a| | | | | | | | |
45.#42 I8 Def Alloc rax |I8 a| | | | | | | | |
46.#43 I8 Use * Keep rax |I8 a| | | | | | | | |
51.#44 I9 Def Alloc rax |I9 a| | | | | | | | |
52.#45 I9 Use * Keep rax |I9 a| | | | | | | | |
55.#46 I10 Def Alloc rax |I10a| | | | | | | | |
56.#47 I10 Use * Keep rax |I10a| | | | | | | | |
65.#48 rax Kill Keep rax | | | | | | | | | |
65.#49 rcx Kill Keep rcx | | | | | | | | | |
65.#50 rdx Kill Keep rdx | | | | | | | | | |
65.#51 r8 Kill Keep r8 | | | | | | | | | |
65.#52 r9 Kill Keep r9 | | | | | | | | | |
65.#53 r10 Kill Keep r10 | | | | | | | | | |
65.#54 r11 Kill Keep r11 | | | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
69.#55 I11 Def Alloc rcx | |I11a| | | | | | | |
70.#56 I11 Use * Keep rcx | |I11a| | | | | | | |
73.#57 I12 Def Alloc rcx | |I12a| | | | | | | |
74.#58 rcx Fixd Keep rcx | |I12a| | | | | | | |
74.#59 I12 Use * Keep rcx | |I12a| | | | | | | |
75.#60 rcx Fixd Keep rcx | | | | | | | | | |
75.#61 I13 Def Alloc rcx | |I13a| | | | | | | |
77.#62 I14 Def Alloc rdx | |I13a|I14a| | | | | | |
78.#63 rdx Fixd Keep rdx | |I13a|I14a| | | | | | |
78.#64 I14 Use * Keep rdx | |I13a|I14a| | | | | | |
79.#65 rdx Fixd Keep rdx | |I13a| | | | | | | |
79.#66 I15 Def Alloc rdx | |I13a|I15a| | | | | | |
81.#67 I16 Def Alloc r8 | |I13a|I15a| | | | |I16a| |
82.#68 r8 Fixd Keep r8 | |I13a|I15a| | | | |I16a| |
82.#69 I16 Use * Keep r8 | |I13a|I15a| | | | |I16a| |
83.#70 r8 Fixd Keep r8 | |I13a|I15a| | | | | | |
83.#71 I17 Def Alloc r8 | |I13a|I15a| | | | |I17a| |
85.#72 I18 Def Alloc r9 | |I13a|I15a| | | | |I17a|I18a|
86.#73 r9 Fixd Keep r9 | |I13a|I15a| | | | |I17a|I18a|
86.#74 I18 Use * Keep r9 | |I13a|I15a| | | | |I17a|I18a|
87.#75 r9 Fixd Keep r9 | |I13a|I15a| | | | |I17a| |
87.#76 I19 Def Alloc r9 | |I13a|I15a| | | | |I17a|I19a|
91.#77 I20 Def Spill rcx | | |I15a| | | | |I17a|I19a|
Steal rcx | |I20a|I15a| | | | |I17a|I19a|
92.#78 rcx Fixd Keep rcx | |I20a|I15a| | | | |I17a|I19a|
92.#79 I20 Use * Keep rcx | |I20a|I15a| | | | |I17a|I19a|
93.#80 rcx Fixd Keep rcx | | |I15a| | | | |I17a|I19a|
93.#81 I21 Def Alloc rcx | |I21a|I15a| | | | |I17a|I19a|
98.#82 rcx Fixd Keep rcx | |I21a|I15a| | | | |I17a|I19a|
98.#83 I21 Use * Keep rcx | |I21a|I15a| | | | |I17a|I19a|
99.#84 rax Kill Keep rax | | |I15a| | | | |I17a|I19a|
99.#85 rcx Kill Keep rcx | | |I15a| | | | |I17a|I19a|
99.#86 rdx Kill Spill rdx | | | | | | | |I17a|I19a|
Keep rdx | | | | | | | |I17a|I19a|
99.#87 r8 Kill Spill r8 | | | | | | | | |I19a|
Keep r8 | | | | | | | | |I19a|
99.#88 r9 Kill Spill r9 | | | | | | | | | |
Keep r9 | | | | | | | | | |
99.#89 r10 Kill Keep r10 | | | | | | | | | |
99.#90 r11 Kill Keep r11 | | | | | | | | | |
99.#91 KlGC None | | | | | | | | | |
103.#92 I22 Def Alloc rax |I22a| | | | | | | | |
106.#93 rcx Fixd Keep rcx |I22a| | | | | | | | |
106.#94 I13 Use * ReLod NA |I22a| | | | | | | | |
Alloc rcx |I22a|I13a| | | | | | | |
106.#95 rdx Fixd Keep rdx |I22a|I13a| | | | | | | |
106.#96 I15 Use * ReLod NA |I22a|I13a| | | | | | | |
Alloc rdx |I22a|I13a|I15a| | | | | | |
106.#97 r8 Fixd Keep r8 |I22a|I13a|I15a| | | | | | |
106.#98 I17 Use * ReLod NA |I22a|I13a|I15a| | | | | | |
Alloc r8 |I22a|I13a|I15a| | | | |I17a| |
106.#99 r9 Fixd Keep r9 |I22a|I13a|I15a| | | | |I17a| |
106.#100 I19 Use * ReLod NA |I22a|I13a|I15a| | | | |I17a| |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
Alloc r9 |I22a|I13a|I15a| | | | |I17a|I19a|
106.#101 I22 Use * Keep rax |I22a|I13a|I15a| | | | |I17a|I19a|
107.#102 rax Kill Keep rax | | | | | | | | | |
107.#103 rcx Kill Keep rcx | | | | | | | | | |
107.#104 rdx Kill Keep rdx | | | | | | | | | |
107.#105 r8 Kill Keep r8 | | | | | | | | | |
107.#106 r9 Kill Keep r9 | | | | | | | | | |
107.#107 r10 Kill Keep r10 | | | | | | | | | |
107.#108 r11 Kill Keep r11 | | | | | | | | | |
107.#109 KlGC None | | | | | | | | | |
107.#110 rax Fixd Keep rax | | | | | | | | | |
107.#111 I23 Def Alloc rsi | | | | | |I23a| | | |
109.#112 I24 Def Alloc rcx | |I24a| | | |I23a| | | |
110.#113 rcx Fixd Keep rcx | |I24a| | | |I23a| | | |
110.#114 I24 Use * Keep rcx | |I24a| | | |I23a| | | |
111.#115 rcx Fixd Keep rcx | | | | | |I23a| | | |
111.#116 I25 Def Alloc rcx | |I25a| | | |I23a| | | |
116.#117 rcx Fixd Keep rcx | |I25a| | | |I23a| | | |
116.#118 I25 Use * Keep rcx | |I25a| | | |I23a| | | |
117.#119 rax Kill Keep rax | | | | | |I23a| | | |
117.#120 rcx Kill Keep rcx | | | | | |I23a| | | |
117.#121 rdx Kill Keep rdx | | | | | |I23a| | | |
117.#122 r8 Kill Keep r8 | | | | | |I23a| | | |
117.#123 r9 Kill Keep r9 | | | | | |I23a| | | |
117.#124 r10 Kill Keep r10 | | | | | |I23a| | | |
117.#125 r11 Kill Keep r11 | | | | | |I23a| | | |
118.#126 I23 Use * Keep rsi | | | | | |I23a| | | |
127.#127 rax Kill Keep rax | | | | | | | | | |
127.#128 rcx Kill Keep rcx | | | | | | | | | |
127.#129 rdx Kill Keep rdx | | | | | | | | | |
127.#130 r8 Kill Keep r8 | | | | | | | | | |
127.#131 r9 Kill Keep r9 | | | | | | | | | |
127.#132 r10 Kill Keep r10 | | | | | | | | | |
127.#133 r11 Kill Keep r11 | | | | | | | | | |
131.#134 I26 Def Alloc rcx | |I26a| | | | | | | |
132.#135 I26 Use * Keep rcx | |I26a| | | | | | | |
137.#136 I27 Def Alloc rcx | |I27a| | | | | | | |
138.#137 I27 Use * Keep rcx | |I27a| | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
144.#138 BB3 PredBB2 | | | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
146.#139 BB5 PredBB0 | | | | | | | | | |
151.#140 I28 Def Alloc rcx | |I28a| | | | | | | |
152.#141 I28 Use * Keep rcx | |I28a| | | | | | | |
153.#142 I29 Def Alloc rcx | |I29a| | | | | | | |
156.#143 I29 Use * Keep rcx | |I29a| | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
160.#144 BB6 PredBB5 | | | | | | | | | |
165.#145 I30 Def Alloc rcx | |I30a| | | | | | | |
166.#146 rcx Fixd Keep rcx | |I30a| | | | | | | |
166.#147 I30 Use * Keep rcx | |I30a| | | | | | | |
167.#148 rcx Fixd Keep rcx | | | | | | | | | |
167.#149 I31 Def Alloc rcx | |I31a| | | | | | | |
172.#150 rcx Fixd Keep rcx | |I31a| | | | | | | |
172.#151 I31 Use * Keep rcx | |I31a| | | | | | | |
173.#152 rax Kill Keep rax | | | | | | | | | |
173.#153 rcx Kill Keep rcx | | | | | | | | | |
173.#154 rdx Kill Keep rdx | | | | | | | | | |
173.#155 r8 Kill Keep r8 | | | | | | | | | |
173.#156 r9 Kill Keep r9 | | | | | | | | | |
173.#157 r10 Kill Keep r10 | | | | | | | | | |
173.#158 r11 Kill Keep r11 | | | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
174.#159 BB7 PredBB5 | | | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
180.#160 BB4 PredBB0 | | | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
182.#161 BB8 PredBB0 | | | | | | | | | |
187.#162 I32 Def Alloc rax |I32a| | | | | | | | |
188.#163 I32 Use * Keep rax |I32a| | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
190.#164 BB9 PredBB8 | | | | | | | | | |
193.#165 I33 Def Alloc rax |I33a| | | | | | | | |
194.#166 rax Fixd Keep rax |I33a| | | | | | | | |
194.#167 I33 Use * Keep rax | | | | | | | | | |
------------
REFPOSITIONS AFTER ALLOCATION:
------------
<RefPosition #0 @0 RefTypeBB BB01 regmask=[] minReg=1>
<RefPosition #1 @4 RefTypeBB BB02 regmask=[] minReg=1>
<RefPosition #2 @9 RefTypeDef <Ivl:0> LCL_VAR_ADDR BB02 regmask=[rdx] minReg=1>
<RefPosition #3 @10 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #4 @10 RefTypeUse <Ivl:0> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #5 @11 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #6 @11 RefTypeDef <Ivl:1> PUTARG_REG BB02 regmask=[rdx] minReg=1 fixed>
<RefPosition #7 @13 RefTypeDef <Ivl:2> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #8 @14 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #9 @14 RefTypeUse <Ivl:2> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #10 @15 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #11 @15 RefTypeDef <Ivl:3> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #12 @20 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #13 @20 RefTypeUse <Ivl:1> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #14 @20 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #15 @20 RefTypeUse <Ivl:3> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #16 @21 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #17 @21 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #18 @21 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #19 @21 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #20 @21 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #21 @21 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #22 @21 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #23 @25 RefTypeDef <Ivl:4> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #24 @26 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #25 @26 RefTypeUse <Ivl:4> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #26 @27 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #27 @27 RefTypeDef <Ivl:5> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #28 @32 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #29 @32 RefTypeUse <Ivl:5> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #30 @33 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #31 @33 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #32 @33 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #33 @33 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #34 @33 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #35 @33 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #36 @33 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #37 @33 RefTypeFixedReg <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #38 @33 RefTypeDef <Ivl:6> CALL BB02 regmask=[rax] minReg=1 fixed>
<RefPosition #39 @34 RefTypeUse <Ivl:6> BB02 regmask=[rax] minReg=1 last>
<RefPosition #40 @39 RefTypeDef <Ivl:7> LCL_VAR BB02 regmask=[rax] minReg=1>
<RefPosition #41 @40 RefTypeUse <Ivl:7> BB02 regmask=[rax] minReg=1 last>
<RefPosition #42 @45 RefTypeDef <Ivl:8> LCL_VAR BB02 regmask=[rax] minReg=1>
<RefPosition #43 @46 RefTypeUse <Ivl:8> BB02 regmask=[rax] minReg=1 last>
<RefPosition #44 @51 RefTypeDef <Ivl:9> LCL_VAR BB02 regmask=[rax] minReg=1>
<RefPosition #45 @52 RefTypeUse <Ivl:9> BB02 regmask=[rax] minReg=1 last>
<RefPosition #46 @55 RefTypeDef <Ivl:10> LCL_VAR BB02 regmask=[rax] minReg=1>
<RefPosition #47 @56 RefTypeUse <Ivl:10> BB02 regmask=[rax] minReg=1 last>
<RefPosition #48 @65 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #49 @65 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #50 @65 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #51 @65 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #52 @65 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #53 @65 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #54 @65 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #55 @69 RefTypeDef <Ivl:11> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #56 @70 RefTypeUse <Ivl:11> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #57 @73 RefTypeDef <Ivl:12> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #58 @74 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #59 @74 RefTypeUse <Ivl:12> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #60 @75 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #61 @75 RefTypeDef <Ivl:13> PUTARG_REG BB02 regmask=[rcx] minReg=1 spillAfter fixed>
<RefPosition #62 @77 RefTypeDef <Ivl:14> LCL_VAR BB02 regmask=[rdx] minReg=1>
<RefPosition #63 @78 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #64 @78 RefTypeUse <Ivl:14> BB02 regmask=[rdx] minReg=1 last fixed>
<RefPosition #65 @79 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #66 @79 RefTypeDef <Ivl:15> PUTARG_REG BB02 regmask=[rdx] minReg=1 spillAfter fixed>
<RefPosition #67 @81 RefTypeDef <Ivl:16> LCL_VAR BB02 regmask=[r8] minReg=1>
<RefPosition #68 @82 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #69 @82 RefTypeUse <Ivl:16> BB02 regmask=[r8] minReg=1 last fixed>
<RefPosition #70 @83 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #71 @83 RefTypeDef <Ivl:17> PUTARG_REG BB02 regmask=[r8] minReg=1 spillAfter fixed>
<RefPosition #72 @85 RefTypeDef <Ivl:18> LCL_VAR BB02 regmask=[r9] minReg=1>
<RefPosition #73 @86 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #74 @86 RefTypeUse <Ivl:18> BB02 regmask=[r9] minReg=1 last fixed>
<RefPosition #75 @87 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #76 @87 RefTypeDef <Ivl:19> PUTARG_REG BB02 regmask=[r9] minReg=1 spillAfter fixed>
<RefPosition #77 @91 RefTypeDef <Ivl:20> LCL_VAR_ADDR BB02 regmask=[rcx] minReg=1>
<RefPosition #78 @92 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #79 @92 RefTypeUse <Ivl:20> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #80 @93 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #81 @93 RefTypeDef <Ivl:21> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #82 @98 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #83 @98 RefTypeUse <Ivl:21> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #84 @99 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #85 @99 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #86 @99 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #87 @99 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #88 @99 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #89 @99 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #90 @99 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #91 @99 RefTypeKillGCRefs CALL BB02 regmask=[rax rbx rsi rdi r10-r15] minReg=1>
<RefPosition #92 @103 RefTypeDef <Ivl:22> IND BB02 regmask=[rax] minReg=1>
<RefPosition #93 @106 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #94 @106 RefTypeUse <Ivl:13> BB02 regmask=[rcx] minReg=1 last reload fixed>
<RefPosition #95 @106 RefTypeFixedReg <Reg:rdx> BB02 regmask=[rdx] minReg=1>
<RefPosition #96 @106 RefTypeUse <Ivl:15> BB02 regmask=[rdx] minReg=1 last reload fixed>
<RefPosition #97 @106 RefTypeFixedReg <Reg:r8 > BB02 regmask=[r8] minReg=1>
<RefPosition #98 @106 RefTypeUse <Ivl:17> BB02 regmask=[r8] minReg=1 last reload fixed>
<RefPosition #99 @106 RefTypeFixedReg <Reg:r9 > BB02 regmask=[r9] minReg=1>
<RefPosition #100 @106 RefTypeUse <Ivl:19> BB02 regmask=[r9] minReg=1 last reload fixed>
<RefPosition #101 @106 RefTypeUse <Ivl:22> BB02 regmask=[rax] minReg=1 last>
<RefPosition #102 @107 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #103 @107 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #104 @107 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #105 @107 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #106 @107 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #107 @107 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #108 @107 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #109 @107 RefTypeKillGCRefs CALL BB02 regmask=[rax rbx rsi rdi r10-r15] minReg=1>
<RefPosition #110 @107 RefTypeFixedReg <Reg:rax> BB02 regmask=[rax] minReg=1>
<RefPosition #111 @107 RefTypeDef <Ivl:23> CALL BB02 regmask=[rsi] minReg=1 fixed>
<RefPosition #112 @109 RefTypeDef <Ivl:24> LCL_VAR_ADDR BB02 regmask=[rcx] minReg=1>
<RefPosition #113 @110 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #114 @110 RefTypeUse <Ivl:24> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #115 @111 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #116 @111 RefTypeDef <Ivl:25> PUTARG_REG BB02 regmask=[rcx] minReg=1 fixed>
<RefPosition #117 @116 RefTypeFixedReg <Reg:rcx> BB02 regmask=[rcx] minReg=1>
<RefPosition #118 @116 RefTypeUse <Ivl:25> BB02 regmask=[rcx] minReg=1 last fixed>
<RefPosition #119 @117 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #120 @117 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #121 @117 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #122 @117 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #123 @117 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #124 @117 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #125 @117 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #126 @118 RefTypeUse <Ivl:23> BB02 regmask=[rsi] minReg=1 last>
<RefPosition #127 @127 RefTypeKill <Reg:rax> BB02 regmask=[rax] minReg=1 last>
<RefPosition #128 @127 RefTypeKill <Reg:rcx> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #129 @127 RefTypeKill <Reg:rdx> BB02 regmask=[rdx] minReg=1 last>
<RefPosition #130 @127 RefTypeKill <Reg:r8 > BB02 regmask=[r8] minReg=1 last>
<RefPosition #131 @127 RefTypeKill <Reg:r9 > BB02 regmask=[r9] minReg=1 last>
<RefPosition #132 @127 RefTypeKill <Reg:r10> BB02 regmask=[r10] minReg=1 last>
<RefPosition #133 @127 RefTypeKill <Reg:r11> BB02 regmask=[r11] minReg=1 last>
<RefPosition #134 @131 RefTypeDef <Ivl:26> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #135 @132 RefTypeUse <Ivl:26> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #136 @137 RefTypeDef <Ivl:27> LCL_VAR BB02 regmask=[rcx] minReg=1>
<RefPosition #137 @138 RefTypeUse <Ivl:27> BB02 regmask=[rcx] minReg=1 last>
<RefPosition #138 @144 RefTypeBB BB03 regmask=[] minReg=1>
<RefPosition #139 @146 RefTypeBB BB05 regmask=[] minReg=1>
<RefPosition #140 @151 RefTypeDef <Ivl:28> LCL_VAR BB05 regmask=[rcx] minReg=1>
<RefPosition #141 @152 RefTypeUse <Ivl:28> BB05 regmask=[rcx] minReg=1 last>
<RefPosition #142 @153 RefTypeDef <Ivl:29> CAST BB05 regmask=[rcx] minReg=1>
<RefPosition #143 @156 RefTypeUse <Ivl:29> BB05 regmask=[rcx] minReg=1 last regOptional>
<RefPosition #144 @160 RefTypeBB BB06 regmask=[] minReg=1>
<RefPosition #145 @165 RefTypeDef <Ivl:30> LCL_VAR BB06 regmask=[rcx] minReg=1>
<RefPosition #146 @166 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #147 @166 RefTypeUse <Ivl:30> BB06 regmask=[rcx] minReg=1 last fixed>
<RefPosition #148 @167 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #149 @167 RefTypeDef <Ivl:31> PUTARG_REG BB06 regmask=[rcx] minReg=1 fixed>
<RefPosition #150 @172 RefTypeFixedReg <Reg:rcx> BB06 regmask=[rcx] minReg=1>
<RefPosition #151 @172 RefTypeUse <Ivl:31> BB06 regmask=[rcx] minReg=1 last fixed>
<RefPosition #152 @173 RefTypeKill <Reg:rax> BB06 regmask=[rax] minReg=1 last>
<RefPosition #153 @173 RefTypeKill <Reg:rcx> BB06 regmask=[rcx] minReg=1 last>
<RefPosition #154 @173 RefTypeKill <Reg:rdx> BB06 regmask=[rdx] minReg=1 last>
<RefPosition #155 @173 RefTypeKill <Reg:r8 > BB06 regmask=[r8] minReg=1 last>
<RefPosition #156 @173 RefTypeKill <Reg:r9 > BB06 regmask=[r9] minReg=1 last>
<RefPosition #157 @173 RefTypeKill <Reg:r10> BB06 regmask=[r10] minReg=1 last>
<RefPosition #158 @173 RefTypeKill <Reg:r11> BB06 regmask=[r11] minReg=1 last>
<RefPosition #159 @174 RefTypeBB BB07 regmask=[] minReg=1>
<RefPosition #160 @180 RefTypeBB BB04 regmask=[] minReg=1>
<RefPosition #161 @182 RefTypeBB BB08 regmask=[] minReg=1>
<RefPosition #162 @187 RefTypeDef <Ivl:32> LCL_VAR BB08 regmask=[rax] minReg=1>
<RefPosition #163 @188 RefTypeUse <Ivl:32> BB08 regmask=[rax] minReg=1 last>
<RefPosition #164 @190 RefTypeBB BB09 regmask=[] minReg=1>
<RefPosition #165 @193 RefTypeDef <Ivl:33> LCL_VAR BB09 regmask=[rax] minReg=1>
<RefPosition #166 @194 RefTypeFixedReg <Reg:rax> BB09 regmask=[rax] minReg=1>
<RefPosition #167 @194 RefTypeUse <Ivl:33> BB09 regmask=[rax] minReg=1 last fixed>
Active intervals at end of allocation:
Max spill for long is 1
Max spill for long is 2
Max spill for int is 1
Max spill for long is 3
Max spill for long is 3
Max spill for long is 3
Max spill for int is 1
Max spill for long is 3
Trees after linear scan register allocator (LSRA)
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target LIR
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe LIR
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target LIR
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target LIR KEEP
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target LIR
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target LIR
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ funclets follow
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 F finally { keep i label target flet LIR
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe LIR
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target LIR
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
N002 ( 0, 0) [000000] ------------ NOP void REG NA
------------ BB02 [000..037) -> BB03 (always), preds={BB01} succs={BB03}
N006 (???,???) [000063] ------------ IL_OFFSET void IL offset: 0x0 REG NA
N008 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V08 loc3 rdx REG rdx
/--* t3 long
N010 (???,???) [000078] ------------ t78 = * PUTARG_REG long REG rdx
N012 ( 3, 2) [000001] ------------ t1 = LCL_VAR ref V00 arg0 rcx REG rcx
/--* t1 ref
N014 (???,???) [000079] ------------ t79 = * PUTARG_REG ref REG rcx
N016 ( 3, 10) [000080] -c---------- t80 = CNS_INT(h) long 0x420058 ftn REG NA
/--* t80 long
N018 ( 5, 12) [000081] -c---------- t81 = * IND long REG NA
/--* t78 long arg1 in rdx
+--* t79 ref this in rcx
+--* t81 long control expr
N020 ( 20, 13) [000004] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef REG NA
N022 (???,???) [000064] ------------ IL_OFFSET void IL offset: 0x8 REG NA
N024 ( 3, 2) [000005] ------------ t5 = LCL_VAR ref V00 arg0 rcx REG rcx
/--* t5 ref
N026 (???,???) [000082] ------------ t82 = * PUTARG_REG ref REG rcx
N028 ( 3, 10) [000083] -c---------- t83 = CNS_INT(h) long 0x420080 ftn REG NA
/--* t83 long
N030 ( 5, 12) [000084] -c---------- t84 = * IND long REG NA
/--* t82 ref this in rcx
+--* t84 long control expr
N032 ( 17, 9) [000006] --CXG------- t6 = * CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle REG rax
/--* t6 long
N034 ( 21, 12) [000008] DA-XG------- * STORE_LCL_VAR long V12 tmp1 NA REG NA
N036 (???,???) [000065] ------------ IL_OFFSET void IL offset: 0xe REG NA
N038 ( 3, 2) [000009] ------------ t9 = LCL_VAR long V12 tmp1 rax REG rax
/--* t9 long
N040 ( 7, 5) [000011] DA---------- * STORE_LCL_VAR long V07 loc2 NA REG NA
N042 (???,???) [000066] ------------ IL_OFFSET void IL offset: 0xf REG NA
N044 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V03 arg3 rax REG rax
/--* t12 byref
N046 ( 7, 5) [000014] DA---------- * STORE_LCL_VAR byref V10 loc5 NA REG NA
N048 (???,???) [000067] ------------ IL_OFFSET void IL offset: 0x12 REG NA
N050 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V10 loc5 rax REG rax
/--* t15 byref
N052 ( 7, 5) [000051] DA---------- * STORE_LCL_VAR long V16 tmp5 NA REG NA
N054 ( 3, 2) [000052] ------------ t52 = LCL_VAR long V16 tmp5 rax REG rax
/--* t52 long
N056 ( 14, 10) [000018] DA---------- * STORE_LCL_VAR long V09 loc4 NA REG NA
N058 (???,???) [000068] ------------ IL_OFFSET void IL offset: 0x17 REG NA
N060 ( 3, 10) [000085] -c---------- t85 = CNS_INT(h) long 0x4200A0 ftn REG NA
/--* t85 long
N062 ( 5, 12) [000086] -c---------- t86 = * IND long REG NA
/--* t86 long control expr
N064 ( 14, 5) [000024] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError REG NA
N066 (???,???) [000069] ------------ IL_OFFSET void IL offset: 0x25 REG NA
N068 ( 3, 2) [000023] ------------ t23 = LCL_VAR long V04 arg4 rcx REG rcx
/--* t23 long
N070 (???,???) [000087] ------------ * PUTARG_STK [+0x20] void REG NA
N072 ( 3, 2) [000019] ------------ t19 = LCL_VAR long V07 loc2 rcx REG rcx
/--* t19 long
N074 (???,???) [000088] -----------Z t88 = * PUTARG_REG long REG rcx
N076 ( 3, 2) [000020] ------------ t20 = LCL_VAR long V01 arg1 rdx REG rdx
/--* t20 long
N078 (???,???) [000089] -----------Z t89 = * PUTARG_REG long REG rdx
N080 ( 3, 2) [000021] ------------ t21 = LCL_VAR int V02 arg2 r8 REG r8
/--* t21 int
N082 (???,???) [000090] -----------Z t90 = * PUTARG_REG int REG r8
N084 ( 3, 2) [000022] ------------ t22 = LCL_VAR long V09 loc4 r9 REG r9
/--* t22 long
N086 (???,???) [000091] -----------Z t91 = * PUTARG_REG long REG r9
N088 (???,???) [000092] ------------ PINVOKE_PROLOG void REG NA
N090 ( 3, 3) [000093] ------------ t93 = LCL_VAR_ADDR long V15 PInvokeFrame rcx REG rcx
/--* t93 long
N092 (???,???) [000096] ------------ t96 = * PUTARG_REG long REG rcx
N094 ( 3, 10) [000097] -c---------- t97 = CNS_INT(h) long 0x4200E8 ftn REG NA
/--* t97 long
N096 ( 5, 12) [000098] -c---------- t98 = * IND long REG NA
/--* t96 long arg0 in rcx
+--* t98 long control expr
N098 ( 17, 9) [000094] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_BEGIN REG NA
N100 ( 3, 10) [000099] -c---------- t99 = CNS_INT(h) long 0x4200F0 ftn REG NA
/--* t99 long
N102 ( 5, 12) [000100] ------------ t100 = * IND long REG rax
/--* t100 long
N104 ( 8, 14) [000101] -c---------- t101 = * IND long REG NA
/--* t88 long arg0 in rcx
+--* t89 long arg1 in rdx
+--* t90 int arg2 in r8
+--* t91 long arg3 in r9
+--* t101 long control expr
N106 ( 32, 19) [000025] --CXG------- t25 = * CALL r2r_ind int Kernel32.ReadFile REG rsi
N108 ( 3, 3) [000102] ------------ t102 = LCL_VAR_ADDR long V15 PInvokeFrame rcx REG rcx
/--* t102 long
N110 (???,???) [000105] ------------ t105 = * PUTARG_REG long REG rcx
N112 ( 3, 10) [000106] -c---------- t106 = CNS_INT(h) long 0x4200F8 ftn REG NA
/--* t106 long
N114 ( 5, 12) [000107] -c---------- t107 = * IND long REG NA
/--* t105 long arg0 in rcx
+--* t107 long control expr
N116 ( 17, 9) [000103] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_END REG NA
/--* t25 int
N118 ( 36, 22) [000027] DA-XG------- * STORE_LCL_VAR int V13 tmp2 NA REG NA
N120 (???,???) [000070] ------------ IL_OFFSET void IL offset: 0x2a REG NA
N122 ( 3, 10) [000108] -c---------- t108 = CNS_INT(h) long 0x4200C8 ftn REG NA
/--* t108 long
N124 ( 5, 12) [000109] -c---------- t109 = * IND long REG NA
/--* t109 long control expr
N126 ( 14, 5) [000029] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError REG NA
N128 (???,???) [000071] ------------ IL_OFFSET void IL offset: 0x2f REG NA
N130 ( 3, 2) [000028] ------------ t28 = LCL_VAR int V13 tmp2 rcx REG rcx
/--* t28 int
N132 ( 7, 5) [000031] DA---------- * STORE_LCL_VAR int V06 loc1 NA REG NA
N134 (???,???) [000072] ------------ IL_OFFSET void IL offset: 0x30 REG NA
N136 ( 3, 2) [000032] ------------ t32 = LCL_VAR int V06 loc1 rcx REG rcx
/--* t32 int
N138 ( 7, 5) [000034] DA---------- * STORE_LCL_VAR int V05 loc0 NA REG NA
N140 (???,???) [000073] ------------ IL_OFFSET void IL offset: 0x32 REG NA
N142 ( 0, 0) [000035] ------------ NOP void REG NA
------------ BB03 [???..???) -> BB05 (callf), preds={BB02} succs={BB05}
------------ BB04 [???..???) -> BB08 (ALWAYS), preds={BB07} succs={BB08}
------------ BB08 [044..046) -> BB09 (always), preds={BB04} succs={BB09}
N184 (???,???) [000074] ------------ IL_OFFSET void IL offset: 0x44 REG NA
N186 ( 3, 2) [000036] ------------ t36 = LCL_VAR int V05 loc0 rax REG rax
/--* t36 int
N188 ( 7, 5) [000062] DA---------- * STORE_LCL_VAR int V14 tmp3 NA REG NA
------------ BB09 [???..???) (return), preds={BB08} succs={}
N192 ( 3, 2) [000045] -------N---- t45 = LCL_VAR int V14 tmp3 rax REG rax
/--* t45 int
N194 ( 4, 3) [000046] ------------ * RETURN int REG NA
------------ BB05 [037..03D) -> BB07 (cond), preds={BB03} succs={BB06,BB07}
N148 (???,???) [000075] ------------ IL_OFFSET void IL offset: 0x37 REG NA
N150 ( 3, 2) [000038] ------------ t38 = LCL_VAR int (AX) V08 loc3 rcx REG rcx
/--* t38 int
N152 ( 4, 4) [000059] ----G------- t59 = * CAST int <- bool <- int REG rcx
N154 ( 1, 1) [000039] -c---------- t39 = CNS_INT int 0 REG NA
/--* t59 int
+--* t39 int
N156 ( 6, 6) [000040] J---G--N---- * EQ void REG NA
N158 ( 8, 8) [000041] ----G------- * JTRUE void REG NA
------------ BB06 [03D..043), preds={BB05} succs={BB07}
N162 (???,???) [000076] ------------ IL_OFFSET void IL offset: 0x3d REG NA
N164 ( 3, 2) [000043] ------------ t43 = LCL_VAR ref V00 arg0 rcx REG rcx
/--* t43 ref
N166 (???,???) [000110] ------------ t110 = * PUTARG_REG ref REG rcx
N168 ( 3, 10) [000111] -c---------- t111 = CNS_INT(h) long 0x4200E0 ftn REG NA
/--* t111 long
N170 ( 5, 12) [000112] -c---------- t112 = * IND long REG NA
/--* t110 ref this in rcx
+--* t112 long control expr
N172 ( 17, 9) [000044] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease REG NA
------------ BB07 [043..044) (finret), preds={BB05,BB06} succs={BB04}
N176 (???,???) [000077] ------------ IL_OFFSET void IL offset: 0x43 REG NA
N178 ( 0, 0) [000042] ------------ RETFILT void REG NA
-------------------------------------------------------------------------------------------------------------------
Final allocation
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
0.#0 BB1 PredBB0 | | | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
4.#1 BB2 PredBB1 | | | | | | | | | |
9.#2 I0 Def Alloc rdx | | |I0 a| | | | | | |
10.#3 rdx Fixd Keep rdx | | |I0 a| | | | | | |
10.#4 I0 Use * Keep rdx | | |I0 i| | | | | | |
11.#5 rdx Fixd Keep rdx | | | | | | | | | |
11.#6 I1 Def Alloc rdx | | |I1 a| | | | | | |
13.#7 I2 Def Alloc rcx | |I2 a|I1 a| | | | | | |
14.#8 rcx Fixd Keep rcx | |I2 a|I1 a| | | | | | |
14.#9 I2 Use * Keep rcx | |I2 i|I1 a| | | | | | |
15.#10 rcx Fixd Keep rcx | | |I1 a| | | | | | |
15.#11 I3 Def Alloc rcx | |I3 a|I1 a| | | | | | |
20.#12 rdx Fixd Keep rdx | |I3 a|I1 a| | | | | | |
20.#13 I1 Use * Keep rdx | |I3 a|I1 i| | | | | | |
20.#14 rcx Fixd Keep rcx | |I3 a| | | | | | | |
20.#15 I3 Use * Keep rcx | |I3 i| | | | | | | |
21.#16 rax Kill Keep rax | | | | | | | | | |
21.#17 rcx Kill Keep rcx | | | | | | | | | |
21.#18 rdx Kill Keep rdx | | | | | | | | | |
21.#19 r8 Kill Keep r8 | | | | | | | | | |
21.#20 r9 Kill Keep r9 | | | | | | | | | |
21.#21 r10 Kill Keep r10 | | | | | | | | | |
21.#22 r11 Kill Keep r11 | | | | | | | | | |
25.#23 I4 Def Alloc rcx | |I4 a| | | | | | | |
26.#24 rcx Fixd Keep rcx | |I4 a| | | | | | | |
26.#25 I4 Use * Keep rcx | |I4 i| | | | | | | |
27.#26 rcx Fixd Keep rcx | | | | | | | | | |
27.#27 I5 Def Alloc rcx | |I5 a| | | | | | | |
32.#28 rcx Fixd Keep rcx | |I5 a| | | | | | | |
32.#29 I5 Use * Keep rcx | |I5 i| | | | | | | |
33.#30 rax Kill Keep rax | | | | | | | | | |
33.#31 rcx Kill Keep rcx | | | | | | | | | |
33.#32 rdx Kill Keep rdx | | | | | | | | | |
33.#33 r8 Kill Keep r8 | | | | | | | | | |
33.#34 r9 Kill Keep r9 | | | | | | | | | |
33.#35 r10 Kill Keep r10 | | | | | | | | | |
33.#36 r11 Kill Keep r11 | | | | | | | | | |
33.#37 rax Fixd Keep rax | | | | | | | | | |
33.#38 I6 Def Alloc rax |I6 a| | | | | | | | |
34.#39 I6 Use * Keep rax |I6 i| | | | | | | | |
39.#40 I7 Def Alloc rax |I7 a| | | | | | | | |
40.#41 I7 Use * Keep rax |I7 i| | | | | | | | |
45.#42 I8 Def Alloc rax |I8 a| | | | | | | | |
46.#43 I8 Use * Keep rax |I8 i| | | | | | | | |
51.#44 I9 Def Alloc rax |I9 a| | | | | | | | |
52.#45 I9 Use * Keep rax |I9 i| | | | | | | | |
55.#46 I10 Def Alloc rax |I10a| | | | | | | | |
56.#47 I10 Use * Keep rax |I10i| | | | | | | | |
65.#48 rax Kill Keep rax | | | | | | | | | |
65.#49 rcx Kill Keep rcx | | | | | | | | | |
65.#50 rdx Kill Keep rdx | | | | | | | | | |
65.#51 r8 Kill Keep r8 | | | | | | | | | |
65.#52 r9 Kill Keep r9 | | | | | | | | | |
65.#53 r10 Kill Keep r10 | | | | | | | | | |
65.#54 r11 Kill Keep r11 | | | | | | | | | |
69.#55 I11 Def Alloc rcx | |I11a| | | | | | | |
70.#56 I11 Use * Keep rcx | |I11i| | | | | | | |
73.#57 I12 Def Alloc rcx | |I12a| | | | | | | |
74.#58 rcx Fixd Keep rcx | |I12a| | | | | | | |
74.#59 I12 Use * Keep rcx | |I12i| | | | | | | |
75.#60 rcx Fixd Keep rcx | | | | | | | | | |
75.#61 I13 Def Alloc rcx | | | | | | | | | |
Spill rcx | | | | | | | | | |
77.#62 I14 Def Alloc rdx | | |I14a| | | | | | |
78.#63 rdx Fixd Keep rdx | | |I14a| | | | | | |
78.#64 I14 Use * Keep rdx | | |I14i| | | | | | |
79.#65 rdx Fixd Keep rdx | | | | | | | | | |
79.#66 I15 Def Alloc rdx | | | | | | | | | |
Spill rdx | | | | | | | | | |
81.#67 I16 Def Alloc r8 | | | | | | | |I16a| |
82.#68 r8 Fixd Keep r8 | | | | | | | |I16a| |
82.#69 I16 Use * Keep r8 | | | | | | | |I16i| |
83.#70 r8 Fixd Keep r8 | | | | | | | | | |
83.#71 I17 Def Alloc r8 | | | | | | | | | |
Spill r8 | | | | | | | | | |
85.#72 I18 Def Alloc r9 | | | | | | | | |I18a|
86.#73 r9 Fixd Keep r9 | | | | | | | | |I18a|
86.#74 I18 Use * Keep r9 | | | | | | | | |I18i|
87.#75 r9 Fixd Keep r9 | | | | | | | | | |
87.#76 I19 Def Alloc r9 | | | | | | | | | |
Spill r9 | | | | | | | | | |
91.#77 I20 Def Alloc rcx | |I20a| | | | | | | |
92.#78 rcx Fixd Keep rcx | |I20a| | | | | | | |
92.#79 I20 Use * Keep rcx | |I20i| | | | | | | |
93.#80 rcx Fixd Keep rcx | | | | | | | | | |
93.#81 I21 Def Alloc rcx | |I21a| | | | | | | |
98.#82 rcx Fixd Keep rcx | |I21a| | | | | | | |
98.#83 I21 Use * Keep rcx | |I21i| | | | | | | |
99.#84 rax Kill Keep rax | | | | | | | | | |
99.#85 rcx Kill Keep rcx | | | | | | | | | |
99.#86 rdx Kill Keep rdx | | | | | | | | | |
99.#87 r8 Kill Keep r8 | | | | | | | | | |
99.#88 r9 Kill Keep r9 | | | | | | | | | |
99.#89 r10 Kill Keep r10 | | | | | | | | | |
99.#90 r11 Kill Keep r11 | | | | | | | | | |
| | | | | | | | | |
103.#92 I22 Def Alloc rax |I22a| | | | | | | | |
106.#93 rcx Fixd Keep rcx |I22a| | | | | | | | |
106.#94 I13 Use * ReLod rcx |I22a|I13a| | | | | | | |
Keep rcx |I22a|I13i| | | | | | | |
106.#95 rdx Fixd Keep rdx |I22a| | | | | | | | |
106.#96 I15 Use * ReLod rdx |I22a| |I15a| | | | | | |
Keep rdx |I22a| |I15i| | | | | | |
106.#97 r8 Fixd Keep r8 |I22a| | | | | | | | |
106.#98 I17 Use * ReLod r8 |I22a| | | | | | |I17a| |
Keep r8 |I22a| | | | | | |I17i| |
106.#99 r9 Fixd Keep r9 |I22a| | | | | | | | |
106.#100 I19 Use * ReLod r9 |I22a| | | | | | | |I19a|
Keep r9 |I22a| | | | | | | |I19i|
106.#101 I22 Use * Keep rax |I22i| | | | | | | | |
107.#102 rax Kill Keep rax | | | | | | | | | |
107.#103 rcx Kill Keep rcx | | | | | | | | | |
107.#104 rdx Kill Keep rdx | | | | | | | | | |
107.#105 r8 Kill Keep r8 | | | | | | | | | |
107.#106 r9 Kill Keep r9 | | | | | | | | | |
107.#107 r10 Kill Keep r10 | | | | | | | | | |
107.#108 r11 Kill Keep r11 | | | | | | | | | |
| | | | | | | | | |
107.#110 rax Fixd Keep rax | | | | | | | | | |
107.#111 I23 Def Alloc rsi | | | | | |I23a| | | |
109.#112 I24 Def Alloc rcx | |I24a| | | |I23a| | | |
110.#113 rcx Fixd Keep rcx | |I24a| | | |I23a| | | |
110.#114 I24 Use * Keep rcx | |I24i| | | |I23a| | | |
111.#115 rcx Fixd Keep rcx | | | | | |I23a| | | |
111.#116 I25 Def Alloc rcx | |I25a| | | |I23a| | | |
116.#117 rcx Fixd Keep rcx | |I25a| | | |I23a| | | |
116.#118 I25 Use * Keep rcx | |I25i| | | |I23a| | | |
117.#119 rax Kill Keep rax | | | | | |I23a| | | |
117.#120 rcx Kill Keep rcx | | | | | |I23a| | | |
117.#121 rdx Kill Keep rdx | | | | | |I23a| | | |
117.#122 r8 Kill Keep r8 | | | | | |I23a| | | |
117.#123 r9 Kill Keep r9 | | | | | |I23a| | | |
117.#124 r10 Kill Keep r10 | | | | | |I23a| | | |
117.#125 r11 Kill Keep r11 | | | | | |I23a| | | |
118.#126 I23 Use * Keep rsi | | | | | |I23i| | | |
127.#127 rax Kill Keep rax | | | | | | | | | |
127.#128 rcx Kill Keep rcx | | | | | | | | | |
127.#129 rdx Kill Keep rdx | | | | | | | | | |
127.#130 r8 Kill Keep r8 | | | | | | | | | |
127.#131 r9 Kill Keep r9 | | | | | | | | | |
127.#132 r10 Kill Keep r10 | | | | | | | | | |
127.#133 r11 Kill Keep r11 | | | | | | | | | |
131.#134 I26 Def Alloc rcx | |I26a| | | | | | | |
132.#135 I26 Use * Keep rcx | |I26i| | | | | | | |
137.#136 I27 Def Alloc rcx | |I27a| | | | | | | |
138.#137 I27 Use * Keep rcx | |I27i| | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
144.#138 BB3 PredBB2 | | | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
146.#139 BB5 PredBB0 | | | | | | | | | |
151.#140 I28 Def Alloc rcx | |I28a| | | | | | | |
152.#141 I28 Use * Keep rcx | |I28i| | | | | | | |
153.#142 I29 Def Alloc rcx | |I29a| | | | | | | |
156.#143 I29 Use * Keep rcx | |I29i| | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
160.#144 BB6 PredBB5 | | | | | | | | | |
165.#145 I30 Def Alloc rcx | |I30a| | | | | | | |
166.#146 rcx Fixd Keep rcx | |I30a| | | | | | | |
166.#147 I30 Use * Keep rcx | |I30i| | | | | | | |
167.#148 rcx Fixd Keep rcx | | | | | | | | | |
167.#149 I31 Def Alloc rcx | |I31a| | | | | | | |
172.#150 rcx Fixd Keep rcx | |I31a| | | | | | | |
172.#151 I31 Use * Keep rcx | |I31i| | | | | | | |
173.#152 rax Kill Keep rax | | | | | | | | | |
173.#153 rcx Kill Keep rcx | | | | | | | | | |
173.#154 rdx Kill Keep rdx | | | | | | | | | |
173.#155 r8 Kill Keep r8 | | | | | | | | | |
173.#156 r9 Kill Keep r9 | | | | | | | | | |
173.#157 r10 Kill Keep r10 | | | | | | | | | |
173.#158 r11 Kill Keep r11 | | | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
174.#159 BB7 PredBB5 | | | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
180.#160 BB4 PredBB0 | | | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
182.#161 BB8 PredBB0 | | | | | | | | | |
187.#162 I32 Def Alloc rax |I32a| | | | | | | | |
188.#163 I32 Use * Keep rax |I32i| | | | | | | | |
--------------------------------+----+----+----+----+----+----+----+----+----+
Loc RP# Name Type Action Reg |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8 |r9 |
--------------------------------+----+----+----+----+----+----+----+----+----+
190.#164 BB9 PredBB8 | | | | | | | | | |
193.#165 I33 Def Alloc rax |I33a| | | | | | | | |
194.#166 rax Fixd Keep rax |I33a| | | | | | | | |
194.#167 I33 Use * Keep rax |I33i| | | | | | | | |
Recording the maximum number of concurrent spills:
int: 1
pre-allocated temp #1, slot 0, size = 4
long: 3
pre-allocated temp #2, slot 1, size = 8
pre-allocated temp #3, slot 1, size = 8
pre-allocated temp #4, slot 1, size = 8
----------
LSRA Stats
----------
BB02 [ 100]: SpillCount = 4, ResolutionMovs = 0, SplitEdges = 0, CopyReg = 0
Total Tracked Vars: 0
Total Reg Cand Vars: 0
Total number of Intervals: 33
Total number of RefPositions: 167
Total Spill Count: 4 Weighted: 400
Total CopyReg Count: 0 Weighted: 0
Total ResolutionMov Count: 0 Weighted: 0
Total number of split edges: 0
Total Number of spill temps created: 4
TUPLE STYLE DUMP WITH REGISTER ASSIGNMENTS
Incoming Parameters:
BB01 [???..???), preds={} succs={BB02}
=====
N002. NOP
BB02 [000..037) -> BB03 (always), preds={BB01} succs={BB03}
=====
N006. IL_OFFSET IL offset: 0x0
N008. rdx = LCL_VAR_ADDR V08 loc3 rdx
N010. rdx = PUTARG_REG; rdx
N012. rcx = V00 MEM
N014. rcx = PUTARG_REG; rcx
N016. CNS_INT(h) 0x420058 ftn
N018. IND
N020. CALL r2r_ind; rdx,rcx
N022. IL_OFFSET IL offset: 0x8
N024. rcx = V00 MEM
N026. rcx = PUTARG_REG; rcx
N028. CNS_INT(h) 0x420080 ftn
N030. IND
N032. rax = CALL r2r_ind; rcx
N034. V12 MEM; rax
N036. IL_OFFSET IL offset: 0xe
N038. rax = V12 MEM
N040. V07 MEM; rax
N042. IL_OFFSET IL offset: 0xf
N044. rax = V03 MEM
N046. V10 MEM; rax
N048. IL_OFFSET IL offset: 0x12
N050. rax = V10 MEM
N052. V16 MEM; rax
N054. rax = V16 MEM
N056. V09 MEM; rax
N058. IL_OFFSET IL offset: 0x17
N060. CNS_INT(h) 0x4200A0 ftn
N062. IND
N064. CALL r2r_ind
N066. IL_OFFSET IL offset: 0x25
N068. rcx = V04 MEM
N070. PUTARG_STK [+0x20]; rcx
N072. rcx = V07 MEM
S N074. rcx = PUTARG_REG; rcx
N076. rdx = V01 MEM
S N078. rdx = PUTARG_REG; rdx
N080. r8 = V02 MEM
S N082. r8 = PUTARG_REG; r8
N084. r9 = V09 MEM
S N086. r9 = PUTARG_REG; r9
N088. PINVOKE_PROLOG
N090. rcx = LCL_VAR_ADDR V15 PInvokeFrame rcx
N092. rcx = PUTARG_REG; rcx
N094. CNS_INT(h) 0x4200E8 ftn
N096. IND
N098. CALL help; rcx
N100. CNS_INT(h) 0x4200F0 ftn
N102. rax = IND
N104. STK = IND ; rax
N106. rsi = CALL r2r_ind; rcx,rdx,r8,r9,STK
N108. rcx = LCL_VAR_ADDR V15 PInvokeFrame rcx
N110. rcx = PUTARG_REG; rcx
N112. CNS_INT(h) 0x4200F8 ftn
N114. IND
N116. CALL help; rcx
N118. V13 MEM; rsi
N120. IL_OFFSET IL offset: 0x2a
N122. CNS_INT(h) 0x4200C8 ftn
N124. IND
N126. CALL r2r_ind
N128. IL_OFFSET IL offset: 0x2f
N130. rcx = V13 MEM
N132. V06 MEM; rcx
N134. IL_OFFSET IL offset: 0x30
N136. rcx = V06 MEM
N138. V05 MEM; rcx
N140. IL_OFFSET IL offset: 0x32
N142. NOP
BB03 [???..???) -> BB05 (callf), preds={BB02} succs={BB05}
=====
BB05 [037..03D) -> BB07 (cond), preds={BB03} succs={BB06,BB07}
=====
N148. IL_OFFSET IL offset: 0x37
N150. rcx = V08 MEM
N152. rcx = CAST ; rcx
N154. CNS_INT 0
N156. EQ ; rcx
N158. JTRUE
BB06 [03D..043), preds={BB05} succs={BB07}
=====
N162. IL_OFFSET IL offset: 0x3d
N164. rcx = V00 MEM
N166. rcx = PUTARG_REG; rcx
N168. CNS_INT(h) 0x4200E0 ftn
N170. IND
N172. CALL r2r_ind; rcx
BB07 [043..044) (finret), preds={BB05,BB06} succs={BB04}
=====
N176. IL_OFFSET IL offset: 0x43
N178. RETFILT
BB04 [???..???) -> BB08 (ALWAYS), preds={BB07} succs={BB08}
=====
BB08 [044..046) -> BB09 (always), preds={BB04} succs={BB09}
=====
N184. IL_OFFSET IL offset: 0x44
N186. rax = V05 MEM
N188. V14 MEM; rax
BB09 [???..???) (return), preds={BB08} succs={}
=====
N192. rax = V14 MEM
N194. RETURN ; rax
*************** Finishing PHASE Linear scan register alloc
*************** In genGenerateCode()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) keep i internal label target LIR
BB02 [0001] 1 0 BB01 1 [000..037)-> BB03 (always) T0 try { } keep i try label gcsafe LIR
BB03 [0006] 1 BB02 1 [???..???)-> BB05 (callf ) i internal label target LIR
BB04 [0007] 1 BB07 1 [???..???)-> BB08 (ALWAYS) i internal label target LIR KEEP
BB08 [0005] 1 BB04 1 [044..046)-> BB09 (always) i label target LIR
BB09 [0008] 1 BB08 1 [???..???) (return) keep internal target LIR
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ funclets follow
BB05 [0002] 2 0 BB03 1 [037..03D)-> BB07 ( cond ) H0 F finally { keep i label target flet LIR
BB06 [0003] 1 0 BB05 1 [03D..043) H0 i gcsafe LIR
BB07 [0004] 2 0 BB05,BB06 1 [043..044) (finret) H0 } i label target LIR
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Starting PHASE Generate code
*************** In fgDebugCheckBBlist
Finalizing stack frame
Modified regs: [rax rcx rdx rsi r8-r11]
Marking regs modified: [rbx rsi rdi r12-r15] ([rax rcx rdx rsi r8-r11] => [rax rcx rdx rbx rsi rdi r8-r15])
Callee-saved registers pushed: 7 [rbx rsi rdi r12-r15]
*************** In lvaAssignFrameOffsets(FINAL_FRAME_LAYOUT)
Assign V05 loc0, size=4, stkOffs=-0x4c
Assign V06 loc1, size=4, stkOffs=-0x50
Assign V07 loc2, size=8, stkOffs=-0x58
Assign V08 loc3, size=8, stkOffs=-0x60
Assign V09 loc4, size=8, stkOffs=-0x68
Assign V10 loc5, size=8, stkOffs=-0x70
Assign V12 tmp1, size=8, stkOffs=-0x78
Assign V13 tmp2, size=4, stkOffs=-0x7c
Assign V14 tmp3, size=4, stkOffs=-0x80
Assign V16 tmp5, size=8, stkOffs=-0x88
Pad V15 PInvokeFrame, size=88, stkOffs=-0xa8, pad=4
Assign V15 PInvokeFrame, size=88, stkOffs=-0x100
Assign V17 PSPSym, size=8, stkOffs=-0x108
Assign V11 OutArgs, size=40, stkOffs=-0x130
--- delta bump 8 for RA
--- delta bump 8 for FP
--- delta bump 0 for RBP frame
--- virtual stack offset to actual stack offset delta is 16
-- V00 was 0, now 16
-- V01 was 8, now 24
-- V02 was 16, now 32
-- V03 was 24, now 40
-- V04 was 32, now 48
-- V05 was -76, now -60
-- V06 was -80, now -64
-- V07 was -88, now -72
-- V08 was -96, now -80
-- V09 was -104, now -88
-- V10 was -112, now -96
-- V11 was -304, now -288
-- V12 was -120, now -104
-- V13 was -124, now -108
-- V14 was -128, now -112
-- V15 was -256, now -240
-- V16 was -136, now -120
-- V17 was -264, now -248
; Final local variable assignments
;
; V00 arg0 [V00 ] ( 1, 1 ) ref -> [rbp+0x10] class-hnd
; V01 arg1 [V01 ] ( 1, 1 ) long -> [rbp+0x18]
; V02 arg2 [V02 ] ( 1, 1 ) int -> [rbp+0x20]
; V03 arg3 [V03 ] ( 1, 1 ) byref -> [rbp+0x28]
; V04 arg4 [V04 ] ( 1, 1 ) long -> [rbp+0x30]
; V05 loc0 [V05 ] ( 1, 1 ) int -> [rbp-0x3C] must-init
; V06 loc1 [V06 ] ( 1, 1 ) int -> [rbp-0x40] must-init
; V07 loc2 [V07 ] ( 1, 1 ) long -> [rbp-0x48] must-init
; V08 loc3 [V08 ] ( 1, 1 ) bool -> [rbp-0x50] do-not-enreg[X] must-init addr-exposed ld-addr-op
; V09 loc4 [V09 ] ( 1, 1 ) long -> [rbp-0x58] must-init
; V10 loc5 [V10 ] ( 1, 1 ) byref -> [rbp-0x60] must-init pinned
; V11 OutArgs [V11 ] ( 1, 1 ) lclBlk (40) [rsp+0x00] "OutgoingArgSpace"
; V12 tmp1 [V12 ] ( 1, 1 ) long -> [rbp-0x68] "impSpillStackEnsure"
; V13 tmp2 [V13 ] ( 1, 1 ) int -> [rbp-0x6C] "impSpillStackEnsure"
; V14 tmp3 [V14 ] ( 1, 1 ) int -> [rbp-0x70] "Single return block return value"
; V15 PInvokeFrame [V15 ] ( 1, 1 ) blk (88) [rbp-0xF0] do-not-enreg[X] addr-exposed "Pinvoke FrameVar"
; V16 tmp5 [V16 ] ( 1, 1 ) long -> [rbp-0x78] "Cast away GC"
; V17 PSPSym [V17 ] ( 1, 1 ) long -> [rbp-0xF8] do-not-enreg[X] addr-exposed "PSPSym"
; TEMP_01 int -> [rbp-0x7C]
; TEMP_04 long -> [rbp-0x84]
; TEMP_03 long -> [rbp-0x8C]
; TEMP_02 long -> [rbp-0x94]
;
; Lcl frame size = 232
Setting stack level from -572662307 to 0
=============== Generating BB01 [???..???), preds={} succs={BB02} flags=0x00000000.40030070: keep i internal label target LIR
BB01 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
Liveness not changing: 0000000000000000 {}
Live regs: (unchanged) 00000000 {}
GC regs: (unchanged) 00000000 {}
Byref regs: (unchanged) 00000000 {}
L_M25631_BB01:
Label: IG02, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Scope info: begin block BB01, IL range [???..???)
Scope info: ignoring block beginning
Generating: N002 ( 0, 0) [000000] ------------ NOP void REG NA
Scope info: end block BB01, IL range [???..???)
Scope info: ignoring block end
=============== Generating BB02 [000..037) -> BB03 (always), preds={BB01} succs={BB03} flags=0x00000004.40090130: keep i try label gcsafe LIR
BB02 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
Liveness not changing: 0000000000000000 {}
Live regs: (unchanged) 00000000 {}
GC regs: (unchanged) 00000000 {}
Byref regs: (unchanged) 00000000 {}
L_M25631_BB02:
Label: IG02, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Scope info: begin block BB02, IL range [000..037)
Scope info: opening scope, LVnum=0 [000..046)
Scope info: >> new scope, VarNum=0, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
Scope info: opening scope, LVnum=1 [000..046)
Scope info: >> new scope, VarNum=1, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
Scope info: opening scope, LVnum=2 [000..046)
Scope info: >> new scope, VarNum=2, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
Scope info: opening scope, LVnum=3 [000..046)
Scope info: >> new scope, VarNum=3, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
Scope info: opening scope, LVnum=4 [000..046)
Scope info: >> new scope, VarNum=4, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
Scope info: opening scope, LVnum=5 [000..046)
Scope info: >> new scope, VarNum=5, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
Scope info: opening scope, LVnum=6 [000..046)
Scope info: >> new scope, VarNum=6, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
Scope info: opening scope, LVnum=7 [000..046)
Scope info: >> new scope, VarNum=7, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
Scope info: opening scope, LVnum=8 [000..046)
Scope info: >> new scope, VarNum=8, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
Scope info: opening scope, LVnum=9 [000..046)
Scope info: >> new scope, VarNum=9, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
Scope info: opening scope, LVnum=10 [000..046)
Scope info: >> new scope, VarNum=10, tracked? no, VarIndex=0, bbLiveIn=0000000000000000 {}
Scope info: open scopes =
0 (V00 arg0) [000..046)
1 (V01 arg1) [000..046)
2 (V02 arg2) [000..046)
3 (V03 arg3) [000..046)
4 (V04 arg4) [000..046)
5 (V05 loc0) [000..046)
6 (V06 loc1) [000..046)
7 (V07 loc2) [000..046)
8 (V08 loc3) [000..046)
9 (V09 loc4) [000..046)
10 (V10 loc5) [000..046)
Added IP mapping: 0x0000 STACK_EMPTY (G_M25631_IG02,ins#0,ofs#0) label
Generating: N006 (???,???) [000063] ------------ IL_OFFSET void IL offset: 0x0 REG NA
Generating: N008 ( 3, 3) [000003] ------------ t3 = LCL_VAR_ADDR long V08 loc3 rdx REG rdx
IN0001: lea rdx, [V08 rbp-50H]
/--* t3 long
Generating: N010 (???,???) [000078] ------------ t78 = * PUTARG_REG long REG rdx
Generating: N012 ( 3, 2) [000001] ------------ t1 = LCL_VAR ref V00 arg0 rcx REG rcx
IN0002: mov rcx, gword ptr [V00 rbp+10H]
GC regs: 00000000 {} => 00000002 {rcx}
/--* t1 ref
Generating: N014 (???,???) [000079] ------------ t79 = * PUTARG_REG ref REG rcx
GC regs: 00000002 {rcx} => 00000000 {}
GC regs: 00000000 {} => 00000002 {rcx}
Generating: N016 ( 3, 10) [000080] -c---------- t80 = CNS_INT(h) long 0x420058 ftn REG NA
/--* t80 long
Generating: N018 ( 5, 12) [000081] -c---------- t81 = * IND long REG NA
/--* t78 long arg1 in rdx
+--* t79 ref this in rcx
+--* t81 long control expr
Generating: N020 ( 20, 13) [000004] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousAddRef REG NA
GC regs: 00000002 {rcx} => 00000000 {}
Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Added IP mapping: 0x0003 CALL_INSTRUCTION (G_M25631_IG02,ins#2,ofs#8)
IN0003: call [System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref):this]
Added IP mapping: 0x0008 STACK_EMPTY (G_M25631_IG02,ins#3,ofs#14)
Generating: N022 (???,???) [000064] ------------ IL_OFFSET void IL offset: 0x8 REG NA
Generating: N024 ( 3, 2) [000005] ------------ t5 = LCL_VAR ref V00 arg0 rcx REG rcx
IN0004: mov rcx, gword ptr [V00 rbp+10H]
GC regs: 00000000 {} => 00000002 {rcx}
/--* t5 ref
Generating: N026 (???,???) [000082] ------------ t82 = * PUTARG_REG ref REG rcx
GC regs: 00000002 {rcx} => 00000000 {}
GC regs: 00000000 {} => 00000002 {rcx}
Generating: N028 ( 3, 10) [000083] -c---------- t83 = CNS_INT(h) long 0x420080 ftn REG NA
/--* t83 long
Generating: N030 ( 5, 12) [000084] -c---------- t84 = * IND long REG NA
/--* t82 ref this in rcx
+--* t84 long control expr
Generating: N032 ( 17, 9) [000006] --CXG------- t6 = * CALL r2r_ind long System.Runtime.InteropServices.SafeHandle.DangerousGetHandle REG rax
GC regs: 00000002 {rcx} => 00000000 {}
Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Added IP mapping: 0x0009 CALL_INSTRUCTION (G_M25631_IG02,ins#4,ofs#18)
IN0005: call [System.Runtime.InteropServices.SafeHandle:DangerousGetHandle():long:this]
/--* t6 long
Generating: N034 ( 21, 12) [000008] DA-XG------- * STORE_LCL_VAR long V12 tmp1 NA REG NA
IN0006: mov qword ptr [V12 rbp-68H], rax
Added IP mapping: 0x000E (G_M25631_IG02,ins#6,ofs#28)
Generating: N036 (???,???) [000065] ------------ IL_OFFSET void IL offset: 0xe REG NA
Generating: N038 ( 3, 2) [000009] ------------ t9 = LCL_VAR long V12 tmp1 rax REG rax
IN0007: mov rax, qword ptr [V12 rbp-68H]
/--* t9 long
Generating: N040 ( 7, 5) [000011] DA---------- * STORE_LCL_VAR long V07 loc2 NA REG NA
IN0008: mov qword ptr [V07 rbp-48H], rax
Added IP mapping: 0x000F STACK_EMPTY (G_M25631_IG02,ins#8,ofs#36)
Generating: N042 (???,???) [000066] ------------ IL_OFFSET void IL offset: 0xf REG NA
Generating: N044 ( 3, 2) [000012] ------------ t12 = LCL_VAR byref V03 arg3 rax REG rax
IN0009: mov rax, bword ptr [V03 rbp+28H]
Byref regs: 00000000 {} => 00000001 {rax}
/--* t12 byref
Generating: N046 ( 7, 5) [000014] DA---------- * STORE_LCL_VAR byref V10 loc5 NA REG NA
Byref regs: 00000001 {rax} => 00000000 {}
IN000a: mov bword ptr [V10 rbp-60H], rax
Added IP mapping: 0x0012 STACK_EMPTY (G_M25631_IG02,ins#10,ofs#44)
Generating: N048 (???,???) [000067] ------------ IL_OFFSET void IL offset: 0x12 REG NA
Generating: N050 ( 3, 2) [000015] ------------ t15 = LCL_VAR byref V10 loc5 rax REG rax
IN000b: mov rax, bword ptr [V10 rbp-60H]
Byref regs: 00000000 {} => 00000001 {rax}
/--* t15 byref
Generating: N052 ( 7, 5) [000051] DA---------- * STORE_LCL_VAR long V16 tmp5 NA REG NA
Byref regs: 00000001 {rax} => 00000000 {}
IN000c: mov qword ptr [V16 rbp-78H], rax
Generating: N054 ( 3, 2) [000052] ------------ t52 = LCL_VAR long V16 tmp5 rax REG rax
IN000d: mov rax, qword ptr [V16 rbp-78H]
/--* t52 long
Generating: N056 ( 14, 10) [000018] DA---------- * STORE_LCL_VAR long V09 loc4 NA REG NA
IN000e: mov qword ptr [V09 rbp-58H], rax
Added IP mapping: 0x0017 STACK_EMPTY (G_M25631_IG02,ins#14,ofs#60)
Generating: N058 (???,???) [000068] ------------ IL_OFFSET void IL offset: 0x17 REG NA
Generating: N060 ( 3, 10) [000085] -c---------- t85 = CNS_INT(h) long 0x4200A0 ftn REG NA
/--* t85 long
Generating: N062 ( 5, 12) [000086] -c---------- t86 = * IND long REG NA
/--* t86 long control expr
Generating: N064 ( 14, 5) [000024] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.ClearLastError REG NA
Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Added IP mapping: 0x0020 CALL_INSTRUCTION (G_M25631_IG02,ins#14,ofs#60)
IN000f: call [System.StubHelpers.StubHelpers:ClearLastError()]
Added IP mapping: 0x0025 (G_M25631_IG02,ins#15,ofs#66)
Generating: N066 (???,???) [000069] ------------ IL_OFFSET void IL offset: 0x25 REG NA
Generating: N068 ( 3, 2) [000023] ------------ t23 = LCL_VAR long V04 arg4 rcx REG rcx
IN0010: mov rcx, qword ptr [V04 rbp+30H]
/--* t23 long
Generating: N070 (???,???) [000087] ------------ * PUTARG_STK [+0x20] void REG NA
IN0011: mov qword ptr [V11+0x20 rsp+20H], rcx
Generating: N072 ( 3, 2) [000019] ------------ t19 = LCL_VAR long V07 loc2 rcx REG rcx
IN0012: mov rcx, qword ptr [V07 rbp-48H]
/--* t19 long
Generating: N074 (???,???) [000088] -----------Z t88 = * PUTARG_REG long REG rcx
reused temp #4, slot 1, size = 8
The register rcx spilled with [000088]
IN0013: mov qword ptr [TEMP_04 rbp-84H], rcx
Generating: N076 ( 3, 2) [000020] ------------ t20 = LCL_VAR long V01 arg1 rdx REG rdx
IN0014: mov rdx, qword ptr [V01 rbp+18H]
/--* t20 long
Generating: N078 (???,???) [000089] -----------Z t89 = * PUTARG_REG long REG rdx
reused temp #3, slot 1, size = 8
The register rdx spilled with [000089]
IN0015: mov qword ptr [TEMP_03 rbp-8CH], rdx
Generating: N080 ( 3, 2) [000021] ------------ t21 = LCL_VAR int V02 arg2 r8 REG r8
IN0016: mov r8d, dword ptr [V02 rbp+20H]
/--* t21 int
Generating: N082 (???,???) [000090] -----------Z t90 = * PUTARG_REG int REG r8
reused temp #1, slot 0, size = 4
The register r8 spilled with [000090]
IN0017: mov dword ptr [TEMP_01 rbp-7CH], r8d
Generating: N084 ( 3, 2) [000022] ------------ t22 = LCL_VAR long V09 loc4 r9 REG r9
IN0018: mov r9, qword ptr [V09 rbp-58H]
/--* t22 long
Generating: N086 (???,???) [000091] -----------Z t91 = * PUTARG_REG long REG r9
reused temp #2, slot 1, size = 8
The register r9 spilled with [000091]
IN0019: mov qword ptr [TEMP_02 rbp-94H], r9
Generating: N088 (???,???) [000092] ------------ PINVOKE_PROLOG void REG NA
Generating: N090 ( 3, 3) [000093] ------------ t93 = LCL_VAR_ADDR long V15 PInvokeFrame rcx REG rcx
IN001a: lea rcx, [V15 rbp-F0H]
/--* t93 long
Generating: N092 (???,???) [000096] ------------ t96 = * PUTARG_REG long REG rcx
Generating: N094 ( 3, 10) [000097] -c---------- t97 = CNS_INT(h) long 0x4200E8 ftn REG NA
/--* t97 long
Generating: N096 ( 5, 12) [000098] -c---------- t98 = * IND long REG NA
/--* t96 long arg0 in rcx
+--* t98 long control expr
Generating: N098 ( 17, 9) [000094] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_BEGIN REG NA
New Basic Block BB10 [0009] created.
L_M25631_BB10:
G_M25631_IG02: ; offs=000000H, funclet=00, bbWeight=1
Label: IG03, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
IN001b: call [CORINFO_HELP_JIT_PINVOKE_BEGIN]
Generating: N100 ( 3, 10) [000099] -c---------- t99 = CNS_INT(h) long 0x4200F0 ftn REG NA
/--* t99 long
Generating: N102 ( 5, 12) [000100] ------------ t100 = * IND long REG rax
IN001c: mov rax, qword ptr [(reloc 0x4200f0)]
/--* t100 long
Generating: N104 ( 8, 14) [000101] -c---------- t101 = * IND long REG NA
/--* t88 long arg0 in rcx
+--* t89 long arg1 in rdx
+--* t90 int arg2 in r8
+--* t91 long arg3 in r9
+--* t101 long control expr
Generating: N106 ( 32, 19) [000025] --CXG------- t25 = * CALL r2r_ind int Kernel32.ReadFile REG rsi
Tree-Node marked unspilled from [000088]
IN001d: mov rcx, qword ptr [TEMP_04 rbp-84H]
release temp #4, slot 1, size = 8
Tree-Node marked unspilled from [000089]
IN001e: mov rdx, qword ptr [TEMP_03 rbp-8CH]
release temp #3, slot 1, size = 8
Tree-Node marked unspilled from [000090]
IN001f: mov r8d, dword ptr [TEMP_01 rbp-7CH]
release temp #1, slot 0, size = 4
Tree-Node marked unspilled from [000091]
IN0020: mov r9, qword ptr [TEMP_02 rbp-94H]
release temp #2, slot 1, size = 8
New Basic Block BB11 [0010] created.
L_M25631_BB11:
G_M25631_IG03: ; offs=00007BH, funclet=00, bbWeight=1
Label: IG04, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Added IP mapping: 0x0025 CALL_INSTRUCTION (G_M25631_IG04,ins#0,ofs#0)
IN0021: call qword ptr [rax]Kernel32:ReadFile(long,long,int,long,long):int
IN0022: mov esi, eax
Generating: N108 ( 3, 3) [000102] ------------ t102 = LCL_VAR_ADDR long V15 PInvokeFrame rcx REG rcx
IN0023: lea rcx, [V15 rbp-F0H]
/--* t102 long
Generating: N110 (???,???) [000105] ------------ t105 = * PUTARG_REG long REG rcx
Generating: N112 ( 3, 10) [000106] -c---------- t106 = CNS_INT(h) long 0x4200F8 ftn REG NA
/--* t106 long
Generating: N114 ( 5, 12) [000107] -c---------- t107 = * IND long REG NA
/--* t105 long arg0 in rcx
+--* t107 long control expr
Generating: N116 ( 17, 9) [000103] --C-G------- * CALL help void HELPER.CORINFO_HELP_JIT_PINVOKE_END REG NA
Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
IN0024: call [CORINFO_HELP_JIT_PINVOKE_END]
/--* t25 int
Generating: N118 ( 36, 22) [000027] DA-XG------- * STORE_LCL_VAR int V13 tmp2 NA REG NA
IN0025: mov dword ptr [V13 rbp-6CH], esi
Added IP mapping: 0x002A (G_M25631_IG04,ins#5,ofs#20)
Generating: N120 (???,???) [000070] ------------ IL_OFFSET void IL offset: 0x2a REG NA
Generating: N122 ( 3, 10) [000108] -c---------- t108 = CNS_INT(h) long 0x4200C8 ftn REG NA
/--* t108 long
Generating: N124 ( 5, 12) [000109] -c---------- t109 = * IND long REG NA
/--* t109 long control expr
Generating: N126 ( 14, 5) [000029] --CXG------- * CALL r2r_ind void System.StubHelpers.StubHelpers.SetLastError REG NA
Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Added IP mapping: 0x002A CALL_INSTRUCTION (G_M25631_IG04,ins#5,ofs#20)
IN0026: call [System.StubHelpers.StubHelpers:SetLastError()]
Added IP mapping: 0x002F (G_M25631_IG04,ins#6,ofs#26)
Generating: N128 (???,???) [000071] ------------ IL_OFFSET void IL offset: 0x2f REG NA
Generating: N130 ( 3, 2) [000028] ------------ t28 = LCL_VAR int V13 tmp2 rcx REG rcx
IN0027: mov ecx, dword ptr [V13 rbp-6CH]
/--* t28 int
Generating: N132 ( 7, 5) [000031] DA---------- * STORE_LCL_VAR int V06 loc1 NA REG NA
IN0028: mov dword ptr [V06 rbp-40H], ecx
Added IP mapping: 0x0030 STACK_EMPTY (G_M25631_IG04,ins#8,ofs#32)
Generating: N134 (???,???) [000072] ------------ IL_OFFSET void IL offset: 0x30 REG NA
Generating: N136 ( 3, 2) [000032] ------------ t32 = LCL_VAR int V06 loc1 rcx REG rcx
IN0029: mov ecx, dword ptr [V06 rbp-40H]
/--* t32 int
Generating: N138 ( 7, 5) [000034] DA---------- * STORE_LCL_VAR int V05 loc0 NA REG NA
IN002a: mov dword ptr [V05 rbp-3CH], ecx
Added IP mapping: 0x0032 STACK_EMPTY (G_M25631_IG04,ins#10,ofs#38)
Generating: N140 (???,???) [000073] ------------ IL_OFFSET void IL offset: 0x32 REG NA
Generating: N142 ( 0, 0) [000035] ------------ NOP void REG NA
IN002b: nop
Scope info: end block BB02, IL range [000..037)
Scope info: open scopes =
0 (V00 arg0) [000..046)
1 (V01 arg1) [000..046)
2 (V02 arg2) [000..046)
3 (V03 arg3) [000..046)
4 (V04 arg4) [000..046)
5 (V05 loc0) [000..046)
6 (V06 loc1) [000..046)
7 (V07 loc2) [000..046)
8 (V08 loc3) [000..046)
9 (V09 loc4) [000..046)
10 (V10 loc5) [000..046)
IN002c: jmp L_M25631_BB03
=============== Generating BB03 [???..???) -> BB05 (callf), preds={BB02} succs={BB05} flags=0x00000000.40030060: i internal label target LIR
BB03 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
Liveness not changing: 0000000000000000 {}
Live regs: (unchanged) 00000000 {}
GC regs: (unchanged) 00000000 {}
Byref regs: (unchanged) 00000000 {}
L_M25631_BB03:
G_M25631_IG04: ; offs=0000A1H, funclet=00, bbWeight=1
Label: IG05, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Scope info: begin block BB03, IL range [???..???)
Scope info: ignoring block beginning
Added IP mapping: NO_MAP STACK_EMPTY (G_M25631_IG05,ins#0,ofs#0) label
Scope info: end block BB03, IL range [???..???)
Scope info: ignoring block end
IN002d: mov rcx, rsp
IN002e: call L_M25631_BB05
G_M25631_IG05: ; offs=0000CDH, funclet=00, bbWeight=1
IN002f: nop
=============== Generating BB08 [044..046) -> BB09 (always), preds={BB04} succs={BB09} flags=0x00000000.40030020: i label target LIR
BB08 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
Liveness not changing: 0000000000000000 {}
Live regs: (unchanged) 00000000 {}
GC regs: (unchanged) 00000000 {}
Byref regs: (unchanged) 00000000 {}
L_M25631_BB08:
G_M25631_IG06: ; offs=0000D5H, funclet=00, bbWeight=1
Label: IG07, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Scope info: begin block BB08, IL range [044..046)
Scope info: found offset hole. lastOffs=55, currOffs=68
Scope info: open scopes =
0 (V00 arg0) [000..046)
1 (V01 arg1) [000..046)
2 (V02 arg2) [000..046)
3 (V03 arg3) [000..046)
4 (V04 arg4) [000..046)
5 (V05 loc0) [000..046)
6 (V06 loc1) [000..046)
7 (V07 loc2) [000..046)
8 (V08 loc3) [000..046)
9 (V09 loc4) [000..046)
10 (V10 loc5) [000..046)
Added IP mapping: 0x0044 STACK_EMPTY (G_M25631_IG07,ins#0,ofs#0) label
Generating: N184 (???,???) [000074] ------------ IL_OFFSET void IL offset: 0x44 REG NA
Generating: N186 ( 3, 2) [000036] ------------ t36 = LCL_VAR int V05 loc0 rax REG rax
IN0030: mov eax, dword ptr [V05 rbp-3CH]
/--* t36 int
Generating: N188 ( 7, 5) [000062] DA---------- * STORE_LCL_VAR int V14 tmp3 NA REG NA
IN0031: mov dword ptr [V14 rbp-70H], eax
Scope info: end block BB08, IL range [044..046)
Scope info: ending scope, LVnum=0 [000..046)
Scope info: ending scope, LVnum=1 [000..046)
Scope info: ending scope, LVnum=2 [000..046)
Scope info: ending scope, LVnum=3 [000..046)
Scope info: ending scope, LVnum=4 [000..046)
Scope info: ending scope, LVnum=5 [000..046)
Scope info: ending scope, LVnum=6 [000..046)
Scope info: ending scope, LVnum=7 [000..046)
Scope info: ending scope, LVnum=8 [000..046)
Scope info: ending scope, LVnum=9 [000..046)
Scope info: ending scope, LVnum=10 [000..046)
Scope info: open scopes =
<none>
IN0032: jmp L_M25631_BB09
=============== Generating BB09 [???..???) (return), preds={BB08} succs={} flags=0x00000000.40020050: keep internal target LIR
BB09 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
Liveness not changing: 0000000000000000 {}
Live regs: (unchanged) 00000000 {}
GC regs: (unchanged) 00000000 {}
Byref regs: (unchanged) 00000000 {}
L_M25631_BB09:
G_M25631_IG07: ; offs=0000D6H, funclet=00, bbWeight=1
Label: IG08, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Scope info: begin block BB09, IL range [???..???)
Scope info: ignoring block beginning
Added IP mapping: NO_MAP STACK_EMPTY (G_M25631_IG08,ins#0,ofs#0) label
Generating: N192 ( 3, 2) [000045] -------N---- t45 = LCL_VAR int V14 tmp3 rax REG rax
IN0033: mov eax, dword ptr [V14 rbp-70H]
/--* t45 int
Generating: N194 ( 4, 3) [000046] ------------ * RETURN int REG NA
Scope info: end block BB09, IL range [???..???)
Scope info: ignoring block end
Added IP mapping: EPILOG STACK_EMPTY (G_M25631_IG08,ins#1,ofs#3) label
Reserving epilog IG for block BB09
G_M25631_IG08: ; offs=0000E1H, funclet=00, bbWeight=1
*************** After placeholder IG creation
G_M25631_IG01: ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG
G_M25631_IG02: ; offs=000000H, size=007BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG03: ; offs=00007BH, size=0026H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG04: ; offs=0000A1H, size=002CH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG05: ; offs=0000CDH, size=0008H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG06: ; offs=0000D5H, size=0001H, nogc, extend
G_M25631_IG07: ; offs=0000D6H, size=000BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG08: ; offs=0000E1H, size=0003H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG09: ; epilog placeholder, next placeholder=<END>, BB09 [0008], epilog, extend <-- First placeholder <-- Last placeholder
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
G_M25631_IG10: ; offs=0001E4H, size=0000H, gcrefRegs=00000000 {} <-- Current IG
=============== Generating BB05 [037..03D) -> BB07 (cond), preds={BB03} succs={BB06,BB07} flags=0x00000000.40030230: keep i label target flet LIR
BB05 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
Liveness not changing: 0000000000000000 {}
Live regs: (unchanged) 00000000 {}
GC regs: (unchanged) 00000000 {}
Byref regs: (unchanged) 00000000 {}
L_M25631_BB05:
Label: IG10, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Scope info: found beginning of funclet region at block BB05; ignoring following blocks
Reserving funclet prolog IG for block BB05
Added IP mapping: PROLOG STACK_EMPTY (G_M25631_IG10,ins#0,ofs#256) label
*************** After placeholder IG creation
G_M25631_IG01: ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG
G_M25631_IG02: ; offs=000000H, size=007BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG03: ; offs=00007BH, size=0026H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG04: ; offs=0000A1H, size=002CH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG05: ; offs=0000CDH, size=0008H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG06: ; offs=0000D5H, size=0001H, nogc, extend
G_M25631_IG07: ; offs=0000D6H, size=000BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG08: ; offs=0000E1H, size=0003H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG09: ; epilog placeholder, next placeholder=IG10 , BB09 [0008], epilog, extend <-- First placeholder
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
G_M25631_IG10: ; func=01, funclet prolog placeholder, next placeholder=<END>, BB05 [0002], funclet prolog <-- Last placeholder
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
G_M25631_IG11: ; offs=0002E4H, size=0000H, gcrefRegs=00000000 {} <-- Current IG
Added IP mapping: 0x0037 STACK_EMPTY (G_M25631_IG11,ins#0,ofs#0) label
Generating: N148 (???,???) [000075] ------------ IL_OFFSET void IL offset: 0x37 REG NA
Generating: N150 ( 3, 2) [000038] ------------ t38 = LCL_VAR int (AX) V08 loc3 rcx REG rcx
IN0034: mov ecx, dword ptr [V08 rbp-50H]
/--* t38 int
Generating: N152 ( 4, 4) [000059] ----G------- t59 = * CAST int <- bool <- int REG rcx
IN0035: movzx rcx, cl
Generating: N154 ( 1, 1) [000039] -c---------- t39 = CNS_INT int 0 REG NA
/--* t59 int
+--* t39 int
Generating: N156 ( 6, 6) [000040] J---G--N---- * EQ void REG NA
IN0036: test ecx, ecx
Generating: N158 ( 8, 8) [000041] ----G------- * JTRUE void REG NA
IN0037: je L_M25631_BB07
=============== Generating BB06 [03D..043), preds={BB05} succs={BB07} flags=0x00000004.40080020: i gcsafe LIR
BB06 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
Liveness not changing: 0000000000000000 {}
Live regs: (unchanged) 00000000 {}
GC regs: (unchanged) 00000000 {}
Byref regs: (unchanged) 00000000 {}
L_M25631_BB06:
Added IP mapping: 0x003D STACK_EMPTY (G_M25631_IG11,ins#4,ofs#14) label
Generating: N162 (???,???) [000076] ------------ IL_OFFSET void IL offset: 0x3d REG NA
Generating: N164 ( 3, 2) [000043] ------------ t43 = LCL_VAR ref V00 arg0 rcx REG rcx
IN0038: mov rcx, gword ptr [V00 rbp+10H]
GC regs: 00000000 {} => 00000002 {rcx}
/--* t43 ref
Generating: N166 (???,???) [000110] ------------ t110 = * PUTARG_REG ref REG rcx
GC regs: 00000002 {rcx} => 00000000 {}
GC regs: 00000000 {} => 00000002 {rcx}
Generating: N168 ( 3, 10) [000111] -c---------- t111 = CNS_INT(h) long 0x4200E0 ftn REG NA
/--* t111 long
Generating: N170 ( 5, 12) [000112] -c---------- t112 = * IND long REG NA
/--* t110 ref this in rcx
+--* t112 long control expr
Generating: N172 ( 17, 9) [000044] --CXG------- * CALL r2r_ind void System.Runtime.InteropServices.SafeHandle.DangerousRelease REG NA
GC regs: 00000002 {rcx} => 00000000 {}
Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Added IP mapping: 0x003E CALL_INSTRUCTION (G_M25631_IG11,ins#5,ofs#18)
IN0039: call [System.Runtime.InteropServices.SafeHandle:DangerousRelease():this]
=============== Generating BB07 [043..044) (finret), preds={BB05,BB06} succs={BB04} flags=0x00000000.40030020: i label target LIR
BB07 IN (0)={} + ByrefExposed + GcHeap
OUT(0)={} + ByrefExposed + GcHeap
Liveness not changing: 0000000000000000 {}
Live regs: (unchanged) 00000000 {}
GC regs: (unchanged) 00000000 {}
Byref regs: (unchanged) 00000000 {}
L_M25631_BB07:
G_M25631_IG11: ; offs=0002E4H, funclet=01, bbWeight=1
Label: IG12, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
Added IP mapping: 0x0043 STACK_EMPTY (G_M25631_IG12,ins#0,ofs#0) label
Generating: N176 (???,???) [000077] ------------ IL_OFFSET void IL offset: 0x43 REG NA
Generating: N178 ( 0, 0) [000042] ------------ RETFILT void REG NA
IN003a: nop
Reserving funclet epilog IG for block BB07
G_M25631_IG12: ; offs=0002FCH, funclet=01, bbWeight=1
Added IP mapping: EPILOG STACK_EMPTY (G_M25631_IG13,ins#0,ofs#256) label
*************** After placeholder IG creation
G_M25631_IG01: ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG
G_M25631_IG02: ; offs=000000H, size=007BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG03: ; offs=00007BH, size=0026H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG04: ; offs=0000A1H, size=002CH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG05: ; offs=0000CDH, size=0008H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG06: ; offs=0000D5H, size=0001H, nogc, extend
G_M25631_IG07: ; offs=0000D6H, size=000BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG08: ; offs=0000E1H, size=0003H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG09: ; epilog placeholder, next placeholder=IG10 , BB09 [0008], epilog, extend <-- First placeholder
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
G_M25631_IG10: ; func=01, funclet prolog placeholder, next placeholder=IG13 , BB05 [0002], funclet prolog
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
G_M25631_IG11: ; offs=0002E4H, size=0018H, gcVars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref
G_M25631_IG12: ; offs=0002FCH, size=0001H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG13: ; funclet epilog placeholder, next placeholder=<END>, BB07 [0004], funclet epilog, extend <-- Last placeholder
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
Liveness not changing: 0000000000000000 {}
4 tmps used
# compCycleEstimate = 183, compSizeEstimate = 112 Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int
; Final local variable assignments
;
; V00 arg0 [V00 ] ( 1, 1 ) ref -> [rbp+0x10] class-hnd
; V01 arg1 [V01 ] ( 1, 1 ) long -> [rbp+0x18]
; V02 arg2 [V02 ] ( 1, 1 ) int -> [rbp+0x20]
; V03 arg3 [V03 ] ( 1, 1 ) byref -> [rbp+0x28]
; V04 arg4 [V04 ] ( 1, 1 ) long -> [rbp+0x30]
; V05 loc0 [V05 ] ( 1, 1 ) int -> [rbp-0x3C] must-init
; V06 loc1 [V06 ] ( 1, 1 ) int -> [rbp-0x40] must-init
; V07 loc2 [V07 ] ( 1, 1 ) long -> [rbp-0x48] must-init
; V08 loc3 [V08 ] ( 1, 1 ) bool -> [rbp-0x50] do-not-enreg[X] must-init addr-exposed ld-addr-op
; V09 loc4 [V09 ] ( 1, 1 ) long -> [rbp-0x58] must-init
; V10 loc5 [V10 ] ( 1, 1 ) byref -> [rbp-0x60] must-init pinned
; V11 OutArgs [V11 ] ( 1, 1 ) lclBlk (40) [rsp+0x00] "OutgoingArgSpace"
; V12 tmp1 [V12 ] ( 1, 1 ) long -> [rbp-0x68] "impSpillStackEnsure"
; V13 tmp2 [V13 ] ( 1, 1 ) int -> [rbp-0x6C] "impSpillStackEnsure"
; V14 tmp3 [V14 ] ( 1, 1 ) int -> [rbp-0x70] "Single return block return value"
; V15 PInvokeFrame [V15 ] ( 1, 1 ) blk (88) [rbp-0xF0] do-not-enreg[X] addr-exposed "Pinvoke FrameVar"
; V16 tmp5 [V16 ] ( 1, 1 ) long -> [rbp-0x78] "Cast away GC"
; V17 PSPSym [V17 ] ( 1, 1 ) long -> [rbp-0xF8] do-not-enreg[X] addr-exposed "PSPSym"
; TEMP_01 int -> [rbp-0x7C]
; TEMP_02 long -> [rbp-0x94]
; TEMP_03 long -> [rbp-0x8C]
; TEMP_04 long -> [rbp-0x84]
;
; Lcl frame size = 232
*************** Before prolog / epilog generation
G_M25631_IG01: ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG
G_M25631_IG02: ; offs=000000H, size=007BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG03: ; offs=00007BH, size=0026H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG04: ; offs=0000A1H, size=002CH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG05: ; offs=0000CDH, size=0008H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG06: ; offs=0000D5H, size=0001H, nogc, extend
G_M25631_IG07: ; offs=0000D6H, size=000BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG08: ; offs=0000E1H, size=0003H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG09: ; epilog placeholder, next placeholder=IG10 , BB09 [0008], epilog, extend <-- First placeholder
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
G_M25631_IG10: ; func=01, funclet prolog placeholder, next placeholder=IG13 , BB05 [0002], funclet prolog
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
G_M25631_IG11: ; offs=0002E4H, size=0018H, gcVars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref
G_M25631_IG12: ; offs=0002FCH, size=0001H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG13: ; funclet epilog placeholder, next placeholder=<END>, BB07 [0004], funclet epilog, extend <-- Last placeholder
; PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
; InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
*************** In genFnProlog()
Added IP mapping to front: PROLOG STACK_EMPTY (G_M25631_IG01,ins#0,ofs#0) label
__prolog:
Found 12 lvMustInit int-sized stack slots, frame offsets 96 through 56
IN003b: push rbp
IN003c: push r15
IN003d: push r14
IN003e: push r13
IN003f: push r12
IN0040: push rdi
IN0041: push rsi
IN0042: push rbx
IN0043: sub rsp, 232
IN0044: lea rbp, [rsp+120H]
Notify VM instruction set (SSE42) must be supported.
IN0045: xorps xmm4, xmm4
IN0046: movaps xmmword ptr [rbp-60H], xmm4
IN0047: movaps xmmword ptr [rbp-50H], xmm4
IN0048: xor rax, rax
IN0049: mov qword ptr [rbp-40H], rax
IN004a: mov qword ptr [V17 rbp-F8H], rsp
*************** In genFnPrologCalleeRegArgs() for int regs
IN004b: mov gword ptr [V00 rbp+10H], rcx
IN004c: mov qword ptr [V01 rbp+18H], rdx
IN004d: mov dword ptr [V02 rbp+20H], r8d
IN004e: mov bword ptr [V03 rbp+28H], r9
*************** In genEnregisterIncomingStackArgs()
G_M25631_IG01: ; offs=000000H, funclet=00, bbWeight=1
Funclet prolog / epilog info
Function InitialSP-to-FP delta: 288
SP delta: 56
PSP slot Initial SP offset: 40
*************** In genFnEpilog()
__epilog:
gcVarPtrSetCur=0000000000000000 {}, gcRegGCrefSetCur=00000000 {}, gcRegByrefSetCur=00000000 {}
IN004f: lea rsp, [rbp-38H]
IN0050: pop rbx
IN0051: pop rsi
IN0052: pop rdi
IN0053: pop r12
IN0054: pop r13
IN0055: pop r14
IN0056: pop r15
IN0057: pop rbp
IN0058: ret
G_M25631_IG09: ; offs=0000E4H, funclet=00, bbWeight=1
*************** In genFuncletProlog()
IN0059: push rbp
IN005a: push r15
IN005b: push r14
IN005c: push r13
IN005d: push r12
IN005e: push rdi
IN005f: push rsi
IN0060: push rbx
IN0061: sub rsp, 56
IN0062: mov rbp, qword ptr [rcx+40]
Marking regs modified: [rbp] ([rax rcx rdx rbx rsi rdi r8-r15] => [rax rcx rdx rbx rbp rsi rdi r8-r15])
IN0063: mov qword ptr [rsp+28H], rbp
IN0064: lea rbp, [rbp+120H]
Removing modified regs: [rbp] ([rax rcx rdx rbx rbp rsi rdi r8-r15] => [rax rcx rdx rbx rsi rdi r8-r15])
G_M25631_IG10: ; offs=0001E4H, funclet=01, bbWeight=1
*************** In genFuncletEpilog()
IN0065: add rsp, 56
IN0066: pop rbx
IN0067: pop rsi
IN0068: pop rdi
IN0069: pop r12
IN006a: pop r13
IN006b: pop r14
IN006c: pop r15
IN006d: pop rbp
IN006e: ret
G_M25631_IG13: ; offs=0002FDH, funclet=01, bbWeight=1
0 prologs, 1 epilogs, 1 funclet prologs, 1 funclet epilogs
*************** After prolog / epilog generation
G_M25631_IG01: ; func=00, offs=000000H, size=0043H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
G_M25631_IG02: ; offs=000043H, size=007BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG03: ; offs=0000BEH, size=0026H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG04: ; offs=0000E4H, size=002CH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG05: ; offs=000110H, size=0008H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG06: ; offs=000118H, size=0001H, nogc, extend
G_M25631_IG07: ; offs=000119H, size=000BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG08: ; offs=000124H, size=0003H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG09: ; offs=000127H, size=0011H, epilog, nogc, extend
G_M25631_IG10: ; func=01, offs=000138H, size=0020H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, funclet prolog, nogc
G_M25631_IG11: ; offs=000158H, size=0018H, gcVars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref
G_M25631_IG12: ; offs=000170H, size=0001H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M25631_IG13: ; offs=000171H, size=0011H, funclet epilog, nogc, extend
*************** In emitJumpDistBind()
Binding: IN002c: 000000 jmp L_M25631_BB03
Binding L_M25631_BB03to G_M25631_IG05
Estimate of fwd jump [F0ADD4AC/044]: 010B -> 0110 = 0003
Shrinking jump [F0ADD4AC/044]
Adjusted offset of BB05 from 0110 to 010D
Binding: IN002e: 000000 call L_M25631_BB05
Binding L_M25631_BB05to G_M25631_IG10
Adjusted offset of BB06 from 0118 to 0115
Adjusted offset of BB07 from 0119 to 0116
Binding: IN0032: 000000 jmp L_M25631_BB09
Binding L_M25631_BB09to G_M25631_IG08
Estimate of fwd jump [F0ADD81C/050]: 011C -> 0121 = 0003
Shrinking jump [F0ADD81C/050]
Adjusted offset of BB08 from 0124 to 011E
Adjusted offset of BB09 from 0127 to 0121
Adjusted offset of BB10 from 0138 to 0132
Adjusted offset of BB11 from 0158 to 0152
Binding: IN0037: 000000 je L_M25631_BB07
Binding L_M25631_BB07to G_M25631_IG12
Estimate of fwd jump [F0ADDDC4/055]: 015A -> 016A = 000E
Shrinking jump [F0ADDDC4/055]
Adjusted offset of BB12 from 0170 to 0166
Adjusted offset of BB13 from 0171 to 0167
Total shrinkage = 10, min extra jump size = 4294967295
*************** Finishing PHASE Generate code
*************** Starting PHASE Emit code
Hot code size = 0x178 bytes
Cold code size = 0x0 bytes
reserveUnwindInfo(isFunclet=FALSE, isColdCode=FALSE, unwindSize=0x18)
reserveUnwindInfo(isFunclet=TRUE, isColdCode=FALSE, unwindSize=0x16)
*************** In emitEndCodeGen()
Converting emitMaxStackDepth from bytes (0) to elements (0)
***************************************************************************
Instructions as they come out of the scheduler
G_M25631_IG01: ; func=00, offs=000000H, size=0043H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
IN003b: 000000 55 push rbp
IN003c: 000001 4157 push r15
IN003d: 000003 4156 push r14
IN003e: 000005 4155 push r13
IN003f: 000007 4154 push r12
IN0040: 000009 57 push rdi
IN0041: 00000A 56 push rsi
IN0042: 00000B 53 push rbx
IN0043: 00000C 4881ECE8000000 sub rsp, 232
IN0044: 000013 488DAC2420010000 lea rbp, [rsp+120H]
IN0045: 00001B 0F57E4 xorps xmm4, xmm4
IN0046: 00001E 0F2965A0 movaps xmmword ptr [rbp-60H], xmm4
IN0047: 000022 0F2965B0 movaps xmmword ptr [rbp-50H], xmm4
IN0048: 000026 33C0 xor rax, rax
IN0049: 000028 488945C0 mov qword ptr [rbp-40H], rax
IN004a: 00002C 4889A508FFFFFF mov qword ptr [rbp-F8H], rsp
IN004b: 000033 48894D10 mov gword ptr [rbp+10H], rcx
IN004c: 000037 48895518 mov qword ptr [rbp+18H], rdx
IN004d: 00003B 44894520 mov dword ptr [rbp+20H], r8d
IN004e: 00003F 4C894D28 mov bword ptr [rbp+28H], r9
;; bbWeight=1 PerfScore 21.33
G_M25631_IG02: ; func=00, offs=000043H, size=007BH, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
IN0001: 000043 488D55B0 lea rdx, [rbp-50H]
gcrReg +[rcx]
IN0002: 000047 488B4D10 mov rcx, gword ptr [rbp+10H]
New gcrReg live regs=00000000 {}
gcrReg -[rcx]
[F0ADF0A8] ptr arg pop 0
IN0003: 00004B FF1500000000 call [System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref):this]
gcrReg +[rcx]
IN0004: 000051 488B4D10 mov rcx, gword ptr [rbp+10H]
New gcrReg live regs=00000000 {}
gcrReg -[rcx]
[F0ADF158] ptr arg pop 0
IN0005: 000055 FF1500000000 call [System.Runtime.InteropServices.SafeHandle:DangerousGetHandle():long:this]
IN0006: 00005B 48894598 mov qword ptr [rbp-68H], rax
IN0007: 00005F 488B4598 mov rax, qword ptr [rbp-68H]
IN0008: 000063 488945B8 mov qword ptr [rbp-48H], rax
byrReg +[rax]
IN0009: 000067 488B4528 mov rax, bword ptr [rbp+28H]
IN000a: 00006B 488945A0 mov bword ptr [rbp-60H], rax
IN000b: 00006F 488B45A0 mov rax, bword ptr [rbp-60H]
IN000c: 000073 48894588 mov qword ptr [rbp-78H], rax
byrReg -[rax]
IN000d: 000077 488B4588 mov rax, qword ptr [rbp-78H]
IN000e: 00007B 488945A8 mov qword ptr [rbp-58H], rax
[F0ADF208] ptr arg pop 0
IN000f: 00007F FF1500000000 call [System.StubHelpers.StubHelpers:ClearLastError()]
IN0010: 000085 488B4D30 mov rcx, qword ptr [rbp+30H]
IN0011: 000089 48894C2420 mov qword ptr [rsp+20H], rcx
IN0012: 00008E 488B4DB8 mov rcx, qword ptr [rbp-48H]
IN0013: 000092 48898D7CFFFFFF mov qword ptr [rbp-84H], rcx
IN0014: 000099 488B5518 mov rdx, qword ptr [rbp+18H]
IN0015: 00009D 48899574FFFFFF mov qword ptr [rbp-8CH], rdx
IN0016: 0000A4 448B4520 mov r8d, dword ptr [rbp+20H]
IN0017: 0000A8 44894584 mov dword ptr [rbp-7CH], r8d
IN0018: 0000AC 4C8B4DA8 mov r9, qword ptr [rbp-58H]
IN0019: 0000B0 4C898D6CFFFFFF mov qword ptr [rbp-94H], r9
IN001a: 0000B7 488D8D10FFFFFF lea rcx, [rbp-F0H]
;; bbWeight=1 PerfScore 31.00
G_M25631_IG03: ; func=00, offs=0000BEH, size=0026H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
[F0ADF258] ptr arg pop 0
IN001b: 0000BE FF1500000000 call [CORINFO_HELP_JIT_PINVOKE_BEGIN]
IN001c: 0000C4 488B0500000000 mov rax, qword ptr [(reloc 0x4200f0)]
IN001d: 0000CB 488B8D7CFFFFFF mov rcx, qword ptr [rbp-84H]
IN001e: 0000D2 488B9574FFFFFF mov rdx, qword ptr [rbp-8CH]
IN001f: 0000D9 448B4584 mov r8d, dword ptr [rbp-7CH]
IN0020: 0000DD 4C8B8D6CFFFFFF mov r9, qword ptr [rbp-94H]
;; bbWeight=1 PerfScore 9.00
G_M25631_IG04: ; func=00, offs=0000E4H, size=0029H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
[F0ADF278] ptr arg pop 0
IN0021: 0000E4 FF10 call qword ptr [rax]Kernel32:ReadFile(long,long,int,long,long):int
IN0022: 0000E6 8BF0 mov esi, eax
IN0023: 0000E8 488D8D10FFFFFF lea rcx, [rbp-F0H]
[F0ADF2F0] ptr arg pop 0
IN0024: 0000EF FF1500000000 call [CORINFO_HELP_JIT_PINVOKE_END]
IN0025: 0000F5 897594 mov dword ptr [rbp-6CH], esi
[F0ADF310] ptr arg pop 0
IN0026: 0000F8 FF1500000000 call [System.StubHelpers.StubHelpers:SetLastError()]
IN0027: 0000FE 8B4D94 mov ecx, dword ptr [rbp-6CH]
IN0028: 000101 894DC0 mov dword ptr [rbp-40H], ecx
IN0029: 000104 8B4DC0 mov ecx, dword ptr [rbp-40H]
IN002a: 000107 894DC4 mov dword ptr [rbp-3CH], ecx
IN002b: 00010A 90 nop
IN002c: 00010B EB00 jmp SHORT G_M25631_IG05
;; bbWeight=1 PerfScore 17.00
G_M25631_IG05: ; func=00, offs=00010DH, size=0008H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
IN002d: 00010D 488BCC mov rcx, rsp
IN002e: 000110 E81D000000 call G_M25631_IG10
;; bbWeight=1 PerfScore 1.25
G_M25631_IG06: ; func=00, offs=000115H, size=0001H, nogc, extend
IN002f: 000115 90 nop
;; bbWeight=1 PerfScore 0.25
G_M25631_IG07: ; func=00, offs=000116H, size=0008H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
IN0030: 000116 8B45C4 mov eax, dword ptr [rbp-3CH]
IN0031: 000119 894590 mov dword ptr [rbp-70H], eax
IN0032: 00011C EB00 jmp SHORT G_M25631_IG08
;; bbWeight=1 PerfScore 4.00
G_M25631_IG08: ; func=00, offs=00011EH, size=0003H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
IN0033: 00011E 8B4590 mov eax, dword ptr [rbp-70H]
;; bbWeight=1 PerfScore 1.00
G_M25631_IG09: ; func=00, offs=000121H, size=0011H, epilog, nogc, extend
IN004f: 000121 488D65C8 lea rsp, [rbp-38H]
IN0050: 000125 5B pop rbx
IN0051: 000126 5E pop rsi
IN0052: 000127 5F pop rdi
IN0053: 000128 415C pop r12
IN0054: 00012A 415D pop r13
IN0055: 00012C 415E pop r14
IN0056: 00012E 415F pop r15
IN0057: 000130 5D pop rbp
IN0058: 000131 C3 ret
;; bbWeight=1 PerfScore 5.50
G_M25631_IG10: ; func=01, offs=000132H, size=0020H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, funclet prolog, nogc
IN0059: 000132 55 push rbp
IN005a: 000133 4157 push r15
IN005b: 000135 4156 push r14
IN005c: 000137 4155 push r13
IN005d: 000139 4154 push r12
IN005e: 00013B 57 push rdi
IN005f: 00013C 56 push rsi
IN0060: 00013D 53 push rbx
IN0061: 00013E 4883EC38 sub rsp, 56
IN0062: 000142 488B6928 mov rbp, qword ptr [rcx+40]
IN0063: 000146 48896C2428 mov qword ptr [rsp+28H], rbp
IN0064: 00014B 488DAD20010000 lea rbp, [rbp+120H]
;; bbWeight=1 PerfScore 11.75
G_M25631_IG11: ; func=01, offs=000152H, size=0014H, gcVars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref, isz
IN0034: 000152 8B4DB0 mov ecx, dword ptr [rbp-50H]
IN0035: 000155 0FB6C9 movzx rcx, cl
IN0036: 000158 85C9 test ecx, ecx
IN0037: 00015A 740A je SHORT G_M25631_IG12
gcrReg +[rcx]
IN0038: 00015C 488B4D10 mov rcx, gword ptr [rbp+10H]
New gcrReg live regs=00000000 {}
gcrReg -[rcx]
[F0ADF3B8] ptr arg pop 0
IN0039: 000160 FF1500000000 call [System.Runtime.InteropServices.SafeHandle:DangerousRelease():this]
;; bbWeight=1 PerfScore 6.50
G_M25631_IG12: ; func=01, offs=000166H, size=0001H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
IN003a: 000166 90 nop
;; bbWeight=1 PerfScore 0.25
G_M25631_IG13: ; func=01, offs=000167H, size=0011H, funclet epilog, nogc, extend
IN0065: 000167 4883C438 add rsp, 56
IN0066: 00016B 5B pop rbx
IN0067: 00016C 5E pop rsi
IN0068: 00016D 5F pop rdi
IN0069: 00016E 415C pop r12
IN006a: 000170 415D pop r13
IN006b: 000172 415E pop r14
IN006c: 000174 415F pop r15
IN006d: 000176 5D pop rbp
IN006e: 000177 C3 ret
;; bbWeight=1 PerfScore 5.25Allocated method code size = 376 , actual size = 376
; Total bytes of code 376, prolog size 67, PerfScore 151.68, (MethodHash=c1f39be0) for method Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int
; ============================================================
*************** After end code gen, before unwindEmit()
G_M25631_IG01: ; func=00, offs=000000H, size=0043H, bbWeight=1 PerfScore 21.33, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
IN003b: 000000 push rbp
IN003c: 000001 push r15
IN003d: 000003 push r14
IN003e: 000005 push r13
IN003f: 000007 push r12
IN0040: 000009 push rdi
IN0041: 00000A push rsi
IN0042: 00000B push rbx
IN0043: 00000C sub rsp, 232
IN0044: 000013 lea rbp, [rsp+120H]
IN0045: 00001B xorps xmm4, xmm4
IN0046: 00001E movaps xmmword ptr [rbp-60H], xmm4
IN0047: 000022 movaps xmmword ptr [rbp-50H], xmm4
IN0048: 000026 xor rax, rax
IN0049: 000028 mov qword ptr [rbp-40H], rax
IN004a: 00002C mov qword ptr [V17 rbp-F8H], rsp
IN004b: 000033 mov gword ptr [V00 rbp+10H], rcx
IN004c: 000037 mov qword ptr [V01 rbp+18H], rdx
IN004d: 00003B mov dword ptr [V02 rbp+20H], r8d
IN004e: 00003F mov bword ptr [V03 rbp+28H], r9
G_M25631_IG02: ; offs=000043H, size=007BH, bbWeight=1 PerfScore 31.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
IN0001: 000043 lea rdx, [V08 rbp-50H]
IN0002: 000047 mov rcx, gword ptr [V00 rbp+10H]
IN0003: 00004B call [System.Runtime.InteropServices.SafeHandle:DangerousAddRef(byref):this]
IN0004: 000051 mov rcx, gword ptr [V00 rbp+10H]
IN0005: 000055 call [System.Runtime.InteropServices.SafeHandle:DangerousGetHandle():long:this]
IN0006: 00005B mov qword ptr [V12 rbp-68H], rax
IN0007: 00005F mov rax, qword ptr [V12 rbp-68H]
IN0008: 000063 mov qword ptr [V07 rbp-48H], rax
IN0009: 000067 mov rax, bword ptr [V03 rbp+28H]
IN000a: 00006B mov bword ptr [V10 rbp-60H], rax
IN000b: 00006F mov rax, bword ptr [V10 rbp-60H]
IN000c: 000073 mov qword ptr [V16 rbp-78H], rax
IN000d: 000077 mov rax, qword ptr [V16 rbp-78H]
IN000e: 00007B mov qword ptr [V09 rbp-58H], rax
IN000f: 00007F call [System.StubHelpers.StubHelpers:ClearLastError()]
IN0010: 000085 mov rcx, qword ptr [V04 rbp+30H]
IN0011: 000089 mov qword ptr [V11+0x20 rsp+20H], rcx
IN0012: 00008E mov rcx, qword ptr [V07 rbp-48H]
IN0013: 000092 mov qword ptr [TEMP_04 rbp-84H], rcx
IN0014: 000099 mov rdx, qword ptr [V01 rbp+18H]
IN0015: 00009D mov qword ptr [TEMP_03 rbp-8CH], rdx
IN0016: 0000A4 mov r8d, dword ptr [V02 rbp+20H]
IN0017: 0000A8 mov dword ptr [TEMP_01 rbp-7CH], r8d
IN0018: 0000AC mov r9, qword ptr [V09 rbp-58H]
IN0019: 0000B0 mov qword ptr [TEMP_02 rbp-94H], r9
IN001a: 0000B7 lea rcx, [V15 rbp-F0H]
G_M25631_IG03: ; offs=0000BEH, size=0026H, bbWeight=1 PerfScore 9.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
IN001b: 0000BE call [CORINFO_HELP_JIT_PINVOKE_BEGIN]
IN001c: 0000C4 mov rax, qword ptr [(reloc 0x4200f0)]
IN001d: 0000CB mov rcx, qword ptr [TEMP_04 rbp-84H]
IN001e: 0000D2 mov rdx, qword ptr [TEMP_03 rbp-8CH]
IN001f: 0000D9 mov r8d, dword ptr [TEMP_01 rbp-7CH]
IN0020: 0000DD mov r9, qword ptr [TEMP_02 rbp-94H]
G_M25631_IG04: ; offs=0000E4H, size=0029H, bbWeight=1 PerfScore 17.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
IN0021: 0000E4 call qword ptr [rax]Kernel32:ReadFile(long,long,int,long,long):int
IN0022: 0000E6 mov esi, eax
IN0023: 0000E8 lea rcx, [V15 rbp-F0H]
IN0024: 0000EF call [CORINFO_HELP_JIT_PINVOKE_END]
IN0025: 0000F5 mov dword ptr [V13 rbp-6CH], esi
IN0026: 0000F8 call [System.StubHelpers.StubHelpers:SetLastError()]
IN0027: 0000FE mov ecx, dword ptr [V13 rbp-6CH]
IN0028: 000101 mov dword ptr [V06 rbp-40H], ecx
IN0029: 000104 mov ecx, dword ptr [V06 rbp-40H]
IN002a: 000107 mov dword ptr [V05 rbp-3CH], ecx
IN002b: 00010A nop
IN002c: 00010B jmp SHORT G_M25631_IG05
G_M25631_IG05: ; offs=00010DH, size=0008H, bbWeight=1 PerfScore 1.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
IN002d: 00010D mov rcx, rsp
IN002e: 000110 call G_M25631_IG10
G_M25631_IG06: ; offs=000115H, size=0001H, bbWeight=1 PerfScore 0.25, nogc, extend
IN002f: 000115 nop
G_M25631_IG07: ; offs=000116H, size=0008H, bbWeight=1 PerfScore 4.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
IN0030: 000116 mov eax, dword ptr [V05 rbp-3CH]
IN0031: 000119 mov dword ptr [V14 rbp-70H], eax
IN0032: 00011C jmp SHORT G_M25631_IG08
G_M25631_IG08: ; offs=00011EH, size=0003H, bbWeight=1 PerfScore 1.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
IN0033: 00011E mov eax, dword ptr [V14 rbp-70H]
G_M25631_IG09: ; offs=000121H, size=0011H, bbWeight=1 PerfScore 5.50, epilog, nogc, extend
IN004f: 000121 lea rsp, [rbp-38H]
IN0050: 000125 pop rbx
IN0051: 000126 pop rsi
IN0052: 000127 pop rdi
IN0053: 000128 pop r12
IN0054: 00012A pop r13
IN0055: 00012C pop r14
IN0056: 00012E pop r15
IN0057: 000130 pop rbp
IN0058: 000131 ret
G_M25631_IG10: ; func=01, offs=000132H, size=0020H, bbWeight=1 PerfScore 11.75, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, funclet prolog, nogc
IN0059: 000132 push rbp
IN005a: 000133 push r15
IN005b: 000135 push r14
IN005c: 000137 push r13
IN005d: 000139 push r12
IN005e: 00013B push rdi
IN005f: 00013C push rsi
IN0060: 00013D push rbx
IN0061: 00013E sub rsp, 56
IN0062: 000142 mov rbp, qword ptr [rcx+40]
IN0063: 000146 mov qword ptr [rsp+28H], rbp
IN0064: 00014B lea rbp, [rbp+120H]
G_M25631_IG11: ; offs=000152H, size=0014H, bbWeight=1 PerfScore 6.50, gcVars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref, isz
IN0034: 000152 mov ecx, dword ptr [V08 rbp-50H]
IN0035: 000155 movzx rcx, cl
IN0036: 000158 test ecx, ecx
IN0037: 00015A je SHORT G_M25631_IG12
IN0038: 00015C mov rcx, gword ptr [V00 rbp+10H]
IN0039: 000160 call [System.Runtime.InteropServices.SafeHandle:DangerousRelease():this]
G_M25631_IG12: ; offs=000166H, size=0001H, bbWeight=1 PerfScore 0.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
IN003a: 000166 nop
G_M25631_IG13: ; offs=000167H, size=0011H, bbWeight=1 PerfScore 5.25, funclet epilog, nogc, extend
IN0065: 000167 add rsp, 56
IN0066: 00016B pop rbx
IN0067: 00016C pop rsi
IN0068: 00016D pop rdi
IN0069: 00016E pop r12
IN006a: 000170 pop r13
IN006b: 000172 pop r14
IN006c: 000174 pop r15
IN006d: 000176 pop rbp
IN006e: 000177 ret
*************** Finishing PHASE Emit code
*************** Starting PHASE Emit GC+EH tables
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0x000132 (not in unwind data)
Version : 1
Flags : 0x00
SizeOfProlog : 0x13
CountOfUnwindCodes: 10
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
CodeOffset: 0x13 UnwindOp: UWOP_ALLOC_LARGE (1) OpInfo: 0 - Scaled small
Size: 29 * 8 = 232 = 0x000E8
CodeOffset: 0x0C UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
CodeOffset: 0x0B UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rsi (6)
CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rdi (7)
CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r12 (12)
CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r13 (13)
CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14)
CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15)
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
allocUnwindInfo(pHotCode=0x0000017980AC6BE8, pColdCode=0x0000000000000000, startOffset=0x0, endOffset=0x132, unwindSize=0x18, pUnwindBlock=0x00000179F0AB71D8, funKind=0 (main function))
Unwind Info:
>> Start offset : 0x000132 (not in unwind data)
>> End offset : 0x000178 (not in unwind data)
Version : 1
Flags : 0x00
SizeOfProlog : 0x10
CountOfUnwindCodes: 9
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
CodeOffset: 0x10 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 6 * 8 + 8 = 56 = 0x38
CodeOffset: 0x0C UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
CodeOffset: 0x0B UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rsi (6)
CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rdi (7)
CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r12 (12)
CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r13 (13)
CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14)
CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15)
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
allocUnwindInfo(pHotCode=0x0000017980AC6BE8, pColdCode=0x0000000000000000, startOffset=0x132, endOffset=0x178, unwindSize=0x16, pUnwindBlock=0x00000179F0AB7412, funKind=1 (handler))
*************** In genIPmappingGen()
IP mapping count : 27
IL offs PROLOG : 0x00000000 ( STACK_EMPTY )
IL offs 0x0000 : 0x00000043 ( STACK_EMPTY )
IL offs 0x0003 : 0x0000004B ( CALL_INSTRUCTION )
IL offs 0x0008 : 0x00000051 ( STACK_EMPTY )
IL offs 0x0009 : 0x00000055 ( CALL_INSTRUCTION )
IL offs 0x000E : 0x0000005F
IL offs 0x000F : 0x00000067 ( STACK_EMPTY )
IL offs 0x0012 : 0x0000006F ( STACK_EMPTY )
IL offs 0x0017 : 0x0000007F ( STACK_EMPTY )
IL offs 0x0020 : 0x0000007F ( CALL_INSTRUCTION )
IL offs 0x0025 : 0x00000085
IL offs 0x0025 : 0x000000E4 ( CALL_INSTRUCTION )
IL offs 0x002A : 0x000000F8
IL offs 0x002A : 0x000000F8 ( CALL_INSTRUCTION )
IL offs 0x002F : 0x000000FE
IL offs 0x0030 : 0x00000104 ( STACK_EMPTY )
IL offs 0x0032 : 0x0000010A ( STACK_EMPTY )
IL offs NO_MAP : 0x0000010D ( STACK_EMPTY )
IL offs 0x0044 : 0x00000116 ( STACK_EMPTY )
IL offs NO_MAP : 0x0000011E ( STACK_EMPTY )
IL offs EPILOG : 0x00000121 ( STACK_EMPTY )
IL offs PROLOG : 0x00000132 ( STACK_EMPTY )
IL offs 0x0037 : 0x00000152 ( STACK_EMPTY )
IL offs 0x003D : 0x0000015C ( STACK_EMPTY )
IL offs 0x003E : 0x00000160 ( CALL_INSTRUCTION )
IL offs 0x0043 : 0x00000166 ( STACK_EMPTY )
IL offs EPILOG : 0x00000167 ( STACK_EMPTY )
*************** In genSetScopeInfo()
VarLocInfo count is 16
*************** Variable debug info
16 live ranges
0( UNKNOWN) : From 00000000h to 00000043h, in rcx
1( UNKNOWN) : From 00000000h to 00000043h, in rdx
2( UNKNOWN) : From 00000000h to 00000043h, in r8
3( UNKNOWN) : From 00000000h to 00000043h, in r9
4( UNKNOWN) : From 00000000h to 00000043h, in rsp[40] (1 slot)
0( UNKNOWN) : From 00000043h to 0000011Ch, in rbp[16] (1 slot)
1( UNKNOWN) : From 00000043h to 0000011Ch, in rbp[24] (1 slot)
2( UNKNOWN) : From 00000043h to 0000011Ch, in rbp[32] (1 slot)
3( UNKNOWN) : From 00000043h to 0000011Ch, in rbp[40] (1 slot)
4( UNKNOWN) : From 00000043h to 0000011Ch, in rbp[48] (1 slot)
5( UNKNOWN) : From 00000043h to 0000011Ch, in rbp[-60] (1 slot)
6( UNKNOWN) : From 00000043h to 0000011Ch, in rbp[-64] (1 slot)
7( UNKNOWN) : From 00000043h to 0000011Ch, in rbp[-72] (1 slot)
8( UNKNOWN) : From 00000043h to 0000011Ch, in rbp[-80] (1 slot)
9( UNKNOWN) : From 00000043h to 0000011Ch, in rbp[-88] (1 slot)
10( UNKNOWN) : From 00000043h to 0000011Ch, in rbp[-96] (1 slot)
*************** EH table for Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int
1 EH table entries, 0 duplicate clauses, 1 cloned finallys, 2 total EH entries reported to VM
setEHcount(cEH=2)
EH#0: try [0043..010D) handled by [0132..0178) (finally)
EH#1: try [010D..010D) handled by [010D..0116) (finally) cloned finally
*************** In gcInfoBlockHdrSave()
Set code length to 376.
Set ReturnKind to Scalar.
Set stack base register to rbp.
Set PSPSym stack slot to 40.
Set WantsReportOnlyLeaf.
Set Outgoing stack arg area size to 40.
Stack slot id for offset 16 (0x10) (frame) (untracked) = 0.
Stack slot id for offset 40 (0x28) (frame) (byref, untracked) = 1.
Stack slot id for offset -96 (0xffffffa0) (frame) (byref, pinned, untracked) = 2.
Register slot id for reg rcx = 3.
Register slot id for reg rax (byref) = 4.
Set state of slot 3 at instr offset 0x4b to Live.
Set state of slot 3 at instr offset 0x51 to Dead.
Set state of slot 3 at instr offset 0x55 to Live.
Set state of slot 3 at instr offset 0x5b to Dead.
Set state of slot 4 at instr offset 0x6b to Live.
Set state of slot 4 at instr offset 0x7b to Dead.
Set state of slot 3 at instr offset 0x160 to Live.
Set state of slot 3 at instr offset 0x166 to Dead.
Defining interruptible range: [0x43, 0x115).
Defining interruptible range: [0x116, 0x121).
Defining interruptible range: [0x152, 0x167).
*************** Finishing PHASE Emit GC+EH tables
Method code size: 376
Allocations for Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int (MethodHash=c1f39be0)
count: 1053, size: 79744, max = 2640
allocateMemory: 131072, nraUsed: 82472
Alloc'd bytes by kind:
kind | size | pct
---------------------+------------+--------
AssertionProp | 0 | 0.00%
ASTNode | 14736 | 18.48%
InstDesc | 10304 | 12.92%
ImpStack | 384 | 0.48%
BasicBlock | 4416 | 5.54%
fgArgInfo | 616 | 0.77%
fgArgInfoPtrArr | 184 | 0.23%
FlowList | 288 | 0.36%
TreeStatementList | 0 | 0.00%
SiScope | 1064 | 1.33%
DominatorMemory | 0 | 0.00%
LSRA | 3160 | 3.96%
LSRA_Interval | 2720 | 3.41%
LSRA_RefPosition | 10752 | 13.48%
Reachability | 0 | 0.00%
SSA | 0 | 0.00%
ValueNumber | 0 | 0.00%
LvaTable | 2640 | 3.31%
UnwindInfo | 32 | 0.04%
hashBv | 360 | 0.45%
bitset | 152 | 0.19%
FixedBitVect | 16 | 0.02%
Generic | 1660 | 2.08%
LocalAddressVisitor | 0 | 0.00%
FieldSeqStore | 0 | 0.00%
ZeroOffsetFieldMap | 40 | 0.05%
ArrayInfoMap | 0 | 0.00%
MemoryPhiArg | 0 | 0.00%
CSE | 0 | 0.00%
GC | 3004 | 3.77%
CorSig | 624 | 0.78%
Inlining | 216 | 0.27%
ArrayStack | 0 | 0.00%
DebugInfo | 1304 | 1.64%
DebugOnly | 19253 | 24.14%
Codegen | 1176 | 1.47%
LoopOpt | 0 | 0.00%
LoopHoist | 0 | 0.00%
Unknown | 643 | 0.81%
RangeCheck | 0 | 0.00%
CopyProp | 0 | 0.00%
SideEffects | 0 | 0.00%
ObjectAllocator | 0 | 0.00%
VariableLiveRanges | 0 | 0.00%
ClassLayout | 0 | 0.00%
TailMergeThrows | 0 | 0.00%
EarlyProp | 0 | 0.00%
****** DONE compiling Kernel32:ReadFile([S.P.CoreLib]System.Runtime.InteropServices.SafeHandle,long,int,byref,long):int
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\framework-r2r.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Dia2Lib.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\dotnet-Microsoft.XmlSerializer.Generator.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\ILCompiler.Reflection.ReadyToRun.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.CSharp.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Diagnostics.FastSerialization.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Diagnostics.NETCore.Client.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Diagnostics.Tools.RuntimeClient.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Diagnostics.Tracing.TraceEvent.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Caching.Abstractions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Caching.Memory.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Configuration.Abstractions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Configuration.Binder.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Configuration.CommandLine.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Configuration.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Configuration.EnvironmentVariables.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Configuration.FileExtensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Configuration.Ini.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Configuration.Json.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Configuration.UserSecrets.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Configuration.Xml.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.DependencyInjection.Abstractions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.DependencyInjection.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.DependencyModel.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.FileProviders.Abstractions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.FileProviders.Composite.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.FileProviders.Physical.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.FileSystemGlobbing.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Hosting.Abstractions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Hosting.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Http.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Logging.Abstractions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Logging.Configuration.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Logging.Console.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Logging.Debug.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Logging.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Logging.EventLog.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Logging.EventSource.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Logging.TraceSource.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Options.ConfigurationExtensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Options.DataAnnotations.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Options.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Extensions.Primitives.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.VisualBasic.Core.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.VisualBasic.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Win32.Primitives.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Win32.Registry.AccessControl.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Win32.Registry.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Microsoft.Win32.SystemEvents.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\mscorlib.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\netstandard.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Newtonsoft.Json.Bson.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\Newtonsoft.Json.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\OSExtensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\runincontext.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.AppContext.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Buffers.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.CodeDom.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Collections.Concurrent.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Collections.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Collections.Immutable.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Collections.NonGeneric.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Collections.Specialized.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ComponentModel.Annotations.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ComponentModel.Composition.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ComponentModel.Composition.Registration.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ComponentModel.DataAnnotations.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ComponentModel.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ComponentModel.EventBasedAsync.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ComponentModel.Primitives.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ComponentModel.TypeConverter.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Composition.AttributedModel.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Composition.Convention.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Composition.Hosting.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Composition.Runtime.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Composition.TypedParts.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Configuration.ConfigurationManager.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Configuration.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Console.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Core.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Data.Common.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Data.DataSetExtensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Data.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Data.Odbc.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Data.OleDb.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.Contracts.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.Debug.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.DiagnosticSource.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.EventLog.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.FileVersionInfo.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.PerformanceCounter.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.Process.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.StackTrace.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.TextWriterTraceListener.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.Tools.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.TraceSource.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Diagnostics.Tracing.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.DirectoryServices.AccountManagement.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.DirectoryServices.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.DirectoryServices.Protocols.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Drawing.Common.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Drawing.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Drawing.Primitives.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Dynamic.Runtime.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Globalization.Calendars.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Globalization.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Globalization.Extensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.Compression.Brotli.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.Compression.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.Compression.FileSystem.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.Compression.ZipFile.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.FileSystem.AccessControl.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.FileSystem.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.FileSystem.DriveInfo.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.FileSystem.Primitives.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.FileSystem.Watcher.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.IsolatedStorage.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.MemoryMappedFiles.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.Packaging.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.Pipelines.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.Pipes.AccessControl.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.Pipes.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.Ports.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.IO.UnmanagedMemoryStream.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Linq.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Linq.Expressions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Linq.Parallel.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Linq.Queryable.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Management.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Memory.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.Http.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.Http.Json.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.Http.WinHttpHandler.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.HttpListener.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.Mail.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.NameResolution.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.NetworkInformation.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.Ping.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.Primitives.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.Requests.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.Security.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.ServicePoint.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.Sockets.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.WebClient.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.WebHeaderCollection.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.WebProxy.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.WebSockets.Client.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.WebSockets.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Net.WebSockets.WebSocketProtocol.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Numerics.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Numerics.Tensors.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Numerics.Vectors.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ObjectModel.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Private.CoreLib.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Private.DataContractSerialization.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Private.Uri.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Private.Xml.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Private.Xml.Linq.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Reflection.Context.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Reflection.DispatchProxy.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Reflection.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Reflection.Emit.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Reflection.Emit.ILGeneration.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Reflection.Emit.Lightweight.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Reflection.Extensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Reflection.Metadata.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Reflection.MetadataLoadContext.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Reflection.Primitives.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Reflection.TypeExtensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Resources.Extensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Resources.Reader.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Resources.ResourceManager.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Resources.Writer.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Caching.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.CompilerServices.Unsafe.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.CompilerServices.VisualC.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Extensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Handles.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.InteropServices.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.InteropServices.RuntimeInformation.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.InteropServices.WindowsRuntime.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Intrinsics.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Intrinsics.Experimental.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Loader.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Numerics.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Serialization.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Serialization.Formatters.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Serialization.Json.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Serialization.Primitives.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.Serialization.Xml.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Runtime.WindowsRuntime.UI.Xaml.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.AccessControl.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Claims.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Cryptography.Algorithms.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Cryptography.Cng.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Cryptography.Csp.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Cryptography.Encoding.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Cryptography.OpenSsl.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Cryptography.Pkcs.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Cryptography.Primitives.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Cryptography.ProtectedData.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Cryptography.X509Certificates.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Cryptography.Xml.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Permissions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Principal.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.Principal.Windows.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Security.SecureString.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ServiceModel.Syndication.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ServiceModel.Web.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ServiceProcess.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ServiceProcess.ServiceController.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Text.Encoding.CodePages.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Text.Encoding.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Text.Encoding.Extensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Text.Encodings.Web.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Text.Json.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Text.RegularExpressions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Threading.AccessControl.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Threading.Channels.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Threading.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Threading.Overlapped.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Threading.Tasks.Dataflow.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Threading.Tasks.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Threading.Tasks.Extensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Threading.Tasks.Parallel.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Threading.Thread.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Threading.ThreadPool.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Threading.Timer.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Transactions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Transactions.Local.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Utf8String.Experimental.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.ValueTuple.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Web.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Web.HttpUtility.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Windows.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Windows.Extensions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Xml.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Xml.Linq.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Xml.ReaderWriter.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Xml.Serialization.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Xml.XDocument.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Xml.XmlDocument.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Xml.XmlSerializer.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Xml.XPath.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\System.Xml.XPath.XDocument.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\TraceReloggerLib.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\WindowsBase.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\xunit.abstractions.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\xunit.assert.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\xunit.console.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\xunit.core.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\xunit.execution.dotnet.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\xunit.performance.core.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\xunit.performance.execution.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\xunit.performance.metrics.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\xunit.runner.reporters.netcoreapp10.dll
Emitting R2R PE file: D:\git\runtime5\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CPAOT-chk.out\xunit.runner.utility.netcoreapp10.dll
>>>>
1 / 1 (100%, 0 failed): succeeded in 23052 msecs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment