Skip to content

Instantly share code, notes, and snippets.

@ReubenBond
Last active Dec 17, 2020
Embed
What would you like to do?
Ready
****** START compiling Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this (MethodHash=011f4f14)
Generating code for Windows x64
OPTIONS: compCodeOpt = BLENDED_CODE
OPTIONS: compDbgCode = true
OPTIONS: compDbgInfo = true
OPTIONS: compDbgEnC = false
OPTIONS: compProcedureSplitting = false
OPTIONS: compProcedureSplittingEH = false
IL to import:
IL_0000 00 nop
IL_0001 d0 fd 00 00 1b ldtoken 0x1B0000FD
IL_0006 28 85 00 00 0a call 0xA000085
IL_000b d0 b4 01 00 1b ldtoken 0x1B0001B4
IL_0010 28 85 00 00 0a call 0xA000085
IL_0015 28 1f 01 00 0a call 0xA00011F
IL_001a 2d 1b brtrue.s 27 (IL_0037)
IL_001c d0 fd 00 00 1b ldtoken 0x1B0000FD
IL_0021 28 85 00 00 0a call 0xA000085
IL_0026 d0 18 01 00 02 ldtoken 0x2000118
IL_002b 28 85 00 00 0a call 0xA000085
IL_0030 28 1f 01 00 0a call 0xA00011F
IL_0035 2b 01 br.s 1 (IL_0038)
IL_0037 17 ldc.i4.1
IL_0038 0a stloc.0
IL_0039 06 ldloc.0
IL_003a 2c 45 brfalse.s 69 (IL_0081)
IL_003c 00 nop
IL_003d 02 ldarg.0
IL_003e 7b 93 04 00 0a ldfld 0xA000493
IL_0043 0b stloc.1
IL_0044 02 ldarg.0
IL_0045 7b 92 04 00 0a ldfld 0xA000492
IL_004a 0c stloc.2
IL_004b 07 ldloc.1
IL_004c 12 02 ldloca.s 0x2
IL_004e 28 24 01 00 0a call 0xA000124
IL_0053 fe 05 clt.un
IL_0055 16 ldc.i4.0
IL_0056 fe 01 ceq
IL_0058 13 04 stloc.s 0x4
IL_005a 11 04 ldloc.s 0x4
IL_005c 2c 0b brfalse.s 11 (IL_0069)
IL_005e 00 nop
IL_005f 02 ldarg.0
IL_0060 28 a6 04 00 0a call 0xA0004A6
IL_0065 13 05 stloc.s 0x5
IL_0067 2b 4b br.s 75 (IL_00b4)
IL_0069 12 02 ldloca.s 0x2
IL_006b 07 ldloc.1
IL_006c 28 ac 01 00 0a call 0xA0001AC
IL_0071 47 ldind.u1
IL_0072 0d stloc.3
IL_0073 02 ldarg.0
IL_0074 07 ldloc.1
IL_0075 17 ldc.i4.1
IL_0076 58 add
IL_0077 7d 93 04 00 0a stfld 0xA000493
IL_007c 09 ldloc.3
IL_007d 13 05 stloc.s 0x5
IL_007f 2b 33 br.s 51 (IL_00b4)
IL_0081 02 ldarg.0
IL_0082 7b 8e 04 00 0a ldfld 0xA00048E
IL_0087 8c fd 00 00 1b box 0x1B0000FD
IL_008c 75 15 01 00 02 isinst 0x2000115
IL_0091 13 06 stloc.s 0x6
IL_0093 11 06 ldloc.s 0x6
IL_0095 14 ldnull
IL_0096 fe 03 cgt.un
IL_0098 13 07 stloc.s 0x7
IL_009a 11 07 ldloc.s 0x7
IL_009c 2c 0c brfalse.s 12 (IL_00aa)
IL_009e 00 nop
IL_009f 11 06 ldloc.s 0x6
IL_00a1 6f bf 04 00 06 callvirt 0x60004BF
IL_00a6 13 05 stloc.s 0x5
IL_00a8 2b 0a br.s 10 (IL_00b4)
IL_00aa 00 nop
IL_00ab 28 41 01 00 2b call 0x2B000141
IL_00b0 13 05 stloc.s 0x5
IL_00b2 2b 00 br.s 0 (IL_00b4)
IL_00b4 11 05 ldloc.s 0x5
IL_00b6 2a ret
'this' passed in register rcx
lvaSetClass: setting class for V07 to (00007FF93B569758) Hagar.Buffers.ReaderInput
lvaGrabTemp returning 9 (V09 tmp0) (a long lifetime temp) called for OutgoingArgSpace.
; Initial local variable assignments
;
; V00 this byref this
; V01 loc0 bool
; V02 loc1 int
; V03 loc2 struct <System.ReadOnlySpan`1[Byte], 16>
; V04 loc3 ubyte
; V05 loc4 bool
; V06 loc5 ubyte
; V07 loc6 ref class-hnd
; V08 loc7 bool
; V09 OutArgs lclBlk <na> "OutgoingArgSpace"
*************** In compInitDebuggingInfo() for Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this
getVars() returned cVars = 0, extendOthers = true
info.compVarScopesCount = 9
VarNum LVNum Name Beg End
0: 00h 00h V00 this 000h 0B7h
1: 01h 01h V01 loc0 000h 0B7h
2: 02h 02h V02 loc1 000h 0B7h
3: 03h 03h V03 loc2 000h 0B7h
4: 04h 04h V04 loc3 000h 0B7h
5: 05h 05h V05 loc4 000h 0B7h
6: 06h 06h V06 loc5 000h 0B7h
7: 07h 07h V07 loc6 000h 0B7h
8: 08h 08h V08 loc7 000h 0B7h
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 Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this
Marked V01 as a single def local
Marked V02 as a single def local
Marked V04 as a single def local
Marked V05 as a single def local
Marked V07 as a single def local
Marked V08 as a single def local
Jump targets:
IL_0037
IL_0038
IL_0069
IL_0081
IL_00aa
IL_00b4
New Basic Block BB02 [0001] created.
BB02 [000..01C)
New Basic Block BB03 [0002] created.
BB03 [01C..037)
New Basic Block BB04 [0003] created.
BB04 [037..038)
New Basic Block BB05 [0004] created.
BB05 [038..03C)
New Basic Block BB06 [0005] created.
BB06 [03C..05E)
New Basic Block BB07 [0006] created.
BB07 [05E..069)
New Basic Block BB08 [0007] created.
BB08 [069..081)
New Basic Block BB09 [0008] created.
BB09 [081..09E)
New Basic Block BB10 [0009] created.
BB10 [09E..0AA)
New Basic Block BB11 [0010] created.
BB11 [0AA..0B4)
New Basic Block BB12 [0011] created.
BB12 [0B4..0B7)
CLFLG_MINOPT set for method Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this
IL Code Size,Instr 183, 73, Basic Block count 12, Local Variable Num,Ref count 10, 28 for method Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this
IL Code Size,Instr 183, 73, Basic Block count 12, Local Variable Num,Ref count 10, 28 for method Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this
OPTIONS: opts.MinOpts() == true
Basic block list for 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target
BB02 [0001] 1 1 [000..01C)-> BB04 ( cond )
BB03 [0002] 1 1 [01C..037)-> BB05 (always)
BB04 [0003] 1 1 [037..038)
BB05 [0004] 2 1 [038..03C)-> BB09 ( cond )
BB06 [0005] 1 1 [03C..05E)-> BB08 ( cond )
BB07 [0006] 1 1 [05E..069)-> BB12 (always)
BB08 [0007] 1 1 [069..081)-> BB12 (always)
BB09 [0008] 1 1 [081..09E)-> BB11 ( cond )
BB10 [0009] 1 1 [09E..0AA)-> BB12 (always)
BB11 [0010] 1 1 [0AA..0B4)-> BB12 (always)
BB12 [0011] 4 1 [0B4..0B7) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Starting PHASE Pre-import
*************** Finishing PHASE Pre-import
*************** Starting PHASE Importation
*************** In impImport() for Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this
Marking leading BBF_INTERNAL block BB01 as BBF_IMPORTED
impImportBlockPending for BB02
Importing BB02 (PC=000) of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
[ 0] 0 (0x000) nop
STMT00001 (IL 0x000... ???)
[000001] ------------ * NO_OP void
[ 0] 1 (0x001) ldtoken
[ 1] 6 (0x006) call 0A000085
In Compiler::impImportCall: opcode is call, kind=0, callRetType is ref, structSize is 0
Calling impNormStructVal on:
[000003] --C-G------- * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000002] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
lvaGrabTemp returning 10 (V10 tmp1) called for struct address for call/obj.
STMT00002 (IL 0x001... ???)
[000007] -AC-G------- * ASG struct (copy)
[000005] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
[000003] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000002] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
resulting tree:
[000010] n----------- * OBJ struct<System.RuntimeTypeHandle, 8>
[000009] ------------ \--* ADDR byref
[000008] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
lvaGrabTemp returning 11 (V11 tmp2) called for impSpillStackEnsure.
STMT00003 (IL ???... ???)
[000012] -AC-G------- * ASG ref
[000011] D------N---- +--* LCL_VAR ref V11 tmp2
[000004] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000010] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000009] ------------ \--* ADDR byref
[000008] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
Marked V11 as a single def temp
lvaSetClass: setting class for V11 to (00007FF9388372B0) System.Type
[ 1] 11 (0x00b) ldtoken
[ 2] 16 (0x010) call 0A000085
In Compiler::impImportCall: opcode is call, kind=0, callRetType is ref, structSize is 0
Calling impNormStructVal on:
[000015] --C-G------- * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000014] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
lvaGrabTemp returning 12 (V12 tmp3) called for struct address for call/obj.
STMT00004 (IL 0x00B... ???)
[000019] -AC-G------- * ASG struct (copy)
[000017] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
[000015] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000014] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
resulting tree:
[000022] n----------- * OBJ struct<System.RuntimeTypeHandle, 8>
[000021] ------------ \--* ADDR byref
[000020] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
lvaGrabTemp returning 13 (V13 tmp4) called for impSpillStackEnsure.
STMT00005 (IL ???... ???)
[000024] -AC-G------- * ASG ref
[000023] D------N---- +--* LCL_VAR ref V13 tmp4
[000016] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000022] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000021] ------------ \--* ADDR byref
[000020] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
Marked V13 as a single def temp
lvaSetClass: setting class for V13 to (00007FF9388372B0) System.Type
[ 2] 21 (0x015) call 0A00011F
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0
lvaGrabTemp returning 14 (V14 tmp5) called for impSpillStackEnsure.
STMT00006 (IL 0x015... ???)
[000028] -AC-G------- * ASG int
[000027] D------N---- +--* LCL_VAR int V14 tmp5
[000026] --C-G------- \--* CALL int System.Type.op_Equality
[000013] ------------ arg0 +--* LCL_VAR ref V11 tmp2
[000025] ------------ arg1 \--* LCL_VAR ref V13 tmp4
[ 1] 26 (0x01a) brtrue.s
STMT00007 (IL 0x01A... ???)
[000032] ------------ * JTRUE void
[000031] ------------ \--* NE int
[000029] ------------ +--* LCL_VAR int V14 tmp5
[000030] ------------ \--* CNS_INT int 0
impImportBlockPending for BB03
impImportBlockPending for BB04
Importing BB04 (PC=055) of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
[ 0] 55 (0x037) ldc.i4.1 1
*************** In impGetSpillTmpBase(BB04)
lvaGrabTemps(1) returning 15..15 (long lifetime temps) called for IL Stack Entries
*************** In fgComputeCheapPreds()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target
BB02 [0001] 1 1 [000..01C)-> BB04 ( cond ) i
BB03 [0002] 1 1 [01C..037)-> BB05 (always)
BB04 [0003] 1 1 [037..038)
BB05 [0004] 2 1 [038..03C)-> BB09 ( cond )
BB06 [0005] 1 1 [03C..05E)-> BB08 ( cond )
BB07 [0006] 1 1 [05E..069)-> BB12 (always)
BB08 [0007] 1 1 [069..081)-> BB12 (always)
BB09 [0008] 1 1 [081..09E)-> BB11 ( cond )
BB10 [0009] 1 1 [09E..0AA)-> BB12 (always)
BB11 [0010] 1 1 [0AA..0B4)-> BB12 (always)
BB12 [0011] 4 1 [0B4..0B7) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** After fgComputeCheapPreds()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target
BB02 [0001] 1 BB01 1 [000..01C)-> BB04 ( cond ) i
BB03 [0002] 1 BB02 1 [01C..037)-> BB05 (always)
BB04 [0003] 1 BB02 1 [037..038)
BB05 [0004] 2 BB04,BB03 1 [038..03C)-> BB09 ( cond )
BB06 [0005] 1 BB05 1 [03C..05E)-> BB08 ( cond )
BB07 [0006] 1 BB06 1 [05E..069)-> BB12 (always)
BB08 [0007] 1 BB06 1 [069..081)-> BB12 (always)
BB09 [0008] 1 BB05 1 [081..09E)-> BB11 ( cond )
BB10 [0009] 1 BB09 1 [09E..0AA)-> BB12 (always)
BB11 [0010] 1 BB09 1 [0AA..0B4)-> BB12 (always)
BB12 [0011] 4 BB11,BB10,BB08,BB07 1 [0B4..0B7) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
Spilling stack entries into temps
STMT00008 (IL 0x037... ???)
[000035] -A---------- * ASG int
[000034] D------N---- +--* LCL_VAR int V15 tmp6
[000033] ------------ \--* CNS_INT int 1
impImportBlockPending for BB05
Importing BB05 (PC=056) of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
[ 1] 56 (0x038) stloc.0
STMT00009 (IL ???... ???)
[000039] -A---------- * ASG int
[000038] D------N---- +--* LCL_VAR int V01 loc0
[000037] ------------ \--* LCL_VAR int V15 tmp6
[ 0] 57 (0x039) ldloc.0
[ 1] 58 (0x03a) brfalse.s
STMT00010 (IL 0x039... ???)
[000043] ------------ * JTRUE void
[000042] ------------ \--* EQ int
[000040] ------------ +--* LCL_VAR int V01 loc0
[000041] ------------ \--* CNS_INT int 0
impImportBlockPending for BB06
impImportBlockPending for BB09
Importing BB09 (PC=129) of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
[ 0] 129 (0x081) ldarg.0
[ 1] 130 (0x082) ldfld 0A00048E
[ 1] 135 (0x087) box 1B0000FD
Compiler::impImportAndPushBox -- handling BOX(value class) via helper call because: optimizing for size
[ 1] 140 (0x08c) isinst 02000115
Expanding isinst as call because inline expansion not legal
[ 1] 145 (0x091) stloc.s 6
STMT00011 (IL 0x081... ???)
[000052] -ACXG------- * ASG ref
[000051] D------N---- +--* LCL_VAR ref V07 loc6
[000050] --CXG------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFCLASS
[000049] H------N---- arg0 +--* CNS_INT(h) long 0x7ff93b569758 class
[000048] --CXG------- arg1 \--* CALL help ref HELPER.CORINFO_HELP_BOX
[000046] H----------- arg0 +--* CNS_INT(h) long 0x7ff93af7cd80 class
[000047] ---XG------- arg1 \--* ADDR byref
[000045] ---XG--N---- \--* FIELD struct _input
[000044] ------------ \--* LCL_VAR byref V00 this
[ 0] 147 (0x093) ldloc.s 6
[ 1] 149 (0x095) ldnull
[ 2] 150 (0x096) cgt.un
[ 1] 152 (0x098) stloc.s 7
STMT00012 (IL 0x093... ???)
[000057] -A---------- * ASG int
[000056] D------N---- +--* LCL_VAR int V08 loc7
[000055] N--------U-- \--* GT int
[000053] ------------ +--* LCL_VAR ref V07 loc6
[000054] ------------ \--* CNS_INT ref null
[ 0] 154 (0x09a) ldloc.s 7
[ 1] 156 (0x09c) brfalse.s
STMT00013 (IL 0x09A... ???)
[000061] ------------ * JTRUE void
[000060] ------------ \--* EQ int
[000058] ------------ +--* LCL_VAR int V08 loc7
[000059] ------------ \--* CNS_INT int 0
impImportBlockPending for BB10
impImportBlockPending for BB11
Importing BB11 (PC=170) of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
[ 0] 170 (0x0aa) nop
STMT00014 (IL 0x0AA... ???)
[000062] ------------ * NO_OP void
[ 0] 171 (0x0ab) call 2B000141
In Compiler::impImportCall: opcode is call, kind=0, callRetType is ubyte, structSize is 0
lvaGrabTemp returning 16 (V16 tmp7) called for impSpillStackEnsure.
STMT00015 (IL 0x0AB... ???)
[000065] -AC-G------- * ASG int
[000064] D------N---- +--* LCL_VAR int V16 tmp7
[000063] --C-G------- \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].ThrowNotSupportedInput
[ 1] 176 (0x0b0) stloc.s 5
STMT00016 (IL 0x0B0... ???)
[000068] -A---------- * ASG int
[000067] D------N---- +--* LCL_VAR int V06 loc5
[000066] ------------ \--* LCL_VAR int V16 tmp7
[ 0] 178 (0x0b2) br.s
STMT00017 (IL 0x0B2... ???)
[000069] ------------ * NOP void
impImportBlockPending for BB12
Importing BB12 (PC=180) of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
[ 0] 180 (0x0b4) ldloc.s 5
[ 1] 182 (0x0b6) ret
STMT00018 (IL 0x0B4... ???)
[000071] ------------ * RETURN int
[000070] ------------ \--* LCL_VAR int V06 loc5
Importing BB10 (PC=158) of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
[ 0] 158 (0x09e) nop
STMT00019 (IL 0x09E... ???)
[000072] ------------ * NO_OP void
[ 0] 159 (0x09f) ldloc.s 6
[ 1] 161 (0x0a1) callvirt 060004BF
In Compiler::impImportCall: opcode is callvirt, kind=4, callRetType is ubyte, structSize is 0
lvaGrabTemp returning 17 (V17 tmp8) called for impSpillStackEnsure.
STMT00020 (IL 0x09F... ???)
[000076] -AC-G------- * ASG int
[000075] D------N---- +--* LCL_VAR int V17 tmp8
[000074] --C-G------- \--* CALLV ind int Hagar.Buffers.ReaderInput.ReadByte
[000073] ------------ this in rcx \--* LCL_VAR ref V07 loc6
[ 1] 166 (0x0a6) stloc.s 5
STMT00021 (IL 0x0A6... ???)
[000079] -A---------- * ASG int
[000078] D------N---- +--* LCL_VAR int V06 loc5
[000077] ------------ \--* LCL_VAR int V17 tmp8
[ 0] 168 (0x0a8) br.s
STMT00022 (IL 0x0A8... ???)
[000080] ------------ * NOP void
impImportBlockPending for BB12
Importing BB06 (PC=060) of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
[ 0] 60 (0x03c) nop
STMT00023 (IL 0x03C... ???)
[000081] ------------ * NO_OP void
[ 0] 61 (0x03d) ldarg.0
[ 1] 62 (0x03e) ldfld 0A000493
[ 1] 67 (0x043) stloc.1
STMT00024 (IL 0x03D... ???)
[000085] -A-XG------- * ASG int
[000084] D------N---- +--* LCL_VAR int V02 loc1
[000083] ---XG------- \--* FIELD int _bufferPos
[000082] ------------ \--* LCL_VAR byref V00 this
[ 0] 68 (0x044) ldarg.0
[ 1] 69 (0x045) ldfld 0A000492
[ 1] 74 (0x04a) stloc.2
STMT00025 (IL 0x044... ???)
[000090] -A-XG------- * ASG struct (copy)
[000088] D------N---- +--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16> V03 loc2
[000087] ---XG------- \--* FIELD struct _currentSpan
[000086] ------------ \--* LCL_VAR byref V00 this
[ 0] 75 (0x04b) ldloc.1
[ 1] 76 (0x04c) ldloca.s 2
[ 2] 78 (0x04e) call 0A000124
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0
lvaGrabTemp returning 18 (V18 tmp9) called for impSpillStackEnsure.
STMT00026 (IL 0x04B... ???)
[000096] -A---------- * ASG int
[000095] D------N---- +--* LCL_VAR int V18 tmp9
[000091] ------------ \--* LCL_VAR int V02 loc1
lvaGrabTemp returning 19 (V19 tmp10) called for impSpillStackEnsure.
STMT00027 (IL ???... ???)
[000099] -AC-G------- * ASG int
[000098] D------N---- +--* LCL_VAR int V19 tmp10
[000094] --C-G------- \--* CALL int System.ReadOnlySpan`1[Byte][System.Byte].get_Length
[000093] ------------ this in rcx \--* ADDR byref
[000092] -------N---- \--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16> V03 loc2
[ 2] 83 (0x053) clt.un
[ 1] 85 (0x055) ldc.i4.0 0
[ 2] 86 (0x056) ceq
[ 1] 88 (0x058) stloc.s 4
STMT00028 (IL 0x053... ???)
[000105] -A---------- * ASG int
[000104] D------N---- +--* LCL_VAR int V05 loc4
[000103] ------------ \--* EQ int
[000101] N--------U-- +--* LT int
[000097] ------------ | +--* LCL_VAR int V18 tmp9
[000100] ------------ | \--* LCL_VAR int V19 tmp10
[000102] ------------ \--* CNS_INT int 0
[ 0] 90 (0x05a) ldloc.s 4
[ 1] 92 (0x05c) brfalse.s
STMT00029 (IL 0x05A... ???)
[000109] ------------ * JTRUE void
[000108] ------------ \--* EQ int
[000106] ------------ +--* LCL_VAR int V05 loc4
[000107] ------------ \--* CNS_INT int 0
impImportBlockPending for BB07
impImportBlockPending for BB08
Importing BB08 (PC=105) of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
[ 0] 105 (0x069) ldloca.s 2
[ 1] 107 (0x06b) ldloc.1
[ 2] 108 (0x06c) call 0A0001AC
In Compiler::impImportCall: opcode is call, kind=0, callRetType is byref, structSize is 0
lvaGrabTemp returning 20 (V20 tmp11) called for impSpillStackEnsure.
STMT00030 (IL 0x069... ???)
[000115] -AC-G------- * ASG byref
[000114] D------N---- +--* LCL_VAR byref V20 tmp11
[000113] --C-G------- \--* CALL byref System.ReadOnlySpan`1[Byte][System.Byte].get_Item
[000111] ------------ this in rcx +--* ADDR byref
[000110] -------N---- | \--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16> V03 loc2
[000112] ------------ arg1 \--* LCL_VAR int V02 loc1
[ 1] 113 (0x071) ldind.u1
[ 1] 114 (0x072) stloc.3
STMT00031 (IL 0x071... ???)
[000119] -A-XG------- * ASG int
[000118] D------N---- +--* LCL_VAR int V04 loc3
[000117] *--XG------- \--* IND ubyte
[000116] ------------ \--* LCL_VAR byref V20 tmp11
[ 0] 115 (0x073) ldarg.0
[ 1] 116 (0x074) ldloc.1
[ 2] 117 (0x075) ldc.i4.1 1
[ 3] 118 (0x076) add
[ 2] 119 (0x077) stfld 0A000493
STMT00032 (IL 0x073... ???)
[000125] -A-XG------- * ASG int
[000124] ---XG--N---- +--* FIELD int _bufferPos
[000120] ------------ | \--* LCL_VAR byref V00 this
[000123] ------------ \--* ADD int
[000121] ------------ +--* LCL_VAR int V02 loc1
[000122] ------------ \--* CNS_INT int 1
[ 0] 124 (0x07c) ldloc.3
[ 1] 125 (0x07d) stloc.s 5
STMT00033 (IL 0x07C... ???)
[000128] -A---------- * ASG int
[000127] D------N---- +--* LCL_VAR int V06 loc5
[000126] ------------ \--* LCL_VAR int V04 loc3
[ 0] 127 (0x07f) br.s
STMT00034 (IL 0x07F... ???)
[000129] ------------ * NOP void
impImportBlockPending for BB12
Importing BB07 (PC=094) of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
[ 0] 94 (0x05e) nop
STMT00035 (IL 0x05E... ???)
[000130] ------------ * NO_OP void
[ 0] 95 (0x05f) ldarg.0
[ 1] 96 (0x060) call 0A0004A6
In Compiler::impImportCall: opcode is call, kind=0, callRetType is ubyte, structSize is 0
lvaGrabTemp returning 21 (V21 tmp12) called for impSpillStackEnsure.
STMT00036 (IL 0x05F... ???)
[000134] -AC-G------- * ASG int
[000133] D------N---- +--* LCL_VAR int V21 tmp12
[000132] --C-G------- \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].<ReadByte>g__ReadByteSlow|18_0
[000131] ------------ arg0 \--* LCL_VAR byref V00 this
[ 1] 101 (0x065) stloc.s 5
STMT00037 (IL 0x065... ???)
[000137] -A---------- * ASG int
[000136] D------N---- +--* LCL_VAR int V06 loc5
[000135] ------------ \--* LCL_VAR int V21 tmp12
[ 0] 103 (0x067) br.s
STMT00038 (IL 0x067... ???)
[000138] ------------ * NOP void
impImportBlockPending for BB12
Importing BB03 (PC=028) of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
[ 0] 28 (0x01c) ldtoken
[ 1] 33 (0x021) call 0A000085
In Compiler::impImportCall: opcode is call, kind=0, callRetType is ref, structSize is 0
Calling impNormStructVal on:
[000140] --C-G------- * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000139] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
lvaGrabTemp returning 22 (V22 tmp13) called for struct address for call/obj.
STMT00039 (IL 0x01C... ???)
[000144] -AC-G------- * ASG struct (copy)
[000142] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
[000140] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000139] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
resulting tree:
[000147] n----------- * OBJ struct<System.RuntimeTypeHandle, 8>
[000146] ------------ \--* ADDR byref
[000145] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
lvaGrabTemp returning 23 (V23 tmp14) called for impSpillStackEnsure.
STMT00040 (IL ???... ???)
[000149] -AC-G------- * ASG ref
[000148] D------N---- +--* LCL_VAR ref V23 tmp14
[000141] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000147] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000146] ------------ \--* ADDR byref
[000145] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
Marked V23 as a single def temp
lvaSetClass: setting class for V23 to (00007FF9388372B0) System.Type
[ 1] 38 (0x026) ldtoken
[ 2] 43 (0x02b) call 0A000085
In Compiler::impImportCall: opcode is call, kind=0, callRetType is ref, structSize is 0
Calling impNormStructVal on:
[000152] --C-G------- * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000151] H----------- arg0 \--* CNS_INT(h) long 0x7ff93b56a7f8 class
lvaGrabTemp returning 24 (V24 tmp15) called for struct address for call/obj.
STMT00041 (IL 0x026... ???)
[000156] -AC-G------- * ASG struct (copy)
[000154] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
[000152] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000151] H----------- arg0 \--* CNS_INT(h) long 0x7ff93b56a7f8 class
resulting tree:
[000159] n----------- * OBJ struct<System.RuntimeTypeHandle, 8>
[000158] ------------ \--* ADDR byref
[000157] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
lvaGrabTemp returning 25 (V25 tmp16) called for impSpillStackEnsure.
STMT00042 (IL ???... ???)
[000161] -AC-G------- * ASG ref
[000160] D------N---- +--* LCL_VAR ref V25 tmp16
[000153] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000159] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000158] ------------ \--* ADDR byref
[000157] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
Marked V25 as a single def temp
lvaSetClass: setting class for V25 to (00007FF9388372B0) System.Type
[ 2] 48 (0x030) call 0A00011F
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0
lvaGrabTemp returning 26 (V26 tmp17) called for impSpillStackEnsure.
STMT00043 (IL 0x030... ???)
[000165] -AC-G------- * ASG int
[000164] D------N---- +--* LCL_VAR int V26 tmp17
[000163] --C-G------- \--* CALL int System.Type.op_Equality
[000150] ------------ arg0 +--* LCL_VAR ref V23 tmp14
[000162] ------------ arg1 \--* LCL_VAR ref V25 tmp16
[ 1] 53 (0x035) br.s
STMT00044 (IL 0x035... ???)
[000167] ------------ * NOP void
Spilling stack entries into temps
STMT00045 (IL ???... ???)
[000169] -A---------- * ASG int
[000168] D------N---- +--* LCL_VAR int V15 tmp6
[000166] ------------ \--* LCL_VAR int V26 tmp17
impImportBlockPending for BB05
*************** 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 label target
BB02 [0001] 1 1 [000..01C)-> BB04 ( cond ) i
BB03 [0002] 1 1 [01C..037)-> BB05 (always) i
BB04 [0003] 1 1 [037..038) i
BB05 [0004] 2 1 [038..03C)-> BB09 ( cond ) i
BB06 [0005] 1 1 [03C..05E)-> BB08 ( cond ) i
BB07 [0006] 1 1 [05E..069)-> BB12 (always) i
BB08 [0007] 1 1 [069..081)-> BB12 (always) i
BB09 [0008] 1 1 [081..09E)-> BB11 ( cond ) i
BB10 [0009] 1 1 [09E..0AA)-> BB12 (always) i
BB11 [0010] 1 1 [0AA..0B4)-> BB12 (always) i
BB12 [0011] 4 1 [0B4..0B7) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
***** BB01
STMT00000 (IL ???... ???)
[000000] ------------ * NOP void
------------ BB02 [000..01C) -> BB04 (cond), preds={} succs={BB03,BB04}
***** BB02
STMT00001 (IL 0x000...0x000)
[000001] ------------ * NO_OP void
***** BB02
STMT00002 (IL 0x001...0x01A)
[000007] -AC-G------- * ASG struct (copy)
[000005] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
[000003] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000002] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
***** BB02
STMT00003 (IL ???... ???)
[000012] -AC-G------- * ASG ref
[000011] D------N---- +--* LCL_VAR ref V11 tmp2
[000004] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000010] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000009] ------------ \--* ADDR byref
[000008] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
***** BB02
STMT00004 (IL 0x00B... ???)
[000019] -AC-G------- * ASG struct (copy)
[000017] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
[000015] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000014] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
***** BB02
STMT00005 (IL ???... ???)
[000024] -AC-G------- * ASG ref
[000023] D------N---- +--* LCL_VAR ref V13 tmp4
[000016] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000022] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000021] ------------ \--* ADDR byref
[000020] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
***** BB02
STMT00006 (IL 0x015... ???)
[000028] -AC-G------- * ASG int
[000027] D------N---- +--* LCL_VAR int V14 tmp5
[000026] --C-G------- \--* CALL int System.Type.op_Equality
[000013] ------------ arg0 +--* LCL_VAR ref V11 tmp2
[000025] ------------ arg1 \--* LCL_VAR ref V13 tmp4
***** BB02
STMT00007 (IL 0x01A... ???)
[000032] ------------ * JTRUE void
[000031] ------------ \--* NE int
[000029] ------------ +--* LCL_VAR int V14 tmp5
[000030] ------------ \--* CNS_INT int 0
------------ BB03 [01C..037) -> BB05 (always), preds={} succs={BB05}
***** BB03
STMT00039 (IL 0x01C...0x035)
[000144] -AC-G------- * ASG struct (copy)
[000142] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
[000140] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000139] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
***** BB03
STMT00040 (IL ???... ???)
[000149] -AC-G------- * ASG ref
[000148] D------N---- +--* LCL_VAR ref V23 tmp14
[000141] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000147] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000146] ------------ \--* ADDR byref
[000145] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
***** BB03
STMT00041 (IL 0x026... ???)
[000156] -AC-G------- * ASG struct (copy)
[000154] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
[000152] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000151] H----------- arg0 \--* CNS_INT(h) long 0x7ff93b56a7f8 class
***** BB03
STMT00042 (IL ???... ???)
[000161] -AC-G------- * ASG ref
[000160] D------N---- +--* LCL_VAR ref V25 tmp16
[000153] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000159] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000158] ------------ \--* ADDR byref
[000157] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
***** BB03
STMT00043 (IL 0x030... ???)
[000165] -AC-G------- * ASG int
[000164] D------N---- +--* LCL_VAR int V26 tmp17
[000163] --C-G------- \--* CALL int System.Type.op_Equality
[000150] ------------ arg0 +--* LCL_VAR ref V23 tmp14
[000162] ------------ arg1 \--* LCL_VAR ref V25 tmp16
***** BB03
STMT00044 (IL 0x035... ???)
[000167] ------------ * NOP void
***** BB03
STMT00045 (IL ???... ???)
[000169] -A---------- * ASG int
[000168] D------N---- +--* LCL_VAR int V15 tmp6
[000166] ------------ \--* LCL_VAR int V26 tmp17
------------ BB04 [037..038), preds={} succs={BB05}
***** BB04
STMT00008 (IL 0x037...0x037)
[000035] -A---------- * ASG int
[000034] D------N---- +--* LCL_VAR int V15 tmp6
[000033] ------------ \--* CNS_INT int 1
------------ BB05 [038..03C) -> BB09 (cond), preds={} succs={BB06,BB09}
***** BB05
STMT00009 (IL ???...0x038)
[000039] -A---------- * ASG int
[000038] D------N---- +--* LCL_VAR int V01 loc0
[000037] ------------ \--* LCL_VAR int V15 tmp6
***** BB05
STMT00010 (IL 0x039...0x03A)
[000043] ------------ * JTRUE void
[000042] ------------ \--* EQ int
[000040] ------------ +--* LCL_VAR int V01 loc0
[000041] ------------ \--* CNS_INT int 0
------------ BB06 [03C..05E) -> BB08 (cond), preds={} succs={BB07,BB08}
***** BB06
STMT00023 (IL 0x03C...0x03C)
[000081] ------------ * NO_OP void
***** BB06
STMT00024 (IL 0x03D...0x043)
[000085] -A-XG------- * ASG int
[000084] D------N---- +--* LCL_VAR int V02 loc1
[000083] ---XG------- \--* FIELD int _bufferPos
[000082] ------------ \--* LCL_VAR byref V00 this
***** BB06
STMT00025 (IL 0x044...0x04A)
[000090] -A-XG------- * ASG struct (copy)
[000088] D------N---- +--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16> V03 loc2
[000087] ---XG------- \--* FIELD struct _currentSpan
[000086] ------------ \--* LCL_VAR byref V00 this
***** BB06
STMT00026 (IL 0x04B...0x058)
[000096] -A---------- * ASG int
[000095] D------N---- +--* LCL_VAR int V18 tmp9
[000091] ------------ \--* LCL_VAR int V02 loc1
***** BB06
STMT00027 (IL ???... ???)
[000099] -AC-G------- * ASG int
[000098] D------N---- +--* LCL_VAR int V19 tmp10
[000094] --C-G------- \--* CALL int System.ReadOnlySpan`1[Byte][System.Byte].get_Length
[000093] ------------ this in rcx \--* ADDR byref
[000092] -------N---- \--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16> V03 loc2
***** BB06
STMT00028 (IL 0x053... ???)
[000105] -A---------- * ASG int
[000104] D------N---- +--* LCL_VAR int V05 loc4
[000103] ------------ \--* EQ int
[000101] N--------U-- +--* LT int
[000097] ------------ | +--* LCL_VAR int V18 tmp9
[000100] ------------ | \--* LCL_VAR int V19 tmp10
[000102] ------------ \--* CNS_INT int 0
***** BB06
STMT00029 (IL 0x05A...0x05C)
[000109] ------------ * JTRUE void
[000108] ------------ \--* EQ int
[000106] ------------ +--* LCL_VAR int V05 loc4
[000107] ------------ \--* CNS_INT int 0
------------ BB07 [05E..069) -> BB12 (always), preds={} succs={BB12}
***** BB07
STMT00035 (IL 0x05E...0x05E)
[000130] ------------ * NO_OP void
***** BB07
STMT00036 (IL 0x05F...0x065)
[000134] -AC-G------- * ASG int
[000133] D------N---- +--* LCL_VAR int V21 tmp12
[000132] --C-G------- \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].<ReadByte>g__ReadByteSlow|18_0
[000131] ------------ arg0 \--* LCL_VAR byref V00 this
***** BB07
STMT00037 (IL 0x065... ???)
[000137] -A---------- * ASG int
[000136] D------N---- +--* LCL_VAR int V06 loc5
[000135] ------------ \--* LCL_VAR int V21 tmp12
***** BB07
STMT00038 (IL 0x067...0x067)
[000138] ------------ * NOP void
------------ BB08 [069..081) -> BB12 (always), preds={} succs={BB12}
***** BB08
STMT00030 (IL 0x069...0x072)
[000115] -AC-G------- * ASG byref
[000114] D------N---- +--* LCL_VAR byref V20 tmp11
[000113] --C-G------- \--* CALL byref System.ReadOnlySpan`1[Byte][System.Byte].get_Item
[000111] ------------ this in rcx +--* ADDR byref
[000110] -------N---- | \--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16> V03 loc2
[000112] ------------ arg1 \--* LCL_VAR int V02 loc1
***** BB08
STMT00031 (IL 0x071... ???)
[000119] -A-XG------- * ASG int
[000118] D------N---- +--* LCL_VAR int V04 loc3
[000117] *--XG------- \--* IND ubyte
[000116] ------------ \--* LCL_VAR byref V20 tmp11
***** BB08
STMT00032 (IL 0x073...0x077)
[000125] -A-XG------- * ASG int
[000124] ---XG--N---- +--* FIELD int _bufferPos
[000120] ------------ | \--* LCL_VAR byref V00 this
[000123] ------------ \--* ADD int
[000121] ------------ +--* LCL_VAR int V02 loc1
[000122] ------------ \--* CNS_INT int 1
***** BB08
STMT00033 (IL 0x07C...0x07D)
[000128] -A---------- * ASG int
[000127] D------N---- +--* LCL_VAR int V06 loc5
[000126] ------------ \--* LCL_VAR int V04 loc3
***** BB08
STMT00034 (IL 0x07F...0x07F)
[000129] ------------ * NOP void
------------ BB09 [081..09E) -> BB11 (cond), preds={} succs={BB10,BB11}
***** BB09
STMT00011 (IL 0x081...0x091)
[000052] -ACXG------- * ASG ref
[000051] D------N---- +--* LCL_VAR ref V07 loc6
[000050] --CXG------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFCLASS
[000049] H------N---- arg0 +--* CNS_INT(h) long 0x7ff93b569758 class
[000048] --CXG------- arg1 \--* CALL help ref HELPER.CORINFO_HELP_BOX
[000046] H----------- arg0 +--* CNS_INT(h) long 0x7ff93af7cd80 class
[000047] ---XG------- arg1 \--* ADDR byref
[000045] ---XG--N---- \--* FIELD struct _input
[000044] ------------ \--* LCL_VAR byref V00 this
***** BB09
STMT00012 (IL 0x093...0x098)
[000057] -A---------- * ASG int
[000056] D------N---- +--* LCL_VAR int V08 loc7
[000055] N--------U-- \--* GT int
[000053] ------------ +--* LCL_VAR ref V07 loc6
[000054] ------------ \--* CNS_INT ref null
***** BB09
STMT00013 (IL 0x09A...0x09C)
[000061] ------------ * JTRUE void
[000060] ------------ \--* EQ int
[000058] ------------ +--* LCL_VAR int V08 loc7
[000059] ------------ \--* CNS_INT int 0
------------ BB10 [09E..0AA) -> BB12 (always), preds={} succs={BB12}
***** BB10
STMT00019 (IL 0x09E...0x09E)
[000072] ------------ * NO_OP void
***** BB10
STMT00020 (IL 0x09F...0x0A6)
[000076] -AC-G------- * ASG int
[000075] D------N---- +--* LCL_VAR int V17 tmp8
[000074] --C-G------- \--* CALLV ind int Hagar.Buffers.ReaderInput.ReadByte
[000073] ------------ this in rcx \--* LCL_VAR ref V07 loc6
***** BB10
STMT00021 (IL 0x0A6... ???)
[000079] -A---------- * ASG int
[000078] D------N---- +--* LCL_VAR int V06 loc5
[000077] ------------ \--* LCL_VAR int V17 tmp8
***** BB10
STMT00022 (IL 0x0A8...0x0A8)
[000080] ------------ * NOP void
------------ BB11 [0AA..0B4) -> BB12 (always), preds={} succs={BB12}
***** BB11
STMT00014 (IL 0x0AA...0x0AA)
[000062] ------------ * NO_OP void
***** BB11
STMT00015 (IL 0x0AB...0x0B0)
[000065] -AC-G------- * ASG int
[000064] D------N---- +--* LCL_VAR int V16 tmp7
[000063] --C-G------- \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].ThrowNotSupportedInput
***** BB11
STMT00016 (IL 0x0B0... ???)
[000068] -A---------- * ASG int
[000067] D------N---- +--* LCL_VAR int V06 loc5
[000066] ------------ \--* LCL_VAR int V16 tmp7
***** BB11
STMT00017 (IL 0x0B2...0x0B2)
[000069] ------------ * NOP void
------------ BB12 [0B4..0B7) (return), preds={} succs={}
***** BB12
STMT00018 (IL 0x0B4...0x0B6)
[000071] ------------ * RETURN int
[000070] ------------ \--* LCL_VAR int V06 loc5
-------------------------------------------------------------------------------------------------------------------
*************** 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): 13, 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
*************** After fgAddInternal()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target
BB02 [0001] 1 1 [000..01C)-> BB04 ( cond ) i
BB03 [0002] 1 1 [01C..037)-> BB05 (always) i
BB04 [0003] 1 1 [037..038) i
BB05 [0004] 2 1 [038..03C)-> BB09 ( cond ) i
BB06 [0005] 1 1 [03C..05E)-> BB08 ( cond ) i
BB07 [0006] 1 1 [05E..069)-> BB12 (always) i
BB08 [0007] 1 1 [069..081)-> BB12 (always) i
BB09 [0008] 1 1 [081..09E)-> BB11 ( cond ) i
BB10 [0009] 1 1 [09E..0AA)-> BB12 (always) i
BB11 [0010] 1 1 [0AA..0B4)-> BB12 (always) i
BB12 [0011] 4 1 [0B4..0B7) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table is empty
*************** Finishing PHASE Morph - Add internal blocks
*************** Starting PHASE Remove empty try
*************** In fgRemoveEmptyTry()
No EH in this method, nothing to remove.
*************** Finishing PHASE Remove empty try [no changes]
*************** Starting PHASE Remove empty finally
No EH in this method, nothing to remove.
*************** Finishing PHASE Remove empty finally [no changes]
*************** Starting PHASE Merge callfinally chains
No EH in this method, nothing to merge.
*************** Finishing PHASE Merge callfinally chains [no changes]
*************** Starting PHASE Clone finally
No EH in this method, 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 [???..???) i internal label target
BB02 [0001] 1 1 [000..01C)-> BB04 ( cond ) i
BB03 [0002] 1 1 [01C..037)-> BB05 (always) i
BB04 [0003] 1 1 [037..038) i
BB05 [0004] 2 1 [038..03C)-> BB09 ( cond ) i
BB06 [0005] 1 1 [03C..05E)-> BB08 ( cond ) i
BB07 [0006] 1 1 [05E..069)-> BB12 (always) i
BB08 [0007] 1 1 [069..081)-> BB12 (always) i
BB09 [0008] 1 1 [081..09E)-> BB11 ( cond ) i
BB10 [0009] 1 1 [09E..0AA)-> BB12 (always) i
BB11 [0010] 1 1 [0AA..0B4)-> BB12 (always) i
BB12 [0011] 4 1 [0B4..0B7) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table is empty
*************** After renumbering the basic blocks
=============== No blocks renumbered!
*************** In fgComputePreds()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target
BB02 [0001] 1 1 [000..01C)-> BB04 ( cond ) i
BB03 [0002] 1 1 [01C..037)-> BB05 (always) i
BB04 [0003] 1 1 [037..038) i
BB05 [0004] 2 1 [038..03C)-> BB09 ( cond ) i
BB06 [0005] 1 1 [03C..05E)-> BB08 ( cond ) i
BB07 [0006] 1 1 [05E..069)-> BB12 (always) i
BB08 [0007] 1 1 [069..081)-> BB12 (always) i
BB09 [0008] 1 1 [081..09E)-> BB11 ( cond ) i
BB10 [0009] 1 1 [09E..0AA)-> BB12 (always) i
BB11 [0010] 1 1 [0AA..0B4)-> BB12 (always) i
BB12 [0011] 4 1 [0B4..0B7) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** After fgComputePreds()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target
BB02 [0001] 1 BB01 1 [000..01C)-> BB04 ( cond ) i
BB03 [0002] 1 BB02 1 [01C..037)-> BB05 (always) i
BB04 [0003] 1 BB02 1 [037..038) i label target
BB05 [0004] 2 BB03,BB04 1 [038..03C)-> BB09 ( cond ) i label target
BB06 [0005] 1 BB05 1 [03C..05E)-> BB08 ( cond ) i
BB07 [0006] 1 BB06 1 [05E..069)-> BB12 (always) i
BB08 [0007] 1 BB06 1 [069..081)-> BB12 (always) i label target
BB09 [0008] 1 BB05 1 [081..09E)-> BB11 ( cond ) i label target
BB10 [0009] 1 BB09 1 [09E..0AA)-> BB12 (always) i
BB11 [0010] 1 BB09 1 [0AA..0B4)-> BB12 (always) i label target
BB12 [0011] 4 BB07,BB08,BB10,BB11 1 [0B4..0B7) (return) i label 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:
STMT00046 (IL ???... ???)
[000178] --C-G------- * QMARK void
[000174] Q----------- if +--* EQ int
[000172] ------------ | +--* IND int
[000171] H----------- | | \--* CNS_INT(h) long 0x7ff9392a5420 global ptr
[000173] ------------ | \--* CNS_INT int 0
[000177] --C-G------- if \--* COLON void
[000175] --C-G------- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
[000176] ------------ then \--* NOP void
LocalAddressVisitor visiting statement:
STMT00001 (IL 0x000...0x000)
[000001] ------------ * NO_OP void
LocalAddressVisitor visiting statement:
STMT00002 (IL 0x001...0x01A)
[000007] -AC-G------- * ASG struct (copy)
[000005] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
[000003] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000002] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
LocalAddressVisitor visiting statement:
STMT00003 (IL ???... ???)
[000012] -AC-G------- * ASG ref
[000011] D------N---- +--* LCL_VAR ref V11 tmp2
[000004] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000010] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000009] ------------ \--* ADDR byref
[000008] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
LocalAddressVisitor visiting statement:
STMT00004 (IL 0x00B... ???)
[000019] -AC-G------- * ASG struct (copy)
[000017] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
[000015] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000014] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
LocalAddressVisitor visiting statement:
STMT00005 (IL ???... ???)
[000024] -AC-G------- * ASG ref
[000023] D------N---- +--* LCL_VAR ref V13 tmp4
[000016] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000022] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000021] ------------ \--* ADDR byref
[000020] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
LocalAddressVisitor visiting statement:
STMT00006 (IL 0x015... ???)
[000028] -AC-G------- * ASG int
[000027] D------N---- +--* LCL_VAR int V14 tmp5
[000026] --C-G------- \--* CALL int System.Type.op_Equality
[000013] ------------ arg0 +--* LCL_VAR ref V11 tmp2
[000025] ------------ arg1 \--* LCL_VAR ref V13 tmp4
LocalAddressVisitor visiting statement:
STMT00007 (IL 0x01A... ???)
[000032] ------------ * JTRUE void
[000031] ------------ \--* NE int
[000029] ------------ +--* LCL_VAR int V14 tmp5
[000030] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00039 (IL 0x01C...0x035)
[000144] -AC-G------- * ASG struct (copy)
[000142] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
[000140] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000139] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
LocalAddressVisitor visiting statement:
STMT00040 (IL ???... ???)
[000149] -AC-G------- * ASG ref
[000148] D------N---- +--* LCL_VAR ref V23 tmp14
[000141] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000147] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000146] ------------ \--* ADDR byref
[000145] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
LocalAddressVisitor visiting statement:
STMT00041 (IL 0x026... ???)
[000156] -AC-G------- * ASG struct (copy)
[000154] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
[000152] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000151] H----------- arg0 \--* CNS_INT(h) long 0x7ff93b56a7f8 class
LocalAddressVisitor visiting statement:
STMT00042 (IL ???... ???)
[000161] -AC-G------- * ASG ref
[000160] D------N---- +--* LCL_VAR ref V25 tmp16
[000153] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000159] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000158] ------------ \--* ADDR byref
[000157] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
LocalAddressVisitor visiting statement:
STMT00043 (IL 0x030... ???)
[000165] -AC-G------- * ASG int
[000164] D------N---- +--* LCL_VAR int V26 tmp17
[000163] --C-G------- \--* CALL int System.Type.op_Equality
[000150] ------------ arg0 +--* LCL_VAR ref V23 tmp14
[000162] ------------ arg1 \--* LCL_VAR ref V25 tmp16
LocalAddressVisitor visiting statement:
STMT00044 (IL 0x035... ???)
[000167] ------------ * NOP void
LocalAddressVisitor visiting statement:
STMT00045 (IL ???... ???)
[000169] -A---------- * ASG int
[000168] D------N---- +--* LCL_VAR int V15 tmp6
[000166] ------------ \--* LCL_VAR int V26 tmp17
LocalAddressVisitor visiting statement:
STMT00008 (IL 0x037...0x037)
[000035] -A---------- * ASG int
[000034] D------N---- +--* LCL_VAR int V15 tmp6
[000033] ------------ \--* CNS_INT int 1
LocalAddressVisitor visiting statement:
STMT00009 (IL ???...0x038)
[000039] -A---------- * ASG int
[000038] D------N---- +--* LCL_VAR int V01 loc0
[000037] ------------ \--* LCL_VAR int V15 tmp6
LocalAddressVisitor visiting statement:
STMT00010 (IL 0x039...0x03A)
[000043] ------------ * JTRUE void
[000042] ------------ \--* EQ int
[000040] ------------ +--* LCL_VAR int V01 loc0
[000041] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00023 (IL 0x03C...0x03C)
[000081] ------------ * NO_OP void
LocalAddressVisitor visiting statement:
STMT00024 (IL 0x03D...0x043)
[000085] -A-XG------- * ASG int
[000084] D------N---- +--* LCL_VAR int V02 loc1
[000083] ---XG------- \--* FIELD int _bufferPos
[000082] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00025 (IL 0x044...0x04A)
[000090] -A-XG------- * ASG struct (copy)
[000088] D------N---- +--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16> V03 loc2
[000087] ---XG------- \--* FIELD struct _currentSpan
[000086] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00026 (IL 0x04B...0x058)
[000096] -A---------- * ASG int
[000095] D------N---- +--* LCL_VAR int V18 tmp9
[000091] ------------ \--* LCL_VAR int V02 loc1
LocalAddressVisitor visiting statement:
STMT00027 (IL ???... ???)
[000099] -AC-G------- * ASG int
[000098] D------N---- +--* LCL_VAR int V19 tmp10
[000094] --C-G------- \--* CALL int System.ReadOnlySpan`1[Byte][System.Byte].get_Length
[000093] ------------ this in rcx \--* ADDR byref
[000092] -------N---- \--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16> V03 loc2
Local V03 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00027 (IL ???... ???)
[000099] -AC-G------- * ASG int
[000098] D------N---- +--* LCL_VAR int V19 tmp10
[000094] --C-G------- \--* CALL int System.ReadOnlySpan`1[Byte][System.Byte].get_Length
[000093] ------------ this in rcx \--* LCL_VAR_ADDR byref V03 loc2
LocalAddressVisitor visiting statement:
STMT00028 (IL 0x053... ???)
[000105] -A---------- * ASG int
[000104] D------N---- +--* LCL_VAR int V05 loc4
[000103] ------------ \--* EQ int
[000101] N--------U-- +--* LT int
[000097] ------------ | +--* LCL_VAR int V18 tmp9
[000100] ------------ | \--* LCL_VAR int V19 tmp10
[000102] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00029 (IL 0x05A...0x05C)
[000109] ------------ * JTRUE void
[000108] ------------ \--* EQ int
[000106] ------------ +--* LCL_VAR int V05 loc4
[000107] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00035 (IL 0x05E...0x05E)
[000130] ------------ * NO_OP void
LocalAddressVisitor visiting statement:
STMT00036 (IL 0x05F...0x065)
[000134] -AC-G------- * ASG int
[000133] D------N---- +--* LCL_VAR int V21 tmp12
[000132] --C-G------- \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].<ReadByte>g__ReadByteSlow|18_0
[000131] ------------ arg0 \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00037 (IL 0x065... ???)
[000137] -A---------- * ASG int
[000136] D------N---- +--* LCL_VAR int V06 loc5
[000135] ------------ \--* LCL_VAR int V21 tmp12
LocalAddressVisitor visiting statement:
STMT00038 (IL 0x067...0x067)
[000138] ------------ * NOP void
LocalAddressVisitor visiting statement:
STMT00030 (IL 0x069...0x072)
[000115] -AC-G------- * ASG byref
[000114] D------N---- +--* LCL_VAR byref V20 tmp11
[000113] --C-G------- \--* CALL byref System.ReadOnlySpan`1[Byte][System.Byte].get_Item
[000111] ------------ this in rcx +--* ADDR byref
[000110] -------N---- | \--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16>(AX) V03 loc2
[000112] ------------ arg1 \--* LCL_VAR int V02 loc1
Local V03 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00030 (IL 0x069...0x072)
[000115] -AC-G------- * ASG byref
[000114] D------N---- +--* LCL_VAR byref V20 tmp11
[000113] --C-G------- \--* CALL byref System.ReadOnlySpan`1[Byte][System.Byte].get_Item
[000111] ------------ this in rcx +--* LCL_VAR_ADDR byref V03 loc2
[000112] ------------ arg1 \--* LCL_VAR int V02 loc1
LocalAddressVisitor visiting statement:
STMT00031 (IL 0x071... ???)
[000119] -A-XG------- * ASG int
[000118] D------N---- +--* LCL_VAR int V04 loc3
[000117] *--XG------- \--* IND ubyte
[000116] ------------ \--* LCL_VAR byref V20 tmp11
LocalAddressVisitor visiting statement:
STMT00032 (IL 0x073...0x077)
[000125] -A-XG------- * ASG int
[000124] ---XG--N---- +--* FIELD int _bufferPos
[000120] ------------ | \--* LCL_VAR byref V00 this
[000123] ------------ \--* ADD int
[000121] ------------ +--* LCL_VAR int V02 loc1
[000122] ------------ \--* CNS_INT int 1
LocalAddressVisitor visiting statement:
STMT00033 (IL 0x07C...0x07D)
[000128] -A---------- * ASG int
[000127] D------N---- +--* LCL_VAR int V06 loc5
[000126] ------------ \--* LCL_VAR int V04 loc3
LocalAddressVisitor visiting statement:
STMT00034 (IL 0x07F...0x07F)
[000129] ------------ * NOP void
LocalAddressVisitor visiting statement:
STMT00011 (IL 0x081...0x091)
[000052] -ACXG------- * ASG ref
[000051] D------N---- +--* LCL_VAR ref V07 loc6
[000050] --CXG------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFCLASS
[000049] H------N---- arg0 +--* CNS_INT(h) long 0x7ff93b569758 class
[000048] --CXG------- arg1 \--* CALL help ref HELPER.CORINFO_HELP_BOX
[000046] H----------- arg0 +--* CNS_INT(h) long 0x7ff93af7cd80 class
[000047] ---XG------- arg1 \--* ADDR byref
[000045] ---XG--N---- \--* FIELD struct _input
[000044] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00012 (IL 0x093...0x098)
[000057] -A---------- * ASG int
[000056] D------N---- +--* LCL_VAR int V08 loc7
[000055] N--------U-- \--* GT int
[000053] ------------ +--* LCL_VAR ref V07 loc6
[000054] ------------ \--* CNS_INT ref null
LocalAddressVisitor visiting statement:
STMT00013 (IL 0x09A...0x09C)
[000061] ------------ * JTRUE void
[000060] ------------ \--* EQ int
[000058] ------------ +--* LCL_VAR int V08 loc7
[000059] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00019 (IL 0x09E...0x09E)
[000072] ------------ * NO_OP void
LocalAddressVisitor visiting statement:
STMT00020 (IL 0x09F...0x0A6)
[000076] -AC-G------- * ASG int
[000075] D------N---- +--* LCL_VAR int V17 tmp8
[000074] --C-G------- \--* CALLV ind int Hagar.Buffers.ReaderInput.ReadByte
[000073] ------------ this in rcx \--* LCL_VAR ref V07 loc6
LocalAddressVisitor visiting statement:
STMT00021 (IL 0x0A6... ???)
[000079] -A---------- * ASG int
[000078] D------N---- +--* LCL_VAR int V06 loc5
[000077] ------------ \--* LCL_VAR int V17 tmp8
LocalAddressVisitor visiting statement:
STMT00022 (IL 0x0A8...0x0A8)
[000080] ------------ * NOP void
LocalAddressVisitor visiting statement:
STMT00014 (IL 0x0AA...0x0AA)
[000062] ------------ * NO_OP void
LocalAddressVisitor visiting statement:
STMT00015 (IL 0x0AB...0x0B0)
[000065] -AC-G------- * ASG int
[000064] D------N---- +--* LCL_VAR int V16 tmp7
[000063] --C-G------- \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].ThrowNotSupportedInput
LocalAddressVisitor visiting statement:
STMT00016 (IL 0x0B0... ???)
[000068] -A---------- * ASG int
[000067] D------N---- +--* LCL_VAR int V06 loc5
[000066] ------------ \--* LCL_VAR int V16 tmp7
LocalAddressVisitor visiting statement:
STMT00017 (IL 0x0B2...0x0B2)
[000069] ------------ * NOP void
LocalAddressVisitor visiting statement:
STMT00018 (IL 0x0B4...0x0B6)
[000071] ------------ * RETURN int
[000070] ------------ \--* LCL_VAR int V06 loc5
*************** Finishing PHASE Morph - Structs/AddrExp
*************** Starting PHASE Morph - ByRefs
*************** In fgRetypeImplicitByRefArgs()
*************** Finishing PHASE Morph - ByRefs
*************** Starting PHASE Morph - Global
*************** In fgMorphBlocks()
Morphing BB01 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB01, STMT00000 (before)
[000000] ------------ * NOP void
fgMorphTree BB01, STMT00046 (before)
[000178] --C-G------- * QMARK void
[000174] Q----------- if +--* EQ int
[000172] ------------ | +--* IND int
[000171] H----------- | | \--* CNS_INT(h) long 0x7ff9392a5420 global ptr
[000173] ------------ | \--* CNS_INT int 0
[000177] --C-G------- if \--* COLON void
[000175] --C-G------- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
[000176] ------------ then \--* NOP void
Initializing arg info for 175.CALL:
ArgTable for 175.CALL after fgInitArgInfo:
Morphing args for 175.CALL:
argSlots=0, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
ArgTable for 175.CALL after fgMorphArgs:
Morphing BB02 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB02, STMT00001 (before)
[000001] ------------ * NO_OP void
fgMorphTree BB02, STMT00002 (before)
[000007] -AC-G------- * ASG struct (copy)
[000005] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
[000003] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000002] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
Initializing arg info for 3.CALL:
ArgTable for 3.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 2.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8]
Morphing args for 3.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000002] H----+------ * CNS_INT(h) long 0x7ff93af7cd80 class
Replaced with placeholder node:
[000179] ----------L- * ARGPLACE long
Shuffled argument table: rcx
ArgTable for 3.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 2.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]
fgMorphCopyBlock:
fgMorphBlkNode for dst tree, before:
[000005] D----+-N---- * LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
fgMorphBlkNode after:
[000005] D----+-N---- * LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
fgMorphBlkNode for src tree, before:
[000003] --C-G+------ * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000002] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
fgMorphBlkNode after:
[000003] --C-G+------ * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000002] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
block assignment to morph:
[000007] -AC-G------- * ASG struct (copy)
[000005] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
[000003] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000002] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
src is a call this requires a CopyBlock.
Local V10 should not be enregistered because: written in a block op
fgMorphCopyBlock (after):
[000007] -AC-G------- * ASG struct (copy)
[000005] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
[000003] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000002] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
fgMorphTree BB02, STMT00002 (after)
[000007] -AC-G+------ * ASG struct (copy)
[000005] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
[000003] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000002] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
fgMorphTree BB02, STMT00003 (before)
[000012] -AC-G------- * ASG ref
[000011] D------N---- +--* LCL_VAR ref V11 tmp2
[000004] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000010] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000009] ------------ \--* ADDR byref
[000008] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
Initializing arg info for 4.CALL:
ArgTable for 4.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 10.OBJ ref (By value), 1 reg: rcx, byteAlignment=8, isStruct]
Morphing args for 4.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000008] -----+------ * LCL_FLD ref V10 tmp1 [+0]
Replaced with placeholder node:
[000180] ----------L- * ARGPLACE ref
Shuffled argument table: rcx
ArgTable for 4.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 8.LCL_FLD ref (By value), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed, isStruct]
fgMorphTree BB02, STMT00003 (after)
[000012] -ACXG+------ * ASG ref
[000011] D----+-N---- +--* LCL_VAR ref V11 tmp2
[000004] --CXG+------ \--* CALL ref System.Type.GetTypeFromHandle
[000008] -----+------ arg0 in rcx \--* LCL_FLD ref V10 tmp1 [+0]
fgMorphTree BB02, STMT00004 (before)
[000019] -AC-G------- * ASG struct (copy)
[000017] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
[000015] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000014] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
Initializing arg info for 15.CALL:
ArgTable for 15.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 14.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8]
Morphing args for 15.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000014] H----+------ * CNS_INT(h) long 0x7ff93af7cd80 class
Replaced with placeholder node:
[000181] ----------L- * ARGPLACE long
Shuffled argument table: rcx
ArgTable for 15.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 14.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]
fgMorphCopyBlock:
fgMorphBlkNode for dst tree, before:
[000017] D----+-N---- * LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
fgMorphBlkNode after:
[000017] D----+-N---- * LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
fgMorphBlkNode for src tree, before:
[000015] --C-G+------ * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000014] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
fgMorphBlkNode after:
[000015] --C-G+------ * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000014] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
block assignment to morph:
[000019] -AC-G------- * ASG struct (copy)
[000017] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
[000015] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000014] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
src is a call this requires a CopyBlock.
Local V12 should not be enregistered because: written in a block op
fgMorphCopyBlock (after):
[000019] -AC-G------- * ASG struct (copy)
[000017] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
[000015] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000014] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
fgMorphTree BB02, STMT00004 (after)
[000019] -AC-G+------ * ASG struct (copy)
[000017] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
[000015] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000014] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
fgMorphTree BB02, STMT00005 (before)
[000024] -AC-G------- * ASG ref
[000023] D------N---- +--* LCL_VAR ref V13 tmp4
[000016] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000022] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000021] ------------ \--* ADDR byref
[000020] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
Initializing arg info for 16.CALL:
ArgTable for 16.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 22.OBJ ref (By value), 1 reg: rcx, byteAlignment=8, isStruct]
Morphing args for 16.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000020] -----+------ * LCL_FLD ref V12 tmp3 [+0]
Replaced with placeholder node:
[000182] ----------L- * ARGPLACE ref
Shuffled argument table: rcx
ArgTable for 16.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 20.LCL_FLD ref (By value), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed, isStruct]
fgMorphTree BB02, STMT00005 (after)
[000024] -ACXG+------ * ASG ref
[000023] D----+-N---- +--* LCL_VAR ref V13 tmp4
[000016] --CXG+------ \--* CALL ref System.Type.GetTypeFromHandle
[000020] -----+------ arg0 in rcx \--* LCL_FLD ref V12 tmp3 [+0]
fgMorphTree BB02, STMT00006 (before)
[000028] -AC-G------- * ASG int
[000027] D------N---- +--* LCL_VAR int V14 tmp5
[000026] --C-G------- \--* CALL int System.Type.op_Equality
[000013] ------------ arg0 +--* LCL_VAR ref V11 tmp2
[000025] ------------ arg1 \--* LCL_VAR ref V13 tmp4
Initializing arg info for 26.CALL:
ArgTable for 26.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 13.LCL_VAR ref (By ref), 1 reg: rcx, byteAlignment=8]
fgArgTabEntry[arg 1 25.LCL_VAR ref (By ref), 1 reg: rdx, byteAlignment=8]
Morphing args for 26.CALL:
argSlots=2, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000013] -----+------ * LCL_VAR ref V11 tmp2
Replaced with placeholder node:
[000183] ----------L- * ARGPLACE ref
Deferred argument ('rdx'):
[000025] -----+------ * LCL_VAR ref V13 tmp4
Replaced with placeholder node:
[000184] ----------L- * ARGPLACE ref
Shuffled argument table: rcx rdx
ArgTable for 26.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 13.LCL_VAR ref (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]
fgArgTabEntry[arg 1 25.LCL_VAR ref (By ref), 1 reg: rdx, byteAlignment=8, lateArgInx=1, processed]
fgMorphTree BB02, STMT00006 (after)
[000028] -ACXG+------ * ASG int
[000027] D----+-N---- +--* LCL_VAR int V14 tmp5
[000026] --CXG+------ \--* CALL int System.Type.op_Equality
[000013] -----+------ arg0 in rcx +--* LCL_VAR ref V11 tmp2
[000025] -----+------ arg1 in rdx \--* LCL_VAR ref V13 tmp4
fgMorphTree BB02, STMT00007 (before)
[000032] ------------ * JTRUE void
[000031] ------------ \--* NE int
[000029] ------------ +--* LCL_VAR int V14 tmp5
[000030] ------------ \--* CNS_INT int 0
Morphing BB03 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB03, STMT00039 (before)
[000144] -AC-G------- * ASG struct (copy)
[000142] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
[000140] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000139] H----------- arg0 \--* CNS_INT(h) long 0x7ff93af7cd80 class
Initializing arg info for 140.CALL:
ArgTable for 140.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 139.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8]
Morphing args for 140.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000139] H----+------ * CNS_INT(h) long 0x7ff93af7cd80 class
Replaced with placeholder node:
[000185] ----------L- * ARGPLACE long
Shuffled argument table: rcx
ArgTable for 140.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 139.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]
fgMorphCopyBlock:
fgMorphBlkNode for dst tree, before:
[000142] D----+-N---- * LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
fgMorphBlkNode after:
[000142] D----+-N---- * LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
fgMorphBlkNode for src tree, before:
[000140] --C-G+------ * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000139] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
fgMorphBlkNode after:
[000140] --C-G+------ * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000139] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
block assignment to morph:
[000144] -AC-G------- * ASG struct (copy)
[000142] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
[000140] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000139] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
src is a call this requires a CopyBlock.
Local V22 should not be enregistered because: written in a block op
fgMorphCopyBlock (after):
[000144] -AC-G------- * ASG struct (copy)
[000142] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
[000140] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000139] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
fgMorphTree BB03, STMT00039 (after)
[000144] -AC-G+------ * ASG struct (copy)
[000142] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
[000140] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000139] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
fgMorphTree BB03, STMT00040 (before)
[000149] -AC-G------- * ASG ref
[000148] D------N---- +--* LCL_VAR ref V23 tmp14
[000141] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000147] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000146] ------------ \--* ADDR byref
[000145] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
Initializing arg info for 141.CALL:
ArgTable for 141.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 147.OBJ ref (By value), 1 reg: rcx, byteAlignment=8, isStruct]
Morphing args for 141.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000145] -----+------ * LCL_FLD ref V22 tmp13 [+0]
Replaced with placeholder node:
[000186] ----------L- * ARGPLACE ref
Shuffled argument table: rcx
ArgTable for 141.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 145.LCL_FLD ref (By value), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed, isStruct]
fgMorphTree BB03, STMT00040 (after)
[000149] -ACXG+------ * ASG ref
[000148] D----+-N---- +--* LCL_VAR ref V23 tmp14
[000141] --CXG+------ \--* CALL ref System.Type.GetTypeFromHandle
[000145] -----+------ arg0 in rcx \--* LCL_FLD ref V22 tmp13 [+0]
fgMorphTree BB03, STMT00041 (before)
[000156] -AC-G------- * ASG struct (copy)
[000154] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
[000152] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000151] H----------- arg0 \--* CNS_INT(h) long 0x7ff93b56a7f8 class
Initializing arg info for 152.CALL:
ArgTable for 152.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 151.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8]
Morphing args for 152.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000151] H----+------ * CNS_INT(h) long 0x7ff93b56a7f8 class
Replaced with placeholder node:
[000187] ----------L- * ARGPLACE long
Shuffled argument table: rcx
ArgTable for 152.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 151.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]
fgMorphCopyBlock:
fgMorphBlkNode for dst tree, before:
[000154] D----+-N---- * LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
fgMorphBlkNode after:
[000154] D----+-N---- * LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
fgMorphBlkNode for src tree, before:
[000152] --C-G+------ * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000151] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93b56a7f8 class
fgMorphBlkNode after:
[000152] --C-G+------ * CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000151] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93b56a7f8 class
block assignment to morph:
[000156] -AC-G------- * ASG struct (copy)
[000154] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
[000152] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000151] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93b56a7f8 class
src is a call this requires a CopyBlock.
Local V24 should not be enregistered because: written in a block op
fgMorphCopyBlock (after):
[000156] -AC-G------- * ASG struct (copy)
[000154] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
[000152] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000151] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93b56a7f8 class
fgMorphTree BB03, STMT00041 (after)
[000156] -AC-G+------ * ASG struct (copy)
[000154] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
[000152] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000151] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93b56a7f8 class
fgMorphTree BB03, STMT00042 (before)
[000161] -AC-G------- * ASG ref
[000160] D------N---- +--* LCL_VAR ref V25 tmp16
[000153] --C-G------- \--* CALL ref System.Type.GetTypeFromHandle
[000159] n----------- arg0 \--* OBJ struct<System.RuntimeTypeHandle, 8>
[000158] ------------ \--* ADDR byref
[000157] -------N---- \--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
Initializing arg info for 153.CALL:
ArgTable for 153.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 159.OBJ ref (By value), 1 reg: rcx, byteAlignment=8, isStruct]
Morphing args for 153.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000157] -----+------ * LCL_FLD ref V24 tmp15 [+0]
Replaced with placeholder node:
[000188] ----------L- * ARGPLACE ref
Shuffled argument table: rcx
ArgTable for 153.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 157.LCL_FLD ref (By value), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed, isStruct]
fgMorphTree BB03, STMT00042 (after)
[000161] -ACXG+------ * ASG ref
[000160] D----+-N---- +--* LCL_VAR ref V25 tmp16
[000153] --CXG+------ \--* CALL ref System.Type.GetTypeFromHandle
[000157] -----+------ arg0 in rcx \--* LCL_FLD ref V24 tmp15 [+0]
fgMorphTree BB03, STMT00043 (before)
[000165] -AC-G------- * ASG int
[000164] D------N---- +--* LCL_VAR int V26 tmp17
[000163] --C-G------- \--* CALL int System.Type.op_Equality
[000150] ------------ arg0 +--* LCL_VAR ref V23 tmp14
[000162] ------------ arg1 \--* LCL_VAR ref V25 tmp16
Initializing arg info for 163.CALL:
ArgTable for 163.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 150.LCL_VAR ref (By ref), 1 reg: rcx, byteAlignment=8]
fgArgTabEntry[arg 1 162.LCL_VAR ref (By ref), 1 reg: rdx, byteAlignment=8]
Morphing args for 163.CALL:
argSlots=2, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000150] -----+------ * LCL_VAR ref V23 tmp14
Replaced with placeholder node:
[000189] ----------L- * ARGPLACE ref
Deferred argument ('rdx'):
[000162] -----+------ * LCL_VAR ref V25 tmp16
Replaced with placeholder node:
[000190] ----------L- * ARGPLACE ref
Shuffled argument table: rcx rdx
ArgTable for 163.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 150.LCL_VAR ref (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]
fgArgTabEntry[arg 1 162.LCL_VAR ref (By ref), 1 reg: rdx, byteAlignment=8, lateArgInx=1, processed]
fgMorphTree BB03, STMT00043 (after)
[000165] -ACXG+------ * ASG int
[000164] D----+-N---- +--* LCL_VAR int V26 tmp17
[000163] --CXG+------ \--* CALL int System.Type.op_Equality
[000150] -----+------ arg0 in rcx +--* LCL_VAR ref V23 tmp14
[000162] -----+------ arg1 in rdx \--* LCL_VAR ref V25 tmp16
fgMorphTree BB03, STMT00044 (before)
[000167] ------------ * NOP void
fgMorphTree BB03, STMT00045 (before)
[000169] -A---------- * ASG int
[000168] D------N---- +--* LCL_VAR int V15 tmp6
[000166] ------------ \--* LCL_VAR int V26 tmp17
Morphing BB04 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB04, STMT00008 (before)
[000035] -A---------- * ASG int
[000034] D------N---- +--* LCL_VAR int V15 tmp6
[000033] ------------ \--* CNS_INT int 1
Morphing BB05 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB05, STMT00009 (before)
[000039] -A---------- * ASG int
[000038] D------N---- +--* LCL_VAR int V01 loc0
[000037] ------------ \--* LCL_VAR int V15 tmp6
fgMorphTree BB05, STMT00009 (after)
[000039] -A---+------ * ASG int
[000038] D----+-N---- +--* LCL_VAR int V01 loc0
[000191] -----+------ \--* CAST int <- bool <- int
[000037] -----+------ \--* LCL_VAR int V15 tmp6
fgMorphTree BB05, STMT00010 (before)
[000043] ------------ * JTRUE void
[000042] ------------ \--* EQ int
[000040] ------------ +--* LCL_VAR int V01 loc0
[000041] ------------ \--* CNS_INT int 0
Morphing BB06 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB06, STMT00023 (before)
[000081] ------------ * NO_OP void
fgMorphTree BB06, STMT00024 (before)
[000085] -A-XG------- * ASG int
[000084] D------N---- +--* LCL_VAR int V02 loc1
[000083] ---XG------- \--* FIELD int _bufferPos
[000082] ------------ \--* LCL_VAR byref V00 this
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000083] *--XG------- * IND int
[000193] -----+------ \--* ADD byref
[000082] -----+------ +--* LCL_VAR byref V00 this
[000192] -----+------ \--* CNS_INT long 24 field offset Fseq[_bufferPos]
fgMorphTree BB06, STMT00024 (after)
[000085] -A-XG+------ * ASG int
[000084] D----+-N---- +--* LCL_VAR int V02 loc1
[000083] *--XG+------ \--* IND int
[000193] -----+------ \--* ADD byref
[000082] -----+------ +--* LCL_VAR byref V00 this
[000192] -----+------ \--* CNS_INT long 24 field offset Fseq[_bufferPos]
fgMorphTree BB06, STMT00025 (before)
[000090] -A-XG------- * ASG struct (copy)
[000088] D------N---- +--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16>(AX) V03 loc2
[000087] ---XG------- \--* FIELD struct _currentSpan
[000086] ------------ \--* LCL_VAR byref V00 this
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000087] *--XG------- * IND struct
[000195] -----+------ \--* ADD byref
[000086] -----+------ +--* LCL_VAR byref V00 this
[000194] -----+------ \--* CNS_INT long 32 field offset Fseq[_currentSpan]
fgMorphCopyBlock:
fgMorphBlkNode for dst tree, before:
[000088] D---G+-N---- * LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16>(AX) V03 loc2
fgMorphBlkNode after:
[000088] D---G+-N---- * LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16>(AX) V03 loc2
fgMorphBlkNode for src tree, before:
[000087] *--XG+------ * IND struct
[000195] -----+------ \--* ADD byref
[000086] -----+------ +--* LCL_VAR byref V00 this
[000194] -----+------ \--* CNS_INT long 32 field offset Fseq[_currentSpan]
fgMorphBlkNode after:
[000087] *--XG+------ * IND struct
[000195] -----+------ \--* ADD byref
[000086] -----+------ +--* LCL_VAR byref V00 this
[000194] -----+------ \--* CNS_INT long 32 field offset Fseq[_currentSpan]
block assignment to morph:
[000090] -A-XG------- * ASG struct (copy)
[000088] D---G+-N---- +--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16>(AX) V03 loc2
[000087] *--XG+------ \--* IND struct
[000195] -----+------ \--* ADD byref
[000086] -----+------ +--* LCL_VAR byref V00 this
[000194] -----+------ \--* CNS_INT long 32 field offset Fseq[_currentSpan]
with no promoted structs this requires a CopyBlock.
Local V03 should not be enregistered because: written in a block op
fgMorphCopyBlock (after):
[000090] -A-XG------- * ASG struct (copy)
[000088] D---G+-N---- +--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16>(AX) V03 loc2
[000087] *--XG+------ \--* IND struct
[000195] -----+------ \--* ADD byref
[000086] -----+------ +--* LCL_VAR byref V00 this
[000194] -----+------ \--* CNS_INT long 32 field offset Fseq[_currentSpan]
fgMorphTree BB06, STMT00025 (after)
[000090] -A-XG+------ * ASG struct (copy)
[000088] D---G+-N---- +--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16>(AX) V03 loc2
[000087] *--XG+------ \--* IND struct
[000195] -----+------ \--* ADD byref
[000086] -----+------ +--* LCL_VAR byref V00 this
[000194] -----+------ \--* CNS_INT long 32 field offset Fseq[_currentSpan]
fgMorphTree BB06, STMT00026 (before)
[000096] -A---------- * ASG int
[000095] D------N---- +--* LCL_VAR int V18 tmp9
[000091] ------------ \--* LCL_VAR int V02 loc1
fgMorphTree BB06, STMT00027 (before)
[000099] -AC-G------- * ASG int
[000098] D------N---- +--* LCL_VAR int V19 tmp10
[000094] --C-G------- \--* CALL int System.ReadOnlySpan`1[Byte][System.Byte].get_Length
[000093] ------------ this in rcx \--* LCL_VAR_ADDR byref V03 loc2
Initializing arg info for 94.CALL:
ArgTable for 94.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 93.LCL_VAR_ADDR byref (By ref), 1 reg: rcx, byteAlignment=8]
Morphing args for 94.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000093] -----+------ * LCL_VAR_ADDR byref V03 loc2
Replaced with placeholder node:
[000196] ----------L- * ARGPLACE byref
Shuffled argument table: rcx
ArgTable for 94.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 93.LCL_VAR_ADDR byref (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]
fgMorphTree BB06, STMT00027 (after)
[000099] -ACXG+------ * ASG int
[000098] D----+-N---- +--* LCL_VAR int V19 tmp10
[000094] --CXG+------ \--* CALL int System.ReadOnlySpan`1[Byte][System.Byte].get_Length
[000093] -----+------ this in rcx \--* LCL_VAR_ADDR byref V03 loc2
fgMorphTree BB06, STMT00028 (before)
[000105] -A---------- * ASG int
[000104] D------N---- +--* LCL_VAR int V05 loc4
[000103] ------------ \--* EQ int
[000101] N--------U-- +--* LT int
[000097] ------------ | +--* LCL_VAR int V18 tmp9
[000100] ------------ | \--* LCL_VAR int V19 tmp10
[000102] ------------ \--* CNS_INT int 0
fgMorphTree BB06, STMT00028 (after)
[000105] -A---+------ * ASG int
[000104] D----+-N---- +--* LCL_VAR int V05 loc4
[000101] N----+---U-- \--* GE int
[000097] -----+------ +--* LCL_VAR int V18 tmp9
[000100] -----+------ \--* LCL_VAR int V19 tmp10
fgMorphTree BB06, STMT00029 (before)
[000109] ------------ * JTRUE void
[000108] ------------ \--* EQ int
[000106] ------------ +--* LCL_VAR int V05 loc4
[000107] ------------ \--* CNS_INT int 0
Morphing BB07 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB07, STMT00035 (before)
[000130] ------------ * NO_OP void
fgMorphTree BB07, STMT00036 (before)
[000134] -AC-G------- * ASG int
[000133] D------N---- +--* LCL_VAR int V21 tmp12
[000132] --C-G------- \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].<ReadByte>g__ReadByteSlow|18_0
[000131] ------------ arg0 \--* LCL_VAR byref V00 this
Initializing arg info for 132.CALL:
ArgTable for 132.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 131.LCL_VAR byref (By ref), 1 reg: rcx, byteAlignment=8]
Morphing args for 132.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000131] -----+------ * LCL_VAR byref V00 this
Replaced with placeholder node:
[000197] ----------L- * ARGPLACE byref
Shuffled argument table: rcx
ArgTable for 132.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 131.LCL_VAR byref (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]
fgMorphTree BB07, STMT00036 (after)
[000134] -ACXG+------ * ASG int
[000133] D----+-N---- +--* LCL_VAR int V21 tmp12
[000132] --CXG+------ \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].<ReadByte>g__ReadByteSlow|18_0
[000131] -----+------ arg0 in rcx \--* LCL_VAR byref V00 this
fgMorphTree BB07, STMT00037 (before)
[000137] -A---------- * ASG int
[000136] D------N---- +--* LCL_VAR int V06 loc5
[000135] ------------ \--* LCL_VAR int V21 tmp12
fgMorphTree BB07, STMT00037 (after)
[000137] -A---+------ * ASG int
[000136] D----+-N---- +--* LCL_VAR int V06 loc5
[000198] -----+------ \--* CAST int <- ubyte <- int
[000135] -----+------ \--* LCL_VAR int V21 tmp12
fgMorphTree BB07, STMT00038 (before)
[000138] ------------ * NOP void
Morphing BB08 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB08, STMT00030 (before)
[000115] -AC-G------- * ASG byref
[000114] D------N---- +--* LCL_VAR byref V20 tmp11
[000113] --C-G------- \--* CALL byref System.ReadOnlySpan`1[Byte][System.Byte].get_Item
[000111] ------------ this in rcx +--* LCL_VAR_ADDR byref V03 loc2
[000112] ------------ arg1 \--* LCL_VAR int V02 loc1
Initializing arg info for 113.CALL:
ArgTable for 113.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 111.LCL_VAR_ADDR byref (By ref), 1 reg: rcx, byteAlignment=8]
fgArgTabEntry[arg 1 112.LCL_VAR int (By ref), 1 reg: rdx, byteAlignment=8]
Morphing args for 113.CALL:
argSlots=2, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000111] -----+------ * LCL_VAR_ADDR byref V03 loc2
Replaced with placeholder node:
[000199] ----------L- * ARGPLACE byref
Deferred argument ('rdx'):
[000112] -----+------ * LCL_VAR int V02 loc1
Replaced with placeholder node:
[000200] ----------L- * ARGPLACE int
Shuffled argument table: rcx rdx
ArgTable for 113.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 111.LCL_VAR_ADDR byref (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]
fgArgTabEntry[arg 1 112.LCL_VAR int (By ref), 1 reg: rdx, byteAlignment=8, lateArgInx=1, processed]
fgMorphTree BB08, STMT00030 (after)
[000115] -ACXG+------ * ASG byref
[000114] D----+-N---- +--* LCL_VAR byref V20 tmp11
[000113] --CXG+------ \--* CALL byref System.ReadOnlySpan`1[Byte][System.Byte].get_Item
[000111] -----+------ this in rcx +--* LCL_VAR_ADDR byref V03 loc2
[000112] -----+------ arg1 in rdx \--* LCL_VAR int V02 loc1
fgMorphTree BB08, STMT00031 (before)
[000119] -A-XG------- * ASG int
[000118] D------N---- +--* LCL_VAR int V04 loc3
[000117] *--XG------- \--* IND ubyte
[000116] ------------ \--* LCL_VAR byref V20 tmp11
fgMorphTree BB08, STMT00032 (before)
[000125] -A-XG------- * ASG int
[000124] ---XG--N---- +--* FIELD int _bufferPos
[000120] ------------ | \--* LCL_VAR byref V00 this
[000123] ------------ \--* ADD int
[000121] ------------ +--* LCL_VAR int V02 loc1
[000122] ------------ \--* CNS_INT int 1
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000124] *--XG--N---- * IND int
[000202] -----+------ \--* ADD byref
[000120] -----+------ +--* LCL_VAR byref V00 this
[000201] -----+------ \--* CNS_INT long 24 field offset Fseq[_bufferPos]
fgMorphTree BB08, STMT00032 (after)
[000125] -A-XG+------ * ASG int
[000124] *--XG+-N---- +--* IND int
[000202] -----+------ | \--* ADD byref
[000120] -----+------ | +--* LCL_VAR byref V00 this
[000201] -----+------ | \--* CNS_INT long 24 field offset Fseq[_bufferPos]
[000123] -----+------ \--* ADD int
[000121] -----+------ +--* LCL_VAR int V02 loc1
[000122] -----+------ \--* CNS_INT int 1
fgMorphTree BB08, STMT00033 (before)
[000128] -A---------- * ASG int
[000127] D------N---- +--* LCL_VAR int V06 loc5
[000126] ------------ \--* LCL_VAR int V04 loc3
fgMorphTree BB08, STMT00034 (before)
[000129] ------------ * NOP void
Morphing BB09 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB09, STMT00011 (before)
[000052] -ACXG------- * ASG ref
[000051] D------N---- +--* LCL_VAR ref V07 loc6
[000050] --CXG------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFCLASS
[000049] H------N---- arg0 +--* CNS_INT(h) long 0x7ff93b569758 class
[000048] --CXG------- arg1 \--* CALL help ref HELPER.CORINFO_HELP_BOX
[000046] H----------- arg0 +--* CNS_INT(h) long 0x7ff93af7cd80 class
[000047] ---XG------- arg1 \--* ADDR byref
[000045] ---XG--N---- \--* FIELD struct _input
[000044] ------------ \--* LCL_VAR byref V00 this
Initializing arg info for 50.CALL:
ArgTable for 50.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 49.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8]
fgArgTabEntry[arg 1 48.CALL ref (By ref), 1 reg: rdx, byteAlignment=8]
Morphing args for 50.CALL:
Initializing arg info for 48.CALL:
ArgTable for 48.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 46.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8]
fgArgTabEntry[arg 1 47.ADDR byref (By ref), 1 reg: rdx, byteAlignment=8]
Morphing args for 48.CALL:
Before explicit null check morphing:
[000045] ---XG--N---- * FIELD struct _input
[000044] ------------ \--* LCL_VAR byref V00 this
After adding explicit null check:
[000045] *--XG--N---- * IND struct
[000209] ---X-------- \--* COMMA byref
[000205] ---X---N---- +--* NULLCHECK byte
[000204] ------------ | \--* LCL_VAR byref V00 this
[000208] ------------ \--* ADD byref
[000206] ------------ +--* LCL_VAR byref V00 this
[000207] ------------ \--* CNS_INT long 64 field offset Fseq[_input]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000209] ---XG+-N---- * COMMA struct
[000205] ---X-+-N---- +--* NULLCHECK byte
[000204] -----+------ | \--* LCL_VAR byref V00 this
[000210] *--X-+-N---- \--* IND struct
[000208] -----+------ \--* ADD byref
[000206] -----+------ +--* LCL_VAR byref V00 this
[000207] -----+------ \--* CNS_INT long 64 field offset Fseq[_input]
argSlots=2, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rdx'):
[000209] ---XG+-N---- * COMMA byref
[000205] ---X-+-N---- +--* NULLCHECK byte
[000204] -----+------ | \--* LCL_VAR byref V00 this
[000208] -----+------ \--* ADD byref
[000206] -----+------ +--* LCL_VAR byref V00 this
[000207] -----+------ \--* CNS_INT long 64 field offset Fseq[_input]
Replaced with placeholder node:
[000211] ----------L- * ARGPLACE byref
Deferred argument ('rcx'):
[000046] H----+------ * CNS_INT(h) long 0x7ff93af7cd80 class
Replaced with placeholder node:
[000212] ----------L- * ARGPLACE long
Shuffled argument table: rdx rcx
ArgTable for 48.CALL after fgMorphArgs:
fgArgTabEntry[arg 1 209.COMMA byref (By ref), 1 reg: rdx, byteAlignment=8, lateArgInx=0, processed]
fgArgTabEntry[arg 0 46.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=1, processed]
argSlots=2, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Argument with 'side effect'...
[000048] --CXG+------ * CALL help ref HELPER.CORINFO_HELP_BOX
[000209] ---XG+-N---- arg1 in rdx +--* COMMA byref
[000205] ---X-+-N---- | +--* NULLCHECK byte
[000204] -----+------ | | \--* LCL_VAR byref V00 this
[000208] -----+------ | \--* ADD byref
[000206] -----+------ | +--* LCL_VAR byref V00 this
[000207] -----+------ | \--* CNS_INT long 64 field offset Fseq[_input]
[000046] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
lvaGrabTemp returning 27 (V27 tmp18) called for argument with side effect.
Evaluate to a temp:
[000214] -ACXG-----L- * ASG ref
[000213] D------N---- +--* LCL_VAR ref V27 tmp18
[000048] --CXG+------ \--* CALL help ref HELPER.CORINFO_HELP_BOX
[000209] ---XG+-N---- arg1 in rdx +--* COMMA byref
[000205] ---X-+-N---- | +--* NULLCHECK byte
[000204] -----+------ | | \--* LCL_VAR byref V00 this
[000208] -----+------ | \--* ADD byref
[000206] -----+------ | +--* LCL_VAR byref V00 this
[000207] -----+------ | \--* CNS_INT long 64 field offset Fseq[_input]
[000046] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
Deferred argument ('rcx'):
[000049] H----+-N---- * CNS_INT(h) long 0x7ff93b569758 class
Replaced with placeholder node:
[000216] ----------L- * ARGPLACE long
Shuffled argument table: rdx rcx
ArgTable for 50.CALL after fgMorphArgs:
fgArgTabEntry[arg 1 215.LCL_VAR ref (By ref), 1 reg: rdx, byteAlignment=8, lateArgInx=0, tmpNum=V27, isTmp, processed]
fgArgTabEntry[arg 0 49.CNS_INT long (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=1, processed]
fgMorphTree BB09, STMT00011 (after)
[000052] -ACXG+------ * ASG ref
[000051] D----+-N---- +--* LCL_VAR ref V07 loc6
[000050] --CXG+------ \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFCLASS
[000214] -ACXG-----L- arg1 SETUP +--* ASG ref
[000213] D------N---- | +--* LCL_VAR ref V27 tmp18
[000048] --CXG+------ | \--* CALL help ref HELPER.CORINFO_HELP_BOX
[000209] ---XG+-N---- arg1 in rdx | +--* COMMA byref
[000205] ---X-+-N---- | | +--* NULLCHECK byte
[000204] -----+------ | | | \--* LCL_VAR byref V00 this
[000208] -----+------ | | \--* ADD byref
[000206] -----+------ | | +--* LCL_VAR byref V00 this
[000207] -----+------ | | \--* CNS_INT long 64 field offset Fseq[_input]
[000046] H----+------ arg0 in rcx | \--* CNS_INT(h) long 0x7ff93af7cd80 class
[000215] ------------ arg1 in rdx +--* LCL_VAR ref V27 tmp18
[000049] H----+-N---- arg0 in rcx \--* CNS_INT(h) long 0x7ff93b569758 class
fgMorphTree BB09, STMT00012 (before)
[000057] -A---------- * ASG int
[000056] D------N---- +--* LCL_VAR int V08 loc7
[000055] N--------U-- \--* GT int
[000053] ------------ +--* LCL_VAR ref V07 loc6
[000054] ------------ \--* CNS_INT ref null
fgMorphTree BB09, STMT00012 (after)
[000057] -A---+------ * ASG int
[000056] D----+-N---- +--* LCL_VAR int V08 loc7
[000055] N----+------ \--* NE int
[000053] -----+------ +--* LCL_VAR ref V07 loc6
[000054] -----+------ \--* CNS_INT ref null
fgMorphTree BB09, STMT00013 (before)
[000061] ------------ * JTRUE void
[000060] ------------ \--* EQ int
[000058] ------------ +--* LCL_VAR int V08 loc7
[000059] ------------ \--* CNS_INT int 0
Morphing BB10 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB10, STMT00019 (before)
[000072] ------------ * NO_OP void
fgMorphTree BB10, STMT00020 (before)
[000076] -AC-G------- * ASG int
[000075] D------N---- +--* LCL_VAR int V17 tmp8
[000074] --C-G------- \--* CALLV ind int Hagar.Buffers.ReaderInput.ReadByte
[000073] ------------ this in rcx \--* LCL_VAR ref V07 loc6
Initializing arg info for 74.CALL:
ArgTable for 74.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 73.LCL_VAR ref (By ref), 1 reg: rcx, byteAlignment=8]
Morphing args for 74.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000073] -----+------ * LCL_VAR ref V07 loc6
Replaced with placeholder node:
[000217] ----------L- * ARGPLACE ref
Shuffled argument table: rcx
ArgTable for 74.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 73.LCL_VAR ref (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]
fgMorphTree BB10, STMT00020 (after)
[000076] -ACXG+------ * ASG int
[000075] D----+-N---- +--* LCL_VAR int V17 tmp8
[000074] --CXG+------ \--* CALLV ind int Hagar.Buffers.ReaderInput.ReadByte
[000073] -----+------ this in rcx \--* LCL_VAR ref V07 loc6
fgMorphTree BB10, STMT00021 (before)
[000079] -A---------- * ASG int
[000078] D------N---- +--* LCL_VAR int V06 loc5
[000077] ------------ \--* LCL_VAR int V17 tmp8
fgMorphTree BB10, STMT00021 (after)
[000079] -A---+------ * ASG int
[000078] D----+-N---- +--* LCL_VAR int V06 loc5
[000218] -----+------ \--* CAST int <- ubyte <- int
[000077] -----+------ \--* LCL_VAR int V17 tmp8
fgMorphTree BB10, STMT00022 (before)
[000080] ------------ * NOP void
Morphing BB11 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB11, STMT00014 (before)
[000062] ------------ * NO_OP void
fgMorphTree BB11, STMT00015 (before)
[000065] -AC-G------- * ASG int
[000064] D------N---- +--* LCL_VAR int V16 tmp7
[000063] --C-G------- \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].ThrowNotSupportedInput
Initializing arg info for 63.CALL:
ArgTable for 63.CALL after fgInitArgInfo:
Morphing args for 63.CALL:
argSlots=0, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32
ArgTable for 63.CALL after fgMorphArgs:
fgMorphTree BB11, STMT00016 (before)
[000068] -A---------- * ASG int
[000067] D------N---- +--* LCL_VAR int V06 loc5
[000066] ------------ \--* LCL_VAR int V16 tmp7
fgMorphTree BB11, STMT00016 (after)
[000068] -A---+------ * ASG int
[000067] D----+-N---- +--* LCL_VAR int V06 loc5
[000219] -----+------ \--* CAST int <- ubyte <- int
[000066] -----+------ \--* LCL_VAR int V16 tmp7
fgMorphTree BB11, STMT00017 (before)
[000069] ------------ * NOP void
Morphing BB12 of 'Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]]:ReadByte():ubyte:this'
fgMorphTree BB12, STMT00018 (before)
[000071] ------------ * RETURN int
[000070] ------------ \--* LCL_VAR int V06 loc5
Expanding top-level qmark in BB01 (before)
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target hascall
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
***** BB01
STMT00000 (IL ???... ???)
[000000] -----+------ * NOP void
***** BB01
STMT00046 (IL ???... ???)
[000178] --C-G+------ * QMARK void
[000174] J----+-N---- if +--* EQ int
[000172] n----+------ | +--* IND int
[000171] H----+------ | | \--* CNS_INT(h) long 0x7ff9392a5420 global ptr
[000173] -----+------ | \--* CNS_INT int 0
[000177] --C-G+?----- if \--* COLON void
[000175] --C-G+?----- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
[000176] -----+?----- then \--* NOP void
-------------------------------------------------------------------------------------------------------------------
New Basic Block BB13 [0012] created.
BB02 previous predecessor was BB01, now is BB13
New Basic Block BB14 [0013] created.
New Basic Block BB15 [0014] created.
Removing statement STMT00046 (IL ???... ???)
[000178] --C-G+------ * QMARK void
[000174] J----+-N---- if +--* EQ int
[000172] n----+------ | +--* IND int
[000171] H----+------ | | \--* CNS_INT(h) long 0x7ff9392a5420 global ptr
[000173] -----+------ | \--* CNS_INT int 0
[000177] --C-G+?----- if \--* COLON void
[000175] --C-G+?----- else +--* CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
[000176] -----+?----- then \--* NOP void
in BB01 as useless:
Expanding top-level qmark in BB01 (after)
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target hascall
BB14 [0013] 1 BB01 1 [???..???)-> BB13 ( cond ) internal
BB15 [0014] 1 BB14 0.50 [???..???) internal
BB13 [0012] 2 BB14,BB15 1 [???..???) i internal label target hascall
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB14}
***** BB01
STMT00000 (IL ???... ???)
[000000] -----+------ * NOP void
------------ BB14 [???..???) -> BB13 (cond), preds={BB01} succs={BB15,BB13}
***** BB14
STMT00047 (IL ???... ???)
[000221] ------------ * JTRUE void
[000174] J----+-N---- \--* EQ int
[000172] n----+------ +--* IND int
[000171] H----+------ | \--* CNS_INT(h) long 0x7ff9392a5420 global ptr
[000173] -----+------ \--* CNS_INT int 0
------------ BB15 [???..???), preds={BB14} succs={BB13}
***** BB15
STMT00048 (IL ???... ???)
[000175] --C-G+?----- * CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
------------ BB13 [???..???), preds={BB14,BB15} succs={BB02}
-------------------------------------------------------------------------------------------------------------------
*************** Before renumbering the basic blocks
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target hascall
BB14 [0013] 1 BB01 1 [???..???)-> BB13 ( cond ) internal
BB15 [0014] 1 BB14 0.50 [???..???) internal
BB13 [0012] 2 BB14,BB15 1 [???..???) i internal label target hascall
BB02 [0001] 1 BB13 1 [000..01C)-> BB04 ( cond ) i hascall
BB03 [0002] 1 BB02 1 [01C..037)-> BB05 (always) i hascall
BB04 [0003] 1 BB02 1 [037..038) i label target
BB05 [0004] 2 BB03,BB04 1 [038..03C)-> BB09 ( cond ) i label target
BB06 [0005] 1 BB05 1 [03C..05E)-> BB08 ( cond ) i hascall
BB07 [0006] 1 BB06 1 [05E..069)-> BB12 (always) i hascall gcsafe
BB08 [0007] 1 BB06 1 [069..081)-> BB12 (always) i label target hascall
BB09 [0008] 1 BB05 1 [081..09E)-> BB11 ( cond ) i label target hascall nullcheck
BB10 [0009] 1 BB09 1 [09E..0AA)-> BB12 (always) i hascall gcsafe
BB11 [0010] 1 BB09 1 [0AA..0B4)-> BB12 (always) i label target hascall gcsafe
BB12 [0011] 4 BB07,BB08,BB10,BB11 1 [0B4..0B7) (return) i label target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table is empty
Renumber BB14 to BB02
Renumber BB15 to BB03
Renumber BB13 to BB04
Renumber BB02 to BB05
Renumber BB03 to BB06
Renumber BB04 to BB07
Renumber BB05 to BB08
Renumber BB06 to BB09
Renumber BB07 to BB10
Renumber BB08 to BB11
Renumber BB09 to BB12
Renumber BB10 to BB13
Renumber BB11 to BB14
Renumber BB12 to BB15
*************** After renumbering the basic blocks
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target hascall
BB02 [0013] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
BB03 [0014] 1 BB02 0.50 [???..???) internal
BB04 [0012] 2 BB02,BB03 1 [???..???) i internal label target hascall
BB05 [0001] 1 BB04 1 [000..01C)-> BB07 ( cond ) i hascall
BB06 [0002] 1 BB05 1 [01C..037)-> BB08 (always) i hascall
BB07 [0003] 1 BB05 1 [037..038) i label target
BB08 [0004] 2 BB06,BB07 1 [038..03C)-> BB12 ( cond ) i label target
BB09 [0005] 1 BB08 1 [03C..05E)-> BB11 ( cond ) i hascall
BB10 [0006] 1 BB09 1 [05E..069)-> BB15 (always) i hascall gcsafe
BB11 [0007] 1 BB09 1 [069..081)-> BB15 (always) i label target hascall
BB12 [0008] 1 BB08 1 [081..09E)-> BB14 ( cond ) i label target hascall nullcheck
BB13 [0009] 1 BB12 1 [09E..0AA)-> BB15 (always) i hascall gcsafe
BB14 [0010] 1 BB12 1 [0AA..0B4)-> BB15 (always) i label target hascall gcsafe
BB15 [0011] 4 BB10,BB11,BB13,BB14 1 [0B4..0B7) (return) i label target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table is empty
New BlockSet epoch 2, # of blocks (including unused BB00): 16, bitset array size: 1 (short)
*************** Finishing PHASE Morph - Global
Trees after Morph - Global
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target hascall
BB02 [0013] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
BB03 [0014] 1 BB02 0.50 [???..???) internal
BB04 [0012] 2 BB02,BB03 1 [???..???) i internal label target hascall
BB05 [0001] 1 BB04 1 [000..01C)-> BB07 ( cond ) i hascall
BB06 [0002] 1 BB05 1 [01C..037)-> BB08 (always) i hascall
BB07 [0003] 1 BB05 1 [037..038) i label target
BB08 [0004] 2 BB06,BB07 1 [038..03C)-> BB12 ( cond ) i label target
BB09 [0005] 1 BB08 1 [03C..05E)-> BB11 ( cond ) i hascall
BB10 [0006] 1 BB09 1 [05E..069)-> BB15 (always) i hascall gcsafe
BB11 [0007] 1 BB09 1 [069..081)-> BB15 (always) i label target hascall
BB12 [0008] 1 BB08 1 [081..09E)-> BB14 ( cond ) i label target hascall nullcheck
BB13 [0009] 1 BB12 1 [09E..0AA)-> BB15 (always) i hascall gcsafe
BB14 [0010] 1 BB12 1 [0AA..0B4)-> BB15 (always) i label target hascall gcsafe
BB15 [0011] 4 BB10,BB11,BB13,BB14 1 [0B4..0B7) (return) i label target
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
***** BB01
STMT00000 (IL ???... ???)
[000000] -----+------ * NOP void
------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
***** BB02
STMT00047 (IL ???... ???)
[000221] ------------ * JTRUE void
[000174] J----+-N---- \--* EQ int
[000172] n----+------ +--* IND int
[000171] H----+------ | \--* CNS_INT(h) long 0x7ff9392a5420 global ptr
[000173] -----+------ \--* CNS_INT int 0
------------ BB03 [???..???), preds={BB02} succs={BB04}
***** BB03
STMT00048 (IL ???... ???)
[000175] --C-G+?----- * CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
------------ BB05 [000..01C) -> BB07 (cond), preds={BB04} succs={BB06,BB07}
***** BB05
STMT00001 (IL 0x000...0x000)
[000001] -----+------ * NO_OP void
***** BB05
STMT00002 (IL 0x001...0x01A)
[000007] -AC-G+------ * ASG struct (copy)
[000005] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
[000003] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000002] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
***** BB05
STMT00003 (IL ???... ???)
[000012] -ACXG+------ * ASG ref
[000011] D----+-N---- +--* LCL_VAR ref V11 tmp2
[000004] --CXG+------ \--* CALL ref System.Type.GetTypeFromHandle
[000008] -----+------ arg0 in rcx \--* LCL_FLD ref V10 tmp1 [+0]
***** BB05
STMT00004 (IL 0x00B... ???)
[000019] -AC-G+------ * ASG struct (copy)
[000017] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
[000015] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000014] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
***** BB05
STMT00005 (IL ???... ???)
[000024] -ACXG+------ * ASG ref
[000023] D----+-N---- +--* LCL_VAR ref V13 tmp4
[000016] --CXG+------ \--* CALL ref System.Type.GetTypeFromHandle
[000020] -----+------ arg0 in rcx \--* LCL_FLD ref V12 tmp3 [+0]
***** BB05
STMT00006 (IL 0x015... ???)
[000028] -ACXG+------ * ASG int
[000027] D----+-N---- +--* LCL_VAR int V14 tmp5
[000026] --CXG+------ \--* CALL int System.Type.op_Equality
[000013] -----+------ arg0 in rcx +--* LCL_VAR ref V11 tmp2
[000025] -----+------ arg1 in rdx \--* LCL_VAR ref V13 tmp4
***** BB05
STMT00007 (IL 0x01A... ???)
[000032] -----+------ * JTRUE void
[000031] J----+-N---- \--* NE int
[000029] -----+------ +--* LCL_VAR int V14 tmp5
[000030] -----+------ \--* CNS_INT int 0
------------ BB06 [01C..037) -> BB08 (always), preds={BB05} succs={BB08}
***** BB06
STMT00039 (IL 0x01C...0x035)
[000144] -AC-G+------ * ASG struct (copy)
[000142] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
[000140] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000139] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
***** BB06
STMT00040 (IL ???... ???)
[000149] -ACXG+------ * ASG ref
[000148] D----+-N---- +--* LCL_VAR ref V23 tmp14
[000141] --CXG+------ \--* CALL ref System.Type.GetTypeFromHandle
[000145] -----+------ arg0 in rcx \--* LCL_FLD ref V22 tmp13 [+0]
***** BB06
STMT00041 (IL 0x026... ???)
[000156] -AC-G+------ * ASG struct (copy)
[000154] D----+-N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
[000152] --C-G+------ \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
[000151] H----+------ arg0 in rcx \--* CNS_INT(h) long 0x7ff93b56a7f8 class
***** BB06
STMT00042 (IL ???... ???)
[000161] -ACXG+------ * ASG ref
[000160] D----+-N---- +--* LCL_VAR ref V25 tmp16
[000153] --CXG+------ \--* CALL ref System.Type.GetTypeFromHandle
[000157] -----+------ arg0 in rcx \--* LCL_FLD ref V24 tmp15 [+0]
***** BB06
STMT00043 (IL 0x030... ???)
[000165] -ACXG+------ * ASG int
[000164] D----+-N---- +--* LCL_VAR int V26 tmp17
[000163] --CXG+------ \--* CALL int System.Type.op_Equality
[000150] -----+------ arg0 in rcx +--* LCL_VAR ref V23 tmp14
[000162] -----+------ arg1 in rdx \--* LCL_VAR ref V25 tmp16
***** BB06
STMT00044 (IL 0x035... ???)
[000167] -----+------ * NOP void
***** BB06
STMT00045 (IL ???... ???)
[000169] -A---+------ * ASG int
[000168] D----+-N---- +--* LCL_VAR int V15 tmp6
[000166] -----+------ \--* LCL_VAR int V26 tmp17
------------ BB07 [037..038), preds={BB05} succs={BB08}
***** BB07
STMT00008 (IL 0x037...0x037)
[000035] -A---+------ * ASG int
[000034] D----+-N---- +--* LCL_VAR int V15 tmp6
[000033] -----+------ \--* CNS_INT int 1
------------ BB08 [038..03C) -> BB12 (cond), preds={BB06,BB07} succs={BB09,BB12}
***** BB08
STMT00009 (IL ???...0x038)
[000039] -A---+------ * ASG int
[000038] D----+-N---- +--* LCL_VAR int V01 loc0
[000191] -----+------ \--* CAST int <- bool <- int
[000037] -----+------ \--* LCL_VAR int V15 tmp6
***** BB08
STMT00010 (IL 0x039...0x03A)
[000043] -----+------ * JTRUE void
[000042] J----+-N---- \--* EQ int
[000040] -----+------ +--* LCL_VAR int V01 loc0
[000041] -----+------ \--* CNS_INT int 0
------------ BB09 [03C..05E) -> BB11 (cond), preds={BB08} succs={BB10,BB11}
***** BB09
STMT00023 (IL 0x03C...0x03C)
[000081] -----+------ * NO_OP void
***** BB09
STMT00024 (IL 0x03D...0x043)
[000085] -A-XG+------ * ASG int
[000084] D----+-N---- +--* LCL_VAR int V02 loc1
[000083] *--XG+------ \--* IND int
[000193] -----+------ \--* ADD byref
[000082] -----+------ +--* LCL_VAR byref V00 this
[000192] -----+------ \--* CNS_INT long 24 field offset Fseq[_bufferPos]
***** BB09
STMT00025 (IL 0x044...0x04A)
[000090] -A-XG+------ * ASG struct (copy)
[000088] D---G+-N---- +--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16>(AX) V03 loc2
[000087] *--XG+------ \--* IND struct
[000195] -----+------ \--* ADD byref
[000086] -----+------ +--* LCL_VAR byref V00 this
[000194] -----+------ \--* CNS_INT long 32 field offset Fseq[_currentSpan]
***** BB09
STMT00026 (IL 0x04B...0x058)
[000096] -A---+------ * ASG int
[000095] D----+-N---- +--* LCL_VAR int V18 tmp9
[000091] -----+------ \--* LCL_VAR int V02 loc1
***** BB09
STMT00027 (IL ???... ???)
[000099] -ACXG+------ * ASG int
[000098] D----+-N---- +--* LCL_VAR int V19 tmp10
[000094] --CXG+------ \--* CALL int System.ReadOnlySpan`1[Byte][System.Byte].get_Length
[000093] -----+------ this in rcx \--* LCL_VAR_ADDR byref V03 loc2
***** BB09
STMT00028 (IL 0x053... ???)
[000105] -A---+------ * ASG int
[000104] D----+-N---- +--* LCL_VAR int V05 loc4
[000101] N----+---U-- \--* GE int
[000097] -----+------ +--* LCL_VAR int V18 tmp9
[000100] -----+------ \--* LCL_VAR int V19 tmp10
***** BB09
STMT00029 (IL 0x05A...0x05C)
[000109] -----+------ * JTRUE void
[000108] J----+-N---- \--* EQ int
[000106] -----+------ +--* LCL_VAR int V05 loc4
[000107] -----+------ \--* CNS_INT int 0
------------ BB10 [05E..069) -> BB15 (always), preds={BB09} succs={BB15}
***** BB10
STMT00035 (IL 0x05E...0x05E)
[000130] -----+------ * NO_OP void
***** BB10
STMT00036 (IL 0x05F...0x065)
[000134] -ACXG+------ * ASG int
[000133] D----+-N---- +--* LCL_VAR int V21 tmp12
[000132] --CXG+------ \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].<ReadByte>g__ReadByteSlow|18_0
[000131] -----+------ arg0 in rcx \--* LCL_VAR byref V00 this
***** BB10
STMT00037 (IL 0x065... ???)
[000137] -A---+------ * ASG int
[000136] D----+-N---- +--* LCL_VAR int V06 loc5
[000198] -----+------ \--* CAST int <- ubyte <- int
[000135] -----+------ \--* LCL_VAR int V21 tmp12
***** BB10
STMT00038 (IL 0x067...0x067)
[000138] -----+------ * NOP void
------------ BB11 [069..081) -> BB15 (always), preds={BB09} succs={BB15}
***** BB11
STMT00030 (IL 0x069...0x072)
[000115] -ACXG+------ * ASG byref
[000114] D----+-N---- +--* LCL_VAR byref V20 tmp11
[000113] --CXG+------ \--* CALL byref System.ReadOnlySpan`1[Byte][System.Byte].get_Item
[000111] -----+------ this in rcx +--* LCL_VAR_ADDR byref V03 loc2
[000112] -----+------ arg1 in rdx \--* LCL_VAR int V02 loc1
***** BB11
STMT00031 (IL 0x071... ???)
[000119] -A-XG+------ * ASG int
[000118] D----+-N---- +--* LCL_VAR int V04 loc3
[000117] *--XG+------ \--* IND ubyte
[000116] -----+------ \--* LCL_VAR byref V20 tmp11
***** BB11
STMT00032 (IL 0x073...0x077)
[000125] -A-XG+------ * ASG int
[000124] *--XG+-N---- +--* IND int
[000202] -----+------ | \--* ADD byref
[000120] -----+------ | +--* LCL_VAR byref V00 this
[000201] -----+------ | \--* CNS_INT long 24 field offset Fseq[_bufferPos]
[000123] -----+------ \--* ADD int
[000121] -----+------ +--* LCL_VAR int V02 loc1
[000122] -----+------ \--* CNS_INT int 1
***** BB11
STMT00033 (IL 0x07C...0x07D)
[000128] -A---+------ * ASG int
[000127] D----+-N---- +--* LCL_VAR int V06 loc5
[000126] -----+------ \--* LCL_VAR int V04 loc3
***** BB11
STMT00034 (IL 0x07F...0x07F)
[000129] -----+------ * NOP void
------------ BB12 [081..09E) -> BB14 (cond), preds={BB08} succs={BB13,BB14}
***** BB12
STMT00011 (IL 0x081...0x091)
[000052] -ACXG+------ * ASG ref
[000051] D----+-N---- +--* LCL_VAR ref V07 loc6
[000050] --CXG+------ \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFCLASS
[000214] -ACXG-----L- arg1 SETUP +--* ASG ref
[000213] D------N---- | +--* LCL_VAR ref V27 tmp18
[000048] --CXG+------ | \--* CALL help ref HELPER.CORINFO_HELP_BOX
[000209] ---XG+-N---- arg1 in rdx | +--* COMMA byref
[000205] ---X-+-N---- | | +--* NULLCHECK byte
[000204] -----+------ | | | \--* LCL_VAR byref V00 this
[000208] -----+------ | | \--* ADD byref
[000206] -----+------ | | +--* LCL_VAR byref V00 this
[000207] -----+------ | | \--* CNS_INT long 64 field offset Fseq[_input]
[000046] H----+------ arg0 in rcx | \--* CNS_INT(h) long 0x7ff93af7cd80 class
[000215] ------------ arg1 in rdx +--* LCL_VAR ref V27 tmp18
[000049] H----+-N---- arg0 in rcx \--* CNS_INT(h) long 0x7ff93b569758 class
***** BB12
STMT00012 (IL 0x093...0x098)
[000057] -A---+------ * ASG int
[000056] D----+-N---- +--* LCL_VAR int V08 loc7
[000055] N----+------ \--* NE int
[000053] -----+------ +--* LCL_VAR ref V07 loc6
[000054] -----+------ \--* CNS_INT ref null
***** BB12
STMT00013 (IL 0x09A...0x09C)
[000061] -----+------ * JTRUE void
[000060] J----+-N---- \--* EQ int
[000058] -----+------ +--* LCL_VAR int V08 loc7
[000059] -----+------ \--* CNS_INT int 0
------------ BB13 [09E..0AA) -> BB15 (always), preds={BB12} succs={BB15}
***** BB13
STMT00019 (IL 0x09E...0x09E)
[000072] -----+------ * NO_OP void
***** BB13
STMT00020 (IL 0x09F...0x0A6)
[000076] -ACXG+------ * ASG int
[000075] D----+-N---- +--* LCL_VAR int V17 tmp8
[000074] --CXG+------ \--* CALLV ind int Hagar.Buffers.ReaderInput.ReadByte
[000073] -----+------ this in rcx \--* LCL_VAR ref V07 loc6
***** BB13
STMT00021 (IL 0x0A6... ???)
[000079] -A---+------ * ASG int
[000078] D----+-N---- +--* LCL_VAR int V06 loc5
[000218] -----+------ \--* CAST int <- ubyte <- int
[000077] -----+------ \--* LCL_VAR int V17 tmp8
***** BB13
STMT00022 (IL 0x0A8...0x0A8)
[000080] -----+------ * NOP void
------------ BB14 [0AA..0B4) -> BB15 (always), preds={BB12} succs={BB15}
***** BB14
STMT00014 (IL 0x0AA...0x0AA)
[000062] -----+------ * NO_OP void
***** BB14
STMT00015 (IL 0x0AB...0x0B0)
[000065] -ACXG+------ * ASG int
[000064] D----+-N---- +--* LCL_VAR int V16 tmp7
[000063] --CXG+------ \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].ThrowNotSupportedInput
***** BB14
STMT00016 (IL 0x0B0... ???)
[000068] -A---+------ * ASG int
[000067] D----+-N---- +--* LCL_VAR int V06 loc5
[000219] -----+------ \--* CAST int <- ubyte <- int
[000066] -----+------ \--* LCL_VAR int V16 tmp7
***** BB14
STMT00017 (IL 0x0B2...0x0B2)
[000069] -----+------ * NOP void
------------ BB15 [0B4..0B7) (return), preds={BB10,BB11,BB13,BB14} succs={}
***** BB15
STMT00018 (IL 0x0B4...0x0B6)
[000071] -----+------ * RETURN int
[000070] -----+------ \--* LCL_VAR int V06 loc5
-------------------------------------------------------------------------------------------------------------------
*************** In fgDebugCheckBBlist
*************** Starting PHASE GS Cookie
No GS security needed
*************** Finishing PHASE GS Cookie
*************** 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 [???..???) i internal label target hascall
BB02 [0013] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
BB03 [0014] 1 BB02 0.50 [???..???) internal
BB04 [0012] 2 BB02,BB03 1 [???..???) i internal label target hascall
BB05 [0001] 1 BB04 1 [000..01C)-> BB07 ( cond ) i hascall
BB06 [0002] 1 BB05 1 [01C..037)-> BB08 (always) i hascall
BB07 [0003] 1 BB05 1 [037..038) i label target
BB08 [0004] 2 BB06,BB07 1 [038..03C)-> BB12 ( cond ) i label target
BB09 [0005] 1 BB08 1 [03C..05E)-> BB11 ( cond ) i hascall
BB10 [0006] 1 BB09 1 [05E..069)-> BB15 (always) i hascall gcsafe
BB11 [0007] 1 BB09 1 [069..081)-> BB15 (always) i label target hascall
BB12 [0008] 1 BB08 1 [081..09E)-> BB14 ( cond ) i label target hascall nullcheck
BB13 [0009] 1 BB12 1 [09E..0AA)-> BB15 (always) i hascall gcsafe
BB14 [0010] 1 BB12 1 [0AA..0B4)-> BB15 (always) i label target hascall gcsafe
BB15 [0011] 4 BB10,BB11,BB13,BB14 1 [0B4..0B7) (return) i label target
-----------------------------------------------------------------------------------------------------------------------------------------
-- no profile data, so using default called count
-- not optimizing or no profile data, so not computing edge weights
*************** Finishing PHASE Compute edge weights (1, false)
*************** Starting PHASE Create EH funclets
*************** In fgCreateFunclets()
After fgCreateFunclets()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [???..???) i internal label target hascall
BB02 [0013] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
BB03 [0014] 1 BB02 0.50 [???..???) internal
BB04 [0012] 2 BB02,BB03 1 [???..???) i internal label target hascall
BB05 [0001] 1 BB04 1 [000..01C)-> BB07 ( cond ) i hascall
BB06 [0002] 1 BB05 1 [01C..037)-> BB08 (always) i hascall
BB07 [0003] 1 BB05 1 [037..038) i label target
BB08 [0004] 2 BB06,BB07 1 [038..03C)-> BB12 ( cond ) i label target
BB09 [0005] 1 BB08 1 [03C..05E)-> BB11 ( cond ) i hascall
BB10 [0006] 1 BB09 1 [05E..069)-> BB15 (always) i hascall gcsafe
BB11 [0007] 1 BB09 1 [069..081)-> BB15 (always) i label target hascall
BB12 [0008] 1 BB08 1 [081..09E)-> BB14 ( cond ) i label target hascall nullcheck
BB13 [0009] 1 BB12 1 [09E..0AA)-> BB15 (always) i hascall gcsafe
BB14 [0010] 1 BB12 1 [0AA..0B4)-> BB15 (always) i label target hascall gcsafe
BB15 [0011] 4 BB10,BB11,BB13,BB14 1 [0B4..0B7) (return) i label target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table is empty
*************** In fgDebugCheckBBlist
*************** Finishing PHASE Create EH funclets
*************** Starting PHASE Mark local vars
*************** In lvaMarkLocalVars()
*** 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 18 tree nodes
*************** Finishing PHASE Set block order
*************** Starting PHASE Insert GC Polls
*************** Finishing PHASE Insert GC Polls [no changes]
*************** 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 [???..???) i internal label target hascall
BB02 [0013] 1 BB01 1 [???..???)-> BB04 ( cond ) internal
BB03 [0014] 1 BB02 0.50 [???..???) internal
BB04 [0012] 2 BB02,BB03 1 [???..???) i internal label target hascall
BB05 [0001] 1 BB04 1 [000..01C)-> BB07 ( cond ) i hascall
BB06 [0002] 1 BB05 1 [01C..037)-> BB08 (always) i hascall
BB07 [0003] 1 BB05 1 [037..038) i label target
BB08 [0004] 2 BB06,BB07 1 [038..03C)-> BB12 ( cond ) i label target
BB09 [0005] 1 BB08 1 [03C..05E)-> BB11 ( cond ) i hascall
BB10 [0006] 1 BB09 1 [05E..069)-> BB15 (always) i hascall gcsafe
BB11 [0007] 1 BB09 1 [069..081)-> BB15 (always) i label target hascall
BB12 [0008] 1 BB08 1 [081..09E)-> BB14 ( cond ) i label target hascall nullcheck
BB13 [0009] 1 BB12 1 [09E..0AA)-> BB15 (always) i hascall gcsafe
BB14 [0010] 1 BB12 1 [0AA..0B4)-> BB15 (always) i label target hascall gcsafe
BB15 [0011] 4 BB10,BB11,BB13,BB14 1 [0B4..0B7) (return) i label target
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [???..???), preds={} succs={BB02}
***** BB01
STMT00000 (IL ???... ???)
N001 ( 0, 0) [000000] ------------ * NOP void
------------ BB02 [???..???) -> BB04 (cond), preds={BB01} succs={BB03,BB04}
***** BB02
STMT00047 (IL ???... ???)
N005 ( 8, 16) [000221] ------------ * JTRUE void
N004 ( 6, 14) [000174] J------N---- \--* EQ int
N002 ( 4, 12) [000172] n----------- +--* IND int
N001 ( 2, 10) [000171] H----------- | \--* CNS_INT(h) long 0x7ff9392a5420 global ptr
N003 ( 1, 1) [000173] ------------ \--* CNS_INT int 0
------------ BB03 [???..???), preds={BB02} succs={BB04}
***** BB03
STMT00048 (IL ???... ???)
N001 ( 14, 5) [000175] --C-G-?----- * CALL help void HELPER.CORINFO_HELP_DBG_IS_JUST_MY_CODE
------------ BB04 [???..???), preds={BB02,BB03} succs={BB05}
------------ BB05 [000..01C) -> BB07 (cond), preds={BB04} succs={BB06,BB07}
***** BB05
STMT00001 (IL 0x000...0x000)
N001 ( 1, 1) [000001] ------------ * NO_OP void
***** BB05
STMT00002 (IL 0x001...0x01A)
N005 ( 20, 19) [000007] -AC-G---R--- * ASG struct (copy)
N004 ( 3, 2) [000005] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V10 tmp1
N003 ( 16, 16) [000003] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
N002 ( 2, 10) [000002] H----------- arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
***** BB05
STMT00003 (IL ???... ???)
N005 ( 21, 13) [000012] -ACXG---R--- * ASG ref
N004 ( 3, 2) [000011] D------N---- +--* LCL_VAR ref V11 tmp2
N003 ( 17, 10) [000004] --CXG------- \--* CALL ref System.Type.GetTypeFromHandle
N002 ( 3, 4) [000008] ------------ arg0 in rcx \--* LCL_FLD ref V10 tmp1 [+0]
***** BB05
STMT00004 (IL 0x00B... ???)
N005 ( 20, 19) [000019] -AC-G---R--- * ASG struct (copy)
N004 ( 3, 2) [000017] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V12 tmp3
N003 ( 16, 16) [000015] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
N002 ( 2, 10) [000014] H----------- arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
***** BB05
STMT00005 (IL ???... ???)
N005 ( 21, 13) [000024] -ACXG---R--- * ASG ref
N004 ( 3, 2) [000023] D------N---- +--* LCL_VAR ref V13 tmp4
N003 ( 17, 10) [000016] --CXG------- \--* CALL ref System.Type.GetTypeFromHandle
N002 ( 3, 4) [000020] ------------ arg0 in rcx \--* LCL_FLD ref V12 tmp3 [+0]
***** BB05
STMT00006 (IL 0x015... ???)
N007 ( 24, 14) [000028] -ACXG---R--- * ASG int
N006 ( 3, 2) [000027] D------N---- +--* LCL_VAR int V14 tmp5
N005 ( 20, 11) [000026] --CXG------- \--* CALL int System.Type.op_Equality
N003 ( 3, 2) [000013] ------------ arg0 in rcx +--* LCL_VAR ref V11 tmp2
N004 ( 3, 2) [000025] ------------ arg1 in rdx \--* LCL_VAR ref V13 tmp4
***** BB05
STMT00007 (IL 0x01A... ???)
N004 ( 7, 6) [000032] ------------ * JTRUE void
N003 ( 5, 4) [000031] J------N---- \--* NE int
N001 ( 3, 2) [000029] ------------ +--* LCL_VAR int V14 tmp5
N002 ( 1, 1) [000030] ------------ \--* CNS_INT int 0
------------ BB06 [01C..037) -> BB08 (always), preds={BB05} succs={BB08}
***** BB06
STMT00039 (IL 0x01C...0x035)
N005 ( 20, 19) [000144] -AC-G---R--- * ASG struct (copy)
N004 ( 3, 2) [000142] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V22 tmp13
N003 ( 16, 16) [000140] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
N002 ( 2, 10) [000139] H----------- arg0 in rcx \--* CNS_INT(h) long 0x7ff93af7cd80 class
***** BB06
STMT00040 (IL ???... ???)
N005 ( 21, 13) [000149] -ACXG---R--- * ASG ref
N004 ( 3, 2) [000148] D------N---- +--* LCL_VAR ref V23 tmp14
N003 ( 17, 10) [000141] --CXG------- \--* CALL ref System.Type.GetTypeFromHandle
N002 ( 3, 4) [000145] ------------ arg0 in rcx \--* LCL_FLD ref V22 tmp13 [+0]
***** BB06
STMT00041 (IL 0x026... ???)
N005 ( 20, 19) [000156] -AC-G---R--- * ASG struct (copy)
N004 ( 3, 2) [000154] D------N---- +--* LCL_VAR struct<System.RuntimeTypeHandle, 8> V24 tmp15
N003 ( 16, 16) [000152] --C-G------- \--* CALL help struct HELPER.CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPEHANDLE
N002 ( 2, 10) [000151] H----------- arg0 in rcx \--* CNS_INT(h) long 0x7ff93b56a7f8 class
***** BB06
STMT00042 (IL ???... ???)
N005 ( 21, 13) [000161] -ACXG---R--- * ASG ref
N004 ( 3, 2) [000160] D------N---- +--* LCL_VAR ref V25 tmp16
N003 ( 17, 10) [000153] --CXG------- \--* CALL ref System.Type.GetTypeFromHandle
N002 ( 3, 4) [000157] ------------ arg0 in rcx \--* LCL_FLD ref V24 tmp15 [+0]
***** BB06
STMT00043 (IL 0x030... ???)
N007 ( 24, 14) [000165] -ACXG---R--- * ASG int
N006 ( 3, 2) [000164] D------N---- +--* LCL_VAR int V26 tmp17
N005 ( 20, 11) [000163] --CXG------- \--* CALL int System.Type.op_Equality
N003 ( 3, 2) [000150] ------------ arg0 in rcx +--* LCL_VAR ref V23 tmp14
N004 ( 3, 2) [000162] ------------ arg1 in rdx \--* LCL_VAR ref V25 tmp16
***** BB06
STMT00044 (IL 0x035... ???)
N001 ( 0, 0) [000167] ------------ * NOP void
***** BB06
STMT00045 (IL ???... ???)
N003 ( 7, 5) [000169] -A------R--- * ASG int
N002 ( 3, 2) [000168] D------N---- +--* LCL_VAR int V15 tmp6
N001 ( 3, 2) [000166] ------------ \--* LCL_VAR int V26 tmp17
------------ BB07 [037..038), preds={BB05} succs={BB08}
***** BB07
STMT00008 (IL 0x037...0x037)
N003 ( 5, 4) [000035] -A------R--- * ASG int
N002 ( 3, 2) [000034] D------N---- +--* LCL_VAR int V15 tmp6
N001 ( 1, 1) [000033] ------------ \--* CNS_INT int 1
------------ BB08 [038..03C) -> BB12 (cond), preds={BB06,BB07} succs={BB09,BB12}
***** BB08
STMT00009 (IL ???...0x038)
N004 ( 8, 7) [000039] -A------R--- * ASG int
N003 ( 3, 2) [000038] D------N---- +--* LCL_VAR int V01 loc0
N002 ( 4, 4) [000191] ------------ \--* CAST int <- bool <- int
N001 ( 3, 2) [000037] ------------ \--* LCL_VAR int V15 tmp6
***** BB08
STMT00010 (IL 0x039...0x03A)
N004 ( 7, 6) [000043] ------------ * JTRUE void
N003 ( 5, 4) [000042] J------N---- \--* EQ int
N001 ( 3, 2) [000040] ------------ +--* LCL_VAR int V01 loc0
N002 ( 1, 1) [000041] ------------ \--* CNS_INT int 0
------------ BB09 [03C..05E) -> BB11 (cond), preds={BB08} succs={BB10,BB11}
***** BB09
STMT00023 (IL 0x03C...0x03C)
N001 ( 1, 1) [000081] ------------ * NO_OP void
***** BB09
STMT00024 (IL 0x03D...0x043)
N006 ( 10, 8) [000085] -A-XG---R--- * ASG int
N005 ( 3, 2) [000084] D------N---- +--* LCL_VAR int V02 loc1
N004 ( 6, 5) [000083] *--XG------- \--* IND int
N003 ( 4, 3) [000193] -------N---- \--* ADD byref
N001 ( 3, 2) [000082] ------------ +--* LCL_VAR byref V00 this
N002 ( 1, 1) [000192] ------------ \--* CNS_INT long 24 field offset Fseq[_bufferPos]
***** BB09
STMT00025 (IL 0x044...0x04A)
N006 ( 12, 9) [000090] -A-XG---R--- * ASG struct (copy)
N005 ( 3, 2) [000088] D---G--N---- +--* LCL_VAR struct<System.ReadOnlySpan`1[Byte], 16>(AX) V03 loc2
N004 ( 8, 6) [000087] *--XG------- \--* IND struct
N003 ( 5, 4) [000195] ------------ \--* ADD byref
N001 ( 3, 2) [000086] ------------ +--* LCL_VAR byref V00 this
N002 ( 1, 1) [000194] ------------ \--* CNS_INT long 32 field offset Fseq[_currentSpan]
***** BB09
STMT00026 (IL 0x04B...0x058)
N003 ( 7, 5) [000096] -A------R--- * ASG int
N002 ( 3, 2) [000095] D------N---- +--* LCL_VAR int V18 tmp9
N001 ( 3, 2) [000091] ------------ \--* LCL_VAR int V02 loc1
***** BB09
STMT00027 (IL ???... ???)
N005 ( 21, 13) [000099] -ACXG---R--- * ASG int
N004 ( 3, 2) [000098] D------N---- +--* LCL_VAR int V19 tmp10
N003 ( 17, 10) [000094] --CXG------- \--* CALL int System.ReadOnlySpan`1[Byte][System.Byte].get_Length
N002 ( 3, 3) [000093] ------------ this in rcx \--* LCL_VAR_ADDR byref V03 loc2
***** BB09
STMT00028 (IL 0x053... ???)
N005 ( 14, 8) [000105] -A------R--- * ASG int
N004 ( 3, 2) [000104] D------N---- +--* LCL_VAR int V05 loc4
N003 ( 10, 5) [000101] N--------U-- \--* GE int
N001 ( 3, 2) [000097] ------------ +--* LCL_VAR int V18 tmp9
N002 ( 3, 2) [000100] ------------ \--* LCL_VAR int V19 tmp10
***** BB09
STMT00029 (IL 0x05A...0x05C)
N004 ( 7, 6) [000109] ------------ * JTRUE void
N003 ( 5, 4) [000108] J------N---- \--* EQ int
N001 ( 3, 2) [000106] ------------ +--* LCL_VAR int V05 loc4
N002 ( 1, 1) [000107] ------------ \--* CNS_INT int 0
------------ BB10 [05E..069) -> BB15 (always), preds={BB09} succs={BB15}
***** BB10
STMT00035 (IL 0x05E...0x05E)
N001 ( 1, 1) [000130] ------------ * NO_OP void
***** BB10
STMT00036 (IL 0x05F...0x065)
N005 ( 21, 11) [000134] -ACXG---R--- * ASG int
N004 ( 3, 2) [000133] D------N---- +--* LCL_VAR int V21 tmp12
N003 ( 17, 8) [000132] --CXG------- \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].<ReadByte>g__ReadByteSlow|18_0
N002 ( 3, 2) [000131] ------------ arg0 in rcx \--* LCL_VAR byref V00 this
***** BB10
STMT00037 (IL 0x065... ???)
N004 ( 8, 7) [000137] -A------R--- * ASG int
N003 ( 3, 2) [000136] D------N---- +--* LCL_VAR int V06 loc5
N002 ( 4, 4) [000198] ------------ \--* CAST int <- ubyte <- int
N001 ( 3, 2) [000135] ------------ \--* LCL_VAR int V21 tmp12
***** BB10
STMT00038 (IL 0x067...0x067)
N001 ( 0, 0) [000138] ------------ * NOP void
------------ BB11 [069..081) -> BB15 (always), preds={BB09} succs={BB15}
***** BB11
STMT00030 (IL 0x069...0x072)
N007 ( 24, 16) [000115] -ACXG---R--- * ASG byref
N006 ( 3, 2) [000114] D------N---- +--* LCL_VAR byref V20 tmp11
N005 ( 20, 13) [000113] --CXG------- \--* CALL byref System.ReadOnlySpan`1[Byte][System.Byte].get_Item
N003 ( 3, 3) [000111] ------------ this in rcx +--* LCL_VAR_ADDR byref V03 loc2
N004 ( 3, 2) [000112] ------------ arg1 in rdx \--* LCL_VAR int V02 loc1
***** BB11
STMT00031 (IL 0x071... ???)
N004 ( 11, 8) [000119] -A-XG---R--- * ASG int
N003 ( 3, 2) [000118] D------N---- +--* LCL_VAR int V04 loc3
N002 ( 7, 5) [000117] *--XG------- \--* IND ubyte
N001 ( 3, 2) [000116] ------------ \--* LCL_VAR byref V20 tmp11
***** BB11
STMT00032 (IL 0x073...0x077)
N008 ( 12, 10) [000125] -A-XG---R--- * ASG int
N007 ( 6, 5) [000124] *--XG--N---- +--* IND int
N006 ( 4, 3) [000202] -------N---- | \--* ADD byref
N004 ( 3, 2) [000120] ------------ | +--* LCL_VAR byref V00 this
N005 ( 1, 1) [000201] ------------ | \--* CNS_INT long 24 field offset Fseq[_bufferPos]
N003 ( 5, 4) [000123] ------------ \--* ADD int
N001 ( 3, 2) [000121] ------------ +--* LCL_VAR int V02 loc1
N002 ( 1, 1) [000122] ------------ \--* CNS_INT int 1
***** BB11
STMT00033 (IL 0x07C...0x07D)
N003 ( 7, 5) [000128] -A------R--- * ASG int
N002 ( 3, 2) [000127] D------N---- +--* LCL_VAR int V06 loc5
N001 ( 3, 2) [000126] ------------ \--* LCL_VAR int V04 loc3
***** BB11
STMT00034 (IL 0x07F...0x07F)
N001 ( 0, 0) [000129] ------------ * NOP void
------------ BB12 [081..09E) -> BB14 (cond), preds={BB08} succs={BB13,BB14}
***** BB12
STMT00011 (IL 0x081...0x091)
N018 ( 55, 49) [000052] -ACXG---R--- * ASG ref
N017 ( 3, 2) [000051] D------N---- +--* LCL_VAR ref V07 loc6
N016 ( 51, 46) [000050] --CXG------- \--* CALL help ref HELPER.CORINFO_HELP_ISINSTANCEOFCLASS
N013 ( 29, 27) [000214] -ACXG---R-L- arg1 SETUP +--* ASG ref
N012 ( 3, 2) [000213] D------N---- | +--* LCL_VAR ref V27 tmp18
N011 ( 25, 24) [000048] --CXG------- | \--* CALL help ref HELPER.CORINFO_HELP_BOX
N009 ( 9, 7) [000209] ---XG--N---- arg1 in rdx | +--* COMMA byref
N005 ( 4, 3) [000205] ---X---N---- | | +--* NULLCHECK byte
N004 ( 3, 2) [000204] ------------ | | | \--* LCL_VAR byref V00 this
N008 ( 5, 4) [000208] ------------ | | \--* ADD byref
N006 ( 3, 2) [000206] ------------ | | +--* LCL_VAR byref V00 this
N007 ( 1, 1) [000207] ------------ | | \--* CNS_INT long 64 field offset Fseq[_input]
N010 ( 2, 10) [000046] H----------- arg0 in rcx | \--* CNS_INT(h) long 0x7ff93af7cd80 class
N014 ( 3, 2) [000215] ------------ arg1 in rdx +--* LCL_VAR ref V27 tmp18
N015 ( 2, 10) [000049] H------N---- arg0 in rcx \--* CNS_INT(h) long 0x7ff93b569758 class
***** BB12
STMT00012 (IL 0x093...0x098)
N005 ( 12, 7) [000057] -A------R--- * ASG int
N004 ( 3, 2) [000056] D------N---- +--* LCL_VAR int V08 loc7
N003 ( 8, 4) [000055] N----------- \--* NE int
N001 ( 3, 2) [000053] ------------ +--* LCL_VAR ref V07 loc6
N002 ( 1, 1) [000054] ------------ \--* CNS_INT ref null
***** BB12
STMT00013 (IL 0x09A...0x09C)
N004 ( 7, 6) [000061] ------------ * JTRUE void
N003 ( 5, 4) [000060] J------N---- \--* EQ int
N001 ( 3, 2) [000058] ------------ +--* LCL_VAR int V08 loc7
N002 ( 1, 1) [000059] ------------ \--* CNS_INT int 0
------------ BB13 [09E..0AA) -> BB15 (always), preds={BB12} succs={BB15}
***** BB13
STMT00019 (IL 0x09E...0x09E)
N001 ( 1, 1) [000072] ------------ * NO_OP void
***** BB13
STMT00020 (IL 0x09F...0x0A6)
N005 ( 27, 14) [000076] -ACXG---R--- * ASG int
N004 ( 3, 2) [000075] D------N---- +--* LCL_VAR int V17 tmp8
N003 ( 23, 11) [000074] --CXG------- \--* CALLV ind int Hagar.Buffers.ReaderInput.ReadByte
N002 ( 3, 2) [000073] ------------ this in rcx \--* LCL_VAR ref V07 loc6
***** BB13
STMT00021 (IL 0x0A6... ???)
N004 ( 8, 7) [000079] -A------R--- * ASG int
N003 ( 3, 2) [000078] D------N---- +--* LCL_VAR int V06 loc5
N002 ( 4, 4) [000218] ------------ \--* CAST int <- ubyte <- int
N001 ( 3, 2) [000077] ------------ \--* LCL_VAR int V17 tmp8
***** BB13
STMT00022 (IL 0x0A8...0x0A8)
N001 ( 0, 0) [000080] ------------ * NOP void
------------ BB14 [0AA..0B4) -> BB15 (always), preds={BB12} succs={BB15}
***** BB14
STMT00014 (IL 0x0AA...0x0AA)
N001 ( 1, 1) [000062] ------------ * NO_OP void
***** BB14
STMT00015 (IL 0x0AB...0x0B0)
N003 ( 18, 8) [000065] -ACXG---R--- * ASG int
N002 ( 3, 2) [000064] D------N---- +--* LCL_VAR int V16 tmp7
N001 ( 14, 5) [000063] --CXG------- \--* CALL int Hagar.Buffers.Reader`1[ReadOnlySequence`1][System.Buffers.ReadOnlySequence`1[System.Byte]].ThrowNotSupportedInput
***** BB14
STMT00016 (IL 0x0B0... ???)
N004 ( 8, 7) [000068] -A------R--- * ASG int
N003 ( 3, 2) [000067] D------N---- +--* LCL_VAR int V06 loc5
N002 ( 4, 4) [000219] ------------ \--* CAST int <- ubyte <- int