Skip to content

Instantly share code, notes, and snippets.

@trylek
Created March 21, 2020 12:49
Show Gist options
  • Save trylek/8135c90c3a3860a16fb0aa8f228f0385 to your computer and use it in GitHub Desktop.
Save trylek/8135c90c3a3860a16fb0aa8f228f0385 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
****** START compiling <ReadContentAsBinaryAsync>d__588:MoveNext():this (MethodHash=7cca7a27)
Generating code for Windows x64
OPTIONS: compCodeOpt = BLENDED_CODE
OPTIONS: compDbgCode = false
OPTIONS: compDbgInfo = true
OPTIONS: compDbgEnC = false
OPTIONS: compProcedureSplitting = false
OPTIONS: compProcedureSplittingEH = false
OPTIONS: Jit invoked for ngen
IL to import:
IL_0000 02 ldarg.0
IL_0001 7b c3 09 00 04 ldfld 0x40009C3
IL_0006 0a stloc.0
IL_0007 02 ldarg.0
IL_0008 7b c5 09 00 04 ldfld 0x40009C5
IL_000d 0b stloc.1
IL_000e 06 ldloc.0
IL_000f 39 67 01 00 00 brfalse 359 (IL_017b)
IL_0014 06 ldloc.0
IL_0015 17 ldc.i4.1
IL_0016 3b 1c 03 00 00 beq 796 (IL_0337)
IL_001b 07 ldloc.1
IL_001c 7b 3d 07 00 04 ldfld 0x400073D
IL_0021 1f 0e ldc.i4.s 0xE
IL_0023 33 07 bne.un.s 7 (IL_002c)
IL_0025 16 ldc.i4.0
IL_0026 0c stloc.2
IL_0027 dd a2 03 00 00 leave 930 (IL_03ce)
IL_002c 07 ldloc.1
IL_002d 7b 3c 07 00 04 ldfld 0x400073C
IL_0032 02 ldarg.0
IL_0033 7b c6 09 00 04 ldfld 0x40009C6
IL_0038 02 ldarg.0
IL_0039 7b c7 09 00 04 ldfld 0x40009C7
IL_003e 02 ldarg.0
IL_003f 7b c8 09 00 04 ldfld 0x40009C8
IL_0044 6f ed 0c 00 06 callvirt 0x6000CED
IL_0049 02 ldarg.0
IL_004a 16 ldc.i4.0
IL_004b 7d c9 09 00 04 stfld 0x40009C9
IL_0050 02 ldarg.0
IL_0051 07 ldloc.1
IL_0052 7b 16 07 00 04 ldfld 0x4000716
IL_0057 07 ldloc.1
IL_0058 7b 3c 07 00 04 ldfld 0x400073C
IL_005d 07 ldloc.1
IL_005e 7b 54 07 00 04 ldfld 0x4000754
IL_0063 6f 4e 13 00 06 callvirt 0x600134E
IL_0068 7d c9 09 00 04 stfld 0x40009C9
IL_006d de 42 leave.s 66 (IL_00b1)
IL_006f 0d stloc.3
IL_0070 07 ldloc.1
IL_0071 7b 16 07 00 04 ldfld 0x4000716
IL_0076 07 ldloc.1
IL_0077 7b 54 07 00 04 ldfld 0x4000754
IL_007c 07 ldloc.1
IL_007d 7c 11 07 00 04 ldflda 0x4000711
IL_0082 7b d1 07 00 04 ldfld 0x40007D1
IL_0087 07 ldloc.1
IL_0088 7c 3e 07 00 04 ldflda 0x400073E
IL_008d 6f 4f 13 00 06 callvirt 0x600134F
IL_0092 07 ldloc.1
IL_0093 09 ldloc.3
IL_0094 07 ldloc.1
IL_0095 7c 3e 07 00 04 ldflda 0x400073E
IL_009a 7b 95 04 00 04 ldfld 0x4000495
IL_009f 07 ldloc.1
IL_00a0 7c 3e 07 00 04 ldflda 0x400073E
IL_00a5 7b 96 04 00 04 ldfld 0x4000496
IL_00aa 28 e3 11 00 06 call 0x60011E3
IL_00af de 00 leave.s 0 (IL_00b1)
IL_00b1 07 ldloc.1
IL_00b2 07 ldloc.1
IL_00b3 7b 54 07 00 04 ldfld 0x4000754
IL_00b8 02 ldarg.0
IL_00b9 7b c9 09 00 04 ldfld 0x40009C9
IL_00be 58 add
IL_00bf 7d 54 07 00 04 stfld 0x4000754
IL_00c4 07 ldloc.1
IL_00c5 7b 3c 07 00 04 ldfld 0x400073C
IL_00ca 6f ec 0c 00 06 callvirt 0x6000CEC
IL_00cf 2c 11 brfalse.s 17 (IL_00e2)
IL_00d1 07 ldloc.1
IL_00d2 7b 3c 07 00 04 ldfld 0x400073C
IL_00d7 6f eb 0c 00 06 callvirt 0x6000CEB
IL_00dc 0c stloc.2
IL_00dd dd ec 02 00 00 leave 748 (IL_03ce)
IL_00e2 07 ldloc.1
IL_00e3 7b 3d 07 00 04 ldfld 0x400073D
IL_00e8 1f 0d ldc.i4.s 0xD
IL_00ea 40 df 01 00 00 bne.un 479 (IL_02ce)
IL_00ef 07 ldloc.1
IL_00f0 7b 16 07 00 04 ldfld 0x4000716
IL_00f5 7e 02 00 00 0a ldsfld 0xA000002
IL_00fa 6f 49 13 00 06 callvirt 0x6001349
IL_00ff 16 ldc.i4.0
IL_0100 13 04 stloc.s 0x4
IL_0102 16 ldc.i4.0
IL_0103 13 05 stloc.s 0x5
IL_0105 16 ldc.i4.0
IL_0106 13 06 stloc.s 0x6
IL_0108 38 0e 01 00 00 br 270 (IL_021b)
IL_010d 16 ldc.i4.0
IL_010e 13 07 stloc.s 0x7
IL_0110 07 ldloc.1
IL_0111 7c 3e 07 00 04 ldflda 0x400073E
IL_0116 07 ldloc.1
IL_0117 7c 11 07 00 04 ldflda 0x4000711
IL_011c 28 01 13 00 06 call 0x6001301
IL_0121 07 ldloc.1
IL_0122 7c 11 07 00 04 ldflda 0x4000711
IL_0127 28 02 13 00 06 call 0x6001302
IL_012c 28 29 0b 00 06 call 0x6000B29
IL_0131 07 ldloc.1
IL_0132 11 07 ldloc.s 0x7
IL_0134 28 cd 12 00 06 call 0x60012CD
IL_0139 13 0b stloc.s 0xB
IL_013b 12 0b ldloca.s 0xB
IL_013d 16 ldc.i4.0
IL_013e 28 8a 02 00 0a call 0xA00028A
IL_0143 13 0c stloc.s 0xC
IL_0145 12 0c ldloca.s 0xC
IL_0147 28 8b 02 00 0a call 0xA00028B
IL_014c 13 0a stloc.s 0xA
IL_014e 12 0a ldloca.s 0xA
IL_0150 28 8c 02 00 0a call 0xA00028C
IL_0155 2d 41 brtrue.s 65 (IL_0198)
IL_0157 02 ldarg.0
IL_0158 16 ldc.i4.0
IL_0159 25 dup
IL_015a 0a stloc.0
IL_015b 7d c3 09 00 04 stfld 0x40009C3
IL_0160 02 ldarg.0
IL_0161 11 0a ldloc.s 0xA
IL_0163 7d cb 09 00 04 stfld 0x40009CB
IL_0168 02 ldarg.0
IL_0169 7c c4 09 00 04 ldflda 0x40009C4
IL_016e 12 0a ldloca.s 0xA
IL_0170 02 ldarg.0
IL_0171 28 c6 01 00 2b call 0x2B0001C6
IL_0176 dd 67 02 00 00 leave 615 (IL_03e2)
IL_017b 02 ldarg.0
IL_017c 7b cb 09 00 04 ldfld 0x40009CB
IL_0181 13 0a stloc.s 0xA
IL_0183 02 ldarg.0
IL_0184 7c cb 09 00 04 ldflda 0x40009CB
IL_0189 fe 15 6b 00 00 1b initobj 0x1B00006B
IL_018f 02 ldarg.0
IL_0190 15 ldc.i4.m1
IL_0191 25 dup
IL_0192 0a stloc.0
IL_0193 7d c3 09 00 04 stfld 0x40009C3
IL_0198 12 0a ldloca.s 0xA
IL_019a 28 8d 02 00 0a call 0xA00028D
IL_019f 13 09 stloc.s 0x9
IL_01a1 11 09 ldloc.s 0x9
IL_01a3 13 08 stloc.s 0x8
IL_01a5 11 08 ldloc.s 0x8
IL_01a7 7b 6b 02 00 0a ldfld 0xA00026B
IL_01ac 13 05 stloc.s 0x5
IL_01ae 11 08 ldloc.s 0x8
IL_01b0 7b 6c 02 00 0a ldfld 0xA00026C
IL_01b5 13 06 stloc.s 0x6
IL_01b7 11 08 ldloc.s 0x8
IL_01b9 7b 6d 02 00 0a ldfld 0xA00026D
IL_01be 13 07 stloc.s 0x7
IL_01c0 11 08 ldloc.s 0x8
IL_01c2 7b 6e 02 00 0a ldfld 0xA00026E
IL_01c7 13 04 stloc.s 0x4
IL_01c9 02 ldarg.0
IL_01ca 07 ldloc.1
IL_01cb 7b 3c 07 00 04 ldfld 0x400073C
IL_01d0 07 ldloc.1
IL_01d1 7c 11 07 00 04 ldflda 0x4000711
IL_01d6 7b be 07 00 04 ldfld 0x40007BE
IL_01db 11 05 ldloc.s 0x5
IL_01dd 11 06 ldloc.s 0x6
IL_01df 11 05 ldloc.s 0x5
IL_01e1 59 sub
IL_01e2 6f ee 0c 00 06 callvirt 0x6000CEE
IL_01e7 7d c9 09 00 04 stfld 0x40009C9
IL_01ec de 22 leave.s 34 (IL_0210)
IL_01ee 13 0d stloc.s 0xD
IL_01f0 07 ldloc.1
IL_01f1 11 0d ldloc.s 0xD
IL_01f3 07 ldloc.1
IL_01f4 7c 3e 07 00 04 ldflda 0x400073E
IL_01f9 7b 95 04 00 04 ldfld 0x4000495
IL_01fe 07 ldloc.1
IL_01ff 7c 3e 07 00 04 ldflda 0x400073E
IL_0204 7b 96 04 00 04 ldfld 0x4000496
IL_0209 28 e3 11 00 06 call 0x60011E3
IL_020e de 00 leave.s 0 (IL_0210)
IL_0210 11 05 ldloc.s 0x5
IL_0212 02 ldarg.0
IL_0213 7b c9 09 00 04 ldfld 0x40009C9
IL_0218 58 add
IL_0219 13 05 stloc.s 0x5
IL_021b 07 ldloc.1
IL_021c 7b 3c 07 00 04 ldfld 0x400073C
IL_0221 6f ec 0c 00 06 callvirt 0x6000CEC
IL_0226 2d 07 brtrue.s 7 (IL_022f)
IL_0228 11 04 ldloc.s 0x4
IL_022a 39 de fe ff ff brfalse -290 (IL_010d)
IL_022f 07 ldloc.1
IL_0230 11 04 ldloc.s 0x4
IL_0232 2d 04 brtrue.s 4 (IL_0238)
IL_0234 1f 0d ldc.i4.s 0xD
IL_0236 2b 02 br.s 2 (IL_023a)
IL_0238 1f 0c ldc.i4.s 0xC
IL_023a 7d 3d 07 00 04 stfld 0x400073D
IL_023f 07 ldloc.1
IL_0240 16 ldc.i4.0
IL_0241 7d 54 07 00 04 stfld 0x4000754
IL_0246 07 ldloc.1
IL_0247 7b 3c 07 00 04 ldfld 0x400073C
IL_024c 6f ec 0c 00 06 callvirt 0x6000CEC
IL_0251 2c 7b brfalse.s 123 (IL_02ce)
IL_0253 07 ldloc.1
IL_0254 7b 16 07 00 04 ldfld 0x4000716
IL_0259 07 ldloc.1
IL_025a 7c 11 07 00 04 ldflda 0x4000711
IL_025f 7b be 07 00 04 ldfld 0x40007BE
IL_0264 11 05 ldloc.s 0x5
IL_0266 11 06 ldloc.s 0x6
IL_0268 11 05 ldloc.s 0x5
IL_026a 59 sub
IL_026b 6f 4a 13 00 06 callvirt 0x600134A
IL_0270 07 ldloc.1
IL_0271 7c 11 07 00 04 ldflda 0x4000711
IL_0276 7b be 07 00 04 ldfld 0x40007BE
IL_027b 11 05 ldloc.s 0x5
IL_027d 02 ldarg.0
IL_027e 7b c9 09 00 04 ldfld 0x40009C9
IL_0283 59 sub
IL_0284 11 05 ldloc.s 0x5
IL_0286 07 ldloc.1
IL_0287 7c 11 07 00 04 ldflda 0x4000711
IL_028c 7b d1 07 00 04 ldfld 0x40007D1
IL_0291 07 ldloc.1
IL_0292 7c 3e 07 00 04 ldflda 0x400073E
IL_0297 28 87 12 00 06 call 0x6001287
IL_029c 07 ldloc.1
IL_029d 7b 16 07 00 04 ldfld 0x4000716
IL_02a2 07 ldloc.1
IL_02a3 7c 3e 07 00 04 ldflda 0x400073E
IL_02a8 7b 95 04 00 04 ldfld 0x4000495
IL_02ad 07 ldloc.1
IL_02ae 7c 3e 07 00 04 ldflda 0x400073E
IL_02b3 7b 96 04 00 04 ldfld 0x4000496
IL_02b8 6f 43 13 00 06 callvirt 0x6001343
IL_02bd 07 ldloc.1
IL_02be 7b 3c 07 00 04 ldfld 0x400073C
IL_02c3 6f eb 0c 00 06 callvirt 0x6000CEB
IL_02c8 0c stloc.2
IL_02c9 dd 00 01 00 00 leave 256 (IL_03ce)
IL_02ce 02 ldarg.0
IL_02cf 07 ldloc.1
IL_02d0 7b 12 07 00 04 ldfld 0x4000712
IL_02d5 7d ca 09 00 04 stfld 0x40009CA
IL_02da 07 ldloc.1
IL_02db 07 ldloc.1
IL_02dc 7b 13 07 00 04 ldfld 0x4000713
IL_02e1 7d 12 07 00 04 stfld 0x4000712
IL_02e6 07 ldloc.1
IL_02e7 07 ldloc.1
IL_02e8 7b 14 07 00 04 ldfld 0x4000714
IL_02ed 7d 13 07 00 04 stfld 0x4000713
IL_02f2 07 ldloc.1
IL_02f3 17 ldc.i4.1
IL_02f4 28 fa 12 00 06 call 0x60012FA
IL_02f9 16 ldc.i4.0
IL_02fa 6f 30 01 00 0a callvirt 0xA000130
IL_02ff 13 10 stloc.s 0x10
IL_0301 12 10 ldloca.s 0x10
IL_0303 28 31 01 00 0a call 0xA000131
IL_0308 13 0f stloc.s 0xF
IL_030a 12 0f ldloca.s 0xF
IL_030c 28 32 01 00 0a call 0xA000132
IL_0311 2d 41 brtrue.s 65 (IL_0354)
IL_0313 02 ldarg.0
IL_0314 17 ldc.i4.1
IL_0315 25 dup
IL_0316 0a stloc.0
IL_0317 7d c3 09 00 04 stfld 0x40009C3
IL_031c 02 ldarg.0
IL_031d 11 0f ldloc.s 0xF
IL_031f 7d cc 09 00 04 stfld 0x40009CC
IL_0324 02 ldarg.0
IL_0325 7c c4 09 00 04 ldflda 0x40009C4
IL_032a 12 0f ldloca.s 0xF
IL_032c 02 ldarg.0
IL_032d 28 c7 01 00 2b call 0x2B0001C7
IL_0332 dd ab 00 00 00 leave 171 (IL_03e2)
IL_0337 02 ldarg.0
IL_0338 7b cc 09 00 04 ldfld 0x40009CC
IL_033d 13 0f stloc.s 0xF
IL_033f 02 ldarg.0
IL_0340 7c cc 09 00 04 ldflda 0x40009CC
IL_0345 fe 15 32 00 00 1b initobj 0x1B000032
IL_034b 02 ldarg.0
IL_034c 15 ldc.i4.m1
IL_034d 25 dup
IL_034e 0a stloc.0
IL_034f 7d c3 09 00 04 stfld 0x40009C3
IL_0354 12 0f ldloca.s 0xF
IL_0356 28 34 01 00 0a call 0xA000134
IL_035b 13 0e stloc.s 0xE
IL_035d 11 0e ldloc.s 0xE
IL_035f 2d 22 brtrue.s 34 (IL_0383)
IL_0361 07 ldloc.1
IL_0362 02 ldarg.0
IL_0363 7b ca 09 00 04 ldfld 0x40009CA
IL_0368 28 6b 12 00 06 call 0x600126B
IL_036d 07 ldloc.1
IL_036e 1f 0e ldc.i4.s 0xE
IL_0370 7d 3d 07 00 04 stfld 0x400073D
IL_0375 07 ldloc.1
IL_0376 7b 3c 07 00 04 ldfld 0x400073C
IL_037b 6f eb 0c 00 06 callvirt 0x6000CEB
IL_0380 0c stloc.2
IL_0381 de 4b leave.s 75 (IL_03ce)
IL_0383 07 ldloc.1
IL_0384 02 ldarg.0
IL_0385 7b ca 09 00 04 ldfld 0x40009CA
IL_038a 28 6b 12 00 06 call 0x600126B
IL_038f 07 ldloc.1
IL_0390 7c 3e 07 00 04 ldflda 0x400073E
IL_0395 07 ldloc.1
IL_0396 7b 16 07 00 04 ldfld 0x4000716
IL_039b 6f 38 13 00 06 callvirt 0x6001338
IL_03a0 07 ldloc.1
IL_03a1 7b 16 07 00 04 ldfld 0x4000716
IL_03a6 6f 39 13 00 06 callvirt 0x6001339
IL_03ab 28 29 0b 00 06 call 0x6000B29
IL_03b0 38 94 fc ff ff br -876 (IL_0049)
IL_03b5 13 11 stloc.s 0x11
IL_03b7 02 ldarg.0
IL_03b8 1f fe ldc.i4.s 0xFFFFFFFE
IL_03ba 7d c3 09 00 04 stfld 0x40009C3
IL_03bf 02 ldarg.0
IL_03c0 7c c4 09 00 04 ldflda 0x40009C4
IL_03c5 11 11 ldloc.s 0x11
IL_03c7 28 1a 02 00 0a call 0xA00021A
IL_03cc de 14 leave.s 20 (IL_03e2)
IL_03ce 02 ldarg.0
IL_03cf 1f fe ldc.i4.s 0xFFFFFFFE
IL_03d1 7d c3 09 00 04 stfld 0x40009C3
IL_03d6 02 ldarg.0
IL_03d7 7c c4 09 00 04 ldflda 0x40009C4
IL_03dc 08 ldloc.2
IL_03dd 28 1b 02 00 0a call 0xA00021B
IL_03e2 2a ret
'this' passed in register rcx
lvaSetClass: setting class for V02 to (0000000000421768) [S.P.Xml]System.Xml.XmlTextReaderImpl
lvaSetClass: setting class for V04 to (00000000004214D0) [S.P.Xml]System.Xml.XmlException
lvaSetClass: setting class for V14 to (00000000004214D0) [S.P.Xml]System.Xml.XmlException
lvaSetClass: setting class for V18 to (00000000004231C0) [S.P.CoreLib]System.Exception
lvaGrabTemp returning 19 (V19 tmp0) (a long lifetime temp) called for OutgoingArgSpace.
; Initial local variable assignments
;
; V00 this byref this
; V01 loc0 int
; V02 loc1 ref class-hnd
; V03 loc2 int
; V04 loc3 ref class-hnd
; V05 loc4 bool
; V06 loc5 int
; V07 loc6 int
; V08 loc7 int
; V09 loc8 struct (16)
; V10 loc9 struct (16)
; V11 loc10 struct (32)
; V12 loc11 struct (32)
; V13 loc12 struct (32)
; V14 loc13 ref class-hnd
; V15 loc14 bool
; V16 loc15 struct (16)
; V17 loc16 struct (16)
; V18 loc17 ref class-hnd
; V19 OutArgs lclBlk (na) "OutgoingArgSpace"
*************** In compInitDebuggingInfo() for <ReadContentAsBinaryAsync>d__588:MoveNext():this
getVars() returned cVars = 0, extendOthers = true
info.compVarScopesCount = 19
VarNum LVNum Name Beg End
0: 00h 00h V00 this 000h 3E3h
1: 01h 01h V01 loc0 000h 3E3h
2: 02h 02h V02 loc1 000h 3E3h
3: 03h 03h V03 loc2 000h 3E3h
4: 04h 04h V04 loc3 000h 3E3h
5: 05h 05h V05 loc4 000h 3E3h
6: 06h 06h V06 loc5 000h 3E3h
7: 07h 07h V07 loc6 000h 3E3h
8: 08h 08h V08 loc7 000h 3E3h
9: 09h 09h V09 loc8 000h 3E3h
10: 0Ah 0Ah V10 loc9 000h 3E3h
11: 0Bh 0Bh V11 loc10 000h 3E3h
12: 0Ch 0Ch V12 loc11 000h 3E3h
13: 0Dh 0Dh V13 loc12 000h 3E3h
14: 0Eh 0Eh V14 loc13 000h 3E3h
15: 0Fh 0Fh V15 loc14 000h 3E3h
16: 10h 10h V16 loc15 000h 3E3h
17: 11h 11h V17 loc16 000h 3E3h
18: 12h 12h V18 loc17 000h 3E3h
info.compStmtOffsetsCount = 0
info.compStmtOffsetsImplicit = 0007h ( STACK_EMPTY NOP CALL_SITE )
*************** In fgFindBasicBlocks() for <ReadContentAsBinaryAsync>d__588:MoveNext():this
Marked V02 as a single def local
Marked V04 as a single def local
Marked V09 as a single def local
Marked V10 as a single def local
Marked V14 as a single def local
Marked V15 as a single def local
Marked V18 as a single def local
Jump targets:
IL_000e
IL_002c
IL_0049
IL_0050
IL_006f
IL_00b1
IL_00e2
IL_010d
IL_017b
IL_0198
IL_01c9
IL_01ee
IL_0210
IL_021b
IL_022f
IL_0238
IL_023a
IL_02ce
IL_0337
IL_0354
IL_0383
IL_03b5
IL_03ce
IL_03e2
New Basic Block BB01 [0000] created.
BB01 [000..00E)
New Basic Block BB02 [0001] created.
BB02 [00E..014)
New Basic Block BB03 [0002] created.
BB03 [014..01B)
New Basic Block BB04 [0003] created.
BB04 [01B..025)
New Basic Block BB05 [0004] created.
BB05 [025..02C)
New Basic Block BB06 [0005] created.
BB06 [02C..049)
New Basic Block BB07 [0006] created.
BB07 [049..050)
New Basic Block BB08 [0007] created.
BB08 [050..06F)
New Basic Block BB09 [0008] created.
BB09 [06F..0B1)
New Basic Block BB10 [0009] created.
BB10 [0B1..0D1)
New Basic Block BB11 [0010] created.
BB11 [0D1..0E2)
New Basic Block BB12 [0011] created.
BB12 [0E2..0EF)
New Basic Block BB13 [0012] created.
BB13 [0EF..10D)
New Basic Block BB14 [0013] created.
BB14 [10D..157)
New Basic Block BB15 [0014] created.
BB15 [157..17B)
New Basic Block BB16 [0015] created.
BB16 [17B..198)
New Basic Block BB17 [0016] created.
BB17 [198..1C9)
New Basic Block BB18 [0017] created.
BB18 [1C9..1EE)
New Basic Block BB19 [0018] created.
BB19 [1EE..210)
New Basic Block BB20 [0019] created.
BB20 [210..21B)
New Basic Block BB21 [0020] created.
BB21 [21B..228)
New Basic Block BB22 [0021] created.
BB22 [228..22F)
New Basic Block BB23 [0022] created.
BB23 [22F..234)
New Basic Block BB24 [0023] created.
BB24 [234..238)
New Basic Block BB25 [0024] created.
BB25 [238..23A)
New Basic Block BB26 [0025] created.
BB26 [23A..253)
New Basic Block BB27 [0026] created.
BB27 [253..2CE)
New Basic Block BB28 [0027] created.
BB28 [2CE..313)
New Basic Block BB29 [0028] created.
BB29 [313..337)
New Basic Block BB30 [0029] created.
BB30 [337..354)
New Basic Block BB31 [0030] created.
BB31 [354..361)
New Basic Block BB32 [0031] created.
BB32 [361..383)
New Basic Block BB33 [0032] created.
BB33 [383..3B5)
New Basic Block BB34 [0033] created.
BB34 [3B5..3CE)
New Basic Block BB35 [0034] created.
BB35 [3CE..3E2)
New Basic Block BB36 [0035] created.
BB36 [3E2..3E3)
EH clause #0:
Flags: 0x0 (catch)
TryOffset: 0x50
TryLength: 0x1f
HandlerOffset: 0x6f
HandlerLength: 0x42
ClassToken: 0x20000f9
EH clause #1:
Flags: 0x0 (catch)
TryOffset: 0x1c9
TryLength: 0x25
HandlerOffset: 0x1ee
HandlerLength: 0x22
ClassToken: 0x20000f9
EH clause #2:
Flags: 0x0 (catch)
TryOffset: 0xe
TryLength: 0x3a7
HandlerOffset: 0x3b5
HandlerLength: 0x19
ClassToken: 0x1000020
*************** After fgFindBasicBlocks() has created the EH table
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
*************** In fgNormalizeEH()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E)
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 1 [02C..049) T2
BB07 [0006] 2 2 1 [049..050) T2 bwd
BB08 [0007] 1 0 1 [050..06F)-> BB10 (leave ) T0 try { } keep try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 (leave ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (leave ) T2 bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 1 [17B..198) T2 bwd
BB17 [0016] 2 2 1 [198..1C9) T2 bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (leave ) T1 try { } keep try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 1 [238..23A) T2 bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 1 [337..354) T2 bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 bwd
BB32 [0031] 1 2 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 1 [383..3B5)-> BB07 (always) T2 } bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 1 [3CE..3E2)
BB36 [0035] 4 1 [3E2..3E3) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
No EH normalization performed.
INLINER: during 'prejit' result 'failed this callee' reason 'has exception handling' for 'n/a' calling '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
INLINER: Marking <ReadContentAsBinaryAsync>d__588:MoveNext():this as NOINLINE because of has exception handling
INLINER: during 'prejit' result 'failed this callee' reason 'has exception handling'
IL Code Size,Instr 995, 343, Basic Block count 36, Local Variable Num,Ref count 20,152 for method <ReadContentAsBinaryAsync>d__588:MoveNext():this
OPTIONS: opts.MinOpts() == false
Basic block list for '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E)
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 1 [02C..049) T2
BB07 [0006] 2 2 1 [049..050) T2 bwd
BB08 [0007] 1 0 1 [050..06F)-> BB10 (leave ) T0 try { } keep try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 (leave ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (leave ) T2 bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 1 [17B..198) T2 bwd
BB17 [0016] 2 2 1 [198..1C9) T2 bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (leave ) T1 try { } keep try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 1 [238..23A) T2 bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 1 [337..354) T2 bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 bwd
BB32 [0031] 1 2 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 1 [383..3B5)-> BB07 (always) T2 } bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 1 [3CE..3E2)
BB36 [0035] 4 1 [3E2..3E3) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Starting PHASE Pre-import
*************** Finishing PHASE Pre-import
*************** Starting PHASE Importation
*************** In impImport() for <ReadContentAsBinaryAsync>d__588:MoveNext():this
impImportBlockPending for BB01
Importing BB01 (PC=000) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 0 (0x000) ldarg.0
[ 1] 1 (0x001) ldfld 040009C3
[ 1] 6 (0x006) stloc.0
STMT00000 (IL 0x000... ???)
[000003] -A-XG------- * ASG int
[000002] D------N---- +--* LCL_VAR int V01 loc0
[000001] ---XG------- \--* FIELD int <>1__state
[000000] ------------ \--* LCL_VAR byref V00 this
[ 0] 7 (0x007) ldarg.0
[ 1] 8 (0x008) ldfld 040009C5
[ 1] 13 (0x00d) stloc.1Querying runtime about current class of field <ReadContentAsBinaryAsync>d__588.<>4__this (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl)
Field's current class not available
STMT00001 (IL 0x007... ???)
[000007] -A-XG------- * ASG ref
[000006] D------N---- +--* LCL_VAR ref V02 loc1
[000005] ---XG------- \--* FIELD ref <>4__this
[000004] ------------ \--* LCL_VAR byref V00 this
impImportBlockPending for BB02
impImportBlockPending for BB34
Importing BB02 (PC=014) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 14 (0x00e) ldloc.0
[ 1] 15 (0x00f) brfalse
STMT00002 (IL 0x00E... ???)
[000013] ------------ * JTRUE void
[000012] ------------ \--* EQ int
[000010] ------------ +--* LCL_VAR int V01 loc0
[000011] ------------ \--* CNS_INT int 0
impImportBlockPending for BB03
impImportBlockPending for BB16
Importing BB16 (PC=379) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 379 (0x17b) ldarg.0
[ 1] 380 (0x17c) ldfld 040009CB
[ 1] 385 (0x181) stloc.s 10
STMT00003 (IL 0x17B... ???)
[000018] -A-XG------- * ASG struct (copy)
[000016] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000015] ---XG------- \--* FIELD struct <>u__1
[000014] ------------ \--* LCL_VAR byref V00 this
[ 0] 387 (0x183) ldarg.0
[ 1] 388 (0x184) ldflda 040009CB
[ 1] 393 (0x189) initobj 1B00006B
STMT00004 (IL 0x183... ???)
[000024] IA-XG------- * ASG struct (init)
[000023] ---XG--N---- +--* BLK struct<32>
[000021] ---XG------- | \--* ADDR byref
[000020] ---XG------- | \--* FIELD struct <>u__1
[000019] ------------ | \--* LCL_VAR byref V00 this
[000022] ------------ \--* CNS_INT int 0
[ 0] 399 (0x18f) ldarg.0
[ 1] 400 (0x190) ldc.i4.m1 -1
[ 2] 401 (0x191) dup
lvaGrabTemp returning 20 (V20 tmp1) called for dup spill.
STMT00005 (IL 0x18F... ???)
[000028] -A---------- * ASG int
[000027] D------N---- +--* LCL_VAR int V20 tmp1
[000026] ------------ \--* CNS_INT int -1
[ 3] 402 (0x192) stloc.0
STMT00006 (IL ???... ???)
[000032] -A---------- * ASG int
[000031] D------N---- +--* LCL_VAR int V01 loc0
[000030] ------------ \--* LCL_VAR int V20 tmp1
[ 2] 403 (0x193) stfld 040009C3
STMT00007 (IL ???... ???)
[000034] -A-XG------- * ASG int
[000033] ---XG--N---- +--* FIELD int <>1__state
[000025] ------------ | \--* LCL_VAR byref V00 this
[000029] ------------ \--* LCL_VAR int V20 tmp1
impImportBlockPending for BB17
Importing BB17 (PC=408) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 408 (0x198) ldloca.s 10
[ 1] 410 (0x19a) call 0A00028D
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16
[ 1] 415 (0x19f) stloc.s 9
STMT00008 (IL 0x198... ???)
[000037] S-C-G------- * CALL r2r_ind void ConfiguredValueTaskAwaiter.GetResult
[000036] ------------ this in rcx +--* ADDR byref
[000035] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000039] ------------ arg1 \--* ADDR byref
[000038] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V10 loc9
[ 0] 417 (0x1a1) ldloc.s 9
[ 1] 419 (0x1a3) stloc.s 8
STMT00009 (IL 0x1A1... ???)
[000043] -A---------- * ASG struct (copy)
[000041] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
[000040] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V10 loc9
[ 0] 421 (0x1a5) ldloc.s 8
[ 1] 423 (0x1a7) ldfld 0A00026B
[ 1] 428 (0x1ac) stloc.s 5
STMT00010 (IL 0x1A5... ???)
[000048] -A---------- * ASG int
[000047] D------N---- +--* LCL_VAR int V06 loc5
[000046] ------------ \--* FIELD int Item1
[000045] ------------ \--* ADDR byref
[000044] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
[ 0] 430 (0x1ae) ldloc.s 8
[ 1] 432 (0x1b0) ldfld 0A00026C
[ 1] 437 (0x1b5) stloc.s 6
STMT00011 (IL 0x1AE... ???)
[000053] -A---------- * ASG int
[000052] D------N---- +--* LCL_VAR int V07 loc6
[000051] ------------ \--* FIELD int Item2
[000050] ------------ \--* ADDR byref
[000049] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
[ 0] 439 (0x1b7) ldloc.s 8
[ 1] 441 (0x1b9) ldfld 0A00026D
[ 1] 446 (0x1be) stloc.s 7
STMT00012 (IL 0x1B7... ???)
[000058] -A---------- * ASG int
[000057] D------N---- +--* LCL_VAR int V08 loc7
[000056] ------------ \--* FIELD int Item3
[000055] ------------ \--* ADDR byref
[000054] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
[ 0] 448 (0x1c0) ldloc.s 8
[ 1] 450 (0x1c2) ldfld 0A00026E
[ 1] 455 (0x1c7) stloc.s 4
STMT00013 (IL 0x1C0... ???)
[000063] -A---------- * ASG int
[000062] D------N---- +--* LCL_VAR int V05 loc4
[000061] ------------ \--* FIELD bool Item4
[000060] ------------ \--* ADDR byref
[000059] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
impImportBlockPending for BB18
impImportBlockPending for BB19
impImportBlockPending for BB34
Importing BB18 (PC=457) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 457 (0x1c9) ldarg.0
[ 1] 458 (0x1ca) ldloc.1
[ 2] 459 (0x1cb) ldfld 0400073C
[ 2] 464 (0x1d0) ldloc.1
[ 3] 465 (0x1d1) ldflda 04000711
[ 3] 470 (0x1d6) ldfld 040007BE
[ 3] 475 (0x1db) ldloc.s 5
[ 4] 477 (0x1dd) ldloc.s 6
[ 5] 479 (0x1df) ldloc.s 5
[ 6] 481 (0x1e1) sub
[ 5] 482 (0x1e2) callvirt 06000CEE
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is int, structSize is 0
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::Decode
devirt to System.Xml.IncrementalReadDecoder::Decode -- inexact or not final
[000078] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000069] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000068] ------------ | \--* LCL_VAR ref V02 loc1
[000073] ---XG------- arg1 +--* FIELD ref chars
[000072] ---XG------- | \--* ADDR byref
[000071] ---XG------- | \--* FIELD struct _ps
[000070] ------------ | \--* LCL_VAR ref V02 loc1
[000074] ------------ arg2 +--* LCL_VAR int V06 loc5
[000077] ------------ arg3 \--* SUB int
[000075] ------------ +--* LCL_VAR int V07 loc6
[000076] ------------ \--* LCL_VAR int V06 loc5
Class not final or exact, and method not final
NOT Marking call [000078] as guarded devirtualization candidate -- disabled by jit config
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.IncrementalReadDecoder:Decode(char[],int,int):int:this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct'
[ 2] 487 (0x1e7) stfld 040009C9
STMT00014 (IL 0x1C9... ???)
[000080] -ACXG------- * ASG int
[000079] ---XG--N---- +--* FIELD int <charsRead>5__2
[000067] ------------ | \--* LCL_VAR byref V00 this
[000078] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000069] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000068] ------------ | \--* LCL_VAR ref V02 loc1
[000073] ---XG------- arg1 +--* FIELD ref chars
[000072] ---XG------- | \--* ADDR byref
[000071] ---XG------- | \--* FIELD struct _ps
[000070] ------------ | \--* LCL_VAR ref V02 loc1
[000074] ------------ arg2 +--* LCL_VAR int V06 loc5
[000077] ------------ arg3 \--* SUB int
[000075] ------------ +--* LCL_VAR int V07 loc6
[000076] ------------ \--* LCL_VAR int V06 loc5
[ 0] 492 (0x1ec) leave.s 0210
Before import CEE_LEAVE in BB18 (targetting BB20):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 1 [02C..049) T2
BB07 [0006] 2 2 1 [049..050) T2 bwd
BB08 [0007] 1 0 1 [050..06F)-> BB10 (leave ) T0 try { } keep try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 (leave ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (leave ) T2 bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (leave ) T1 try { } keep try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 1 [238..23A) T2 bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 1 [337..354) T2 bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 bwd
BB32 [0031] 1 2 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 1 [383..3B5)-> BB07 (always) T2 } bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 1 [3CE..3E2)
BB36 [0035] 4 1 [3E2..3E3) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportLeave - no enclosing finally-protected try blocks or catch handlers; convert CEE_LEAVE block BB18 to BBJ_ALWAYS
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 1 [02C..049) T2
BB07 [0006] 2 2 1 [049..050) T2 bwd
BB08 [0007] 1 0 1 [050..06F)-> BB10 (leave ) T0 try { } keep try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 (leave ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (leave ) T2 bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (always) T1 try { } keep try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 1 [238..23A) T2 bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 1 [337..354) T2 bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 bwd
BB32 [0031] 1 2 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 1 [383..3B5)-> BB07 (always) T2 } bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 1 [3CE..3E2)
BB36 [0035] 4 1 [3E2..3E3) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportBlockPending for BB20
Importing BB20 (PC=528) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 528 (0x210) ldloc.s 5
[ 1] 530 (0x212) ldarg.0
[ 2] 531 (0x213) ldfld 040009C9
[ 2] 536 (0x218) add
[ 1] 537 (0x219) stloc.s 5
STMT00015 (IL 0x210... ???)
[000086] -A-XG------- * ASG int
[000085] D------N---- +--* LCL_VAR int V06 loc5
[000084] ---XG------- \--* ADD int
[000081] ------------ +--* LCL_VAR int V06 loc5
[000083] ---XG------- \--* FIELD int <charsRead>5__2
[000082] ------------ \--* LCL_VAR byref V00 this
impImportBlockPending for BB21
Importing BB21 (PC=539) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 539 (0x21b) ldloc.1
[ 1] 540 (0x21c) ldfld 0400073C
[ 1] 545 (0x221) callvirt 06000CEC
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is bool, structSize is 0
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_IsFull
devirt to System.Xml.IncrementalReadDecoder::get_IsFull -- inexact or not final
[000089] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000088] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000087] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
NOT Marking call [000089] as guarded devirtualization candidate -- disabled by jit config
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.IncrementalReadDecoder:get_IsFull():bool:this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct'
[ 1] 550 (0x226) brtrue.s
STMT00016 (IL 0x21B... ???)
[000093] --CXG------- * JTRUE void
[000092] --CXG------- \--* NE int
[000090] --CXG------- +--* CAST int <- bool <- int
[000089] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000088] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000087] ------------ | \--* LCL_VAR ref V02 loc1
[000091] ------------ \--* CNS_INT int 0
impImportBlockPending for BB22
impImportBlockPending for BB23
Importing BB23 (PC=559) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 559 (0x22f) ldloc.1
[ 1] 560 (0x230) ldloc.s 4
[ 2] 562 (0x232) brtrue.s
STMT00017 (IL 0x22F... ???)
[000098] ------------ * JTRUE void
[000097] ------------ \--* NE int
[000095] ------------ +--* LCL_VAR int V05 loc4
[000096] ------------ \--* CNS_INT int 0
*************** In impGetSpillTmpBase(BB23)
lvaGrabTemps(1) returning 21..21 (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 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 1 [02C..049) T2
BB07 [0006] 2 2 1 [049..050) T2 bwd
BB08 [0007] 1 0 1 [050..06F)-> BB10 (leave ) T0 try { } keep try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 (leave ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (leave ) T2 bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 1 [238..23A) T2 bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 1 [337..354) T2 bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 bwd
BB32 [0031] 1 2 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 1 [383..3B5)-> BB07 (always) T2 } bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 1 [3CE..3E2)
BB36 [0035] 4 1 [3E2..3E3) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** After fgComputeCheapPreds()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (leave ) T0 try { } keep try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 (leave ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (leave ) T2 bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2)
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
Spilling stack entries into temps
STMT00018 (IL ???... ???)
[000100] -A---------- * ASG ref
[000099] D------N---- +--* LCL_VAR ref V21 tmp2
[000094] ------------ \--* LCL_VAR ref V02 loc1
STMT00017 (IL 0x22F...0x232)
[000098] ------------ * JTRUE void
[000097] ------------ \--* NE int
[000095] ------------ +--* LCL_VAR int V05 loc4
[000096] ------------ \--* CNS_INT int 0
impImportBlockPending for BB24
impImportBlockPending for BB25
Importing BB25 (PC=568) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 1] 568 (0x238) ldc.i4.s 12
*************** In impGetSpillTmpBase(BB25)
lvaGrabTemps(2) returning 22..23 (long lifetime temps) called for IL Stack Entries
Spilling stack entries into temps
STMT00019 (IL ???... ???)
[000106] -A---------- * ASG ref
[000105] D------N---- +--* LCL_VAR ref V22 tmp3
[000103] ------------ \--* LCL_VAR ref V21 tmp2
STMT00020 (IL ???... ???)
[000109] -A---------- * ASG int
[000108] D------N---- +--* LCL_VAR int V23 tmp4
[000104] ------------ \--* CNS_INT int 12
impImportBlockPending for BB26
Importing BB26 (PC=570) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 2] 570 (0x23a) stfld 0400073D
STMT00021 (IL ???... ???)
[000114] -A-XG------- * ASG int
[000113] ---XG--N---- +--* FIELD int _incReadState
[000111] ------------ | \--* LCL_VAR ref V22 tmp3
[000112] ------------ \--* LCL_VAR int V23 tmp4
[ 0] 575 (0x23f) ldloc.1
[ 1] 576 (0x240) ldc.i4.0 0
[ 2] 577 (0x241) stfld 04000754
STMT00022 (IL 0x23F... ???)
[000118] -A-XG------- * ASG int
[000117] ---XG--N---- +--* FIELD int _readValueOffset
[000115] ------------ | \--* LCL_VAR ref V02 loc1
[000116] ------------ \--* CNS_INT int 0
[ 0] 582 (0x246) ldloc.1
[ 1] 583 (0x247) ldfld 0400073C
[ 1] 588 (0x24c) callvirt 06000CEC
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is bool, structSize is 0
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_IsFull
devirt to System.Xml.IncrementalReadDecoder::get_IsFull -- inexact or not final
[000121] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000120] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000119] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
NOT Marking call [000121] as guarded devirtualization candidate -- disabled by jit config
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.IncrementalReadDecoder:get_IsFull():bool:this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct'
[ 1] 593 (0x251) brfalse.s
STMT00023 (IL 0x246... ???)
[000125] --CXG------- * JTRUE void
[000124] --CXG------- \--* EQ int
[000122] --CXG------- +--* CAST int <- bool <- int
[000121] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000120] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000119] ------------ | \--* LCL_VAR ref V02 loc1
[000123] ------------ \--* CNS_INT int 0
impImportBlockPending for BB27
impImportBlockPending for BB28
Importing BB28 (PC=718) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 718 (0x2ce) ldarg.0
[ 1] 719 (0x2cf) ldloc.1
[ 2] 720 (0x2d0) ldfld 04000712
[ 2] 725 (0x2d5) stfld 040009CA
STMT00024 (IL 0x2CE... ???)
[000130] -A-XG------- * ASG int
[000129] ---XG--N---- +--* FIELD int <tmp>5__3
[000126] ------------ | \--* LCL_VAR byref V00 this
[000128] ---XG------- \--* FIELD int _parsingFunction
[000127] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 730 (0x2da) ldloc.1
[ 1] 731 (0x2db) ldloc.1
[ 2] 732 (0x2dc) ldfld 04000713
[ 2] 737 (0x2e1) stfld 04000712
STMT00025 (IL 0x2DA... ???)
[000135] -A-XG------- * ASG int
[000134] ---XG--N---- +--* FIELD int _parsingFunction
[000131] ------------ | \--* LCL_VAR ref V02 loc1
[000133] ---XG------- \--* FIELD int _nextParsingFunction
[000132] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 742 (0x2e6) ldloc.1
[ 1] 743 (0x2e7) ldloc.1
[ 2] 744 (0x2e8) ldfld 04000714
[ 2] 749 (0x2ed) stfld 04000713
STMT00026 (IL 0x2E6... ???)
[000140] -A-XG------- * ASG int
[000139] ---XG--N---- +--* FIELD int _nextParsingFunction
[000136] ------------ | \--* LCL_VAR ref V02 loc1
[000138] ---XG------- \--* FIELD int _nextNextParsingFunction
[000137] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 754 (0x2f2) ldloc.1
[ 1] 755 (0x2f3) ldc.i4.1 1
[ 2] 756 (0x2f4) call 060012FA
In Compiler::impImportCall: opcode is call, kind=0, callRetType is ref, structSize is 0
STMT00027 (IL 0x2F2... ???)
[000143] I-C-G------- * CALL r2r_ind ref System.Xml.XmlTextReaderImpl.MoveToNextContentNodeAsync (exactContextHnd=0x0000000000421769)
[000141] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000142] ------------ arg1 \--* CNS_INT int 1
[ 1] 761 (0x2f9) ldc.i4.0 0
[ 2] 762 (0x2fa) callvirt 0A000130
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is struct, structSize is 16
impDevirtualizeCall: [R2R] base method not virtual, sorry
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Threading.Tasks.Task`1:ConfigureAwait(bool):[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>:this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct'
[ 1] 767 (0x2ff) stloc.s 16
STMT00028 (IL ???... ???)
[000146] S-C-G------- * CALLV stub void System.Threading.Tasks.Task`1.ConfigureAwait
[000144] --C--------- this in rcx +--* RET_EXPR ref (inl return from call [000143])
[000148] ------------ arg1 +--* ADDR byref
[000147] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>, 16> V17 loc16
[000145] ------------ arg2 \--* CNS_INT int 0
[ 0] 769 (0x301) ldloca.s 16
[ 1] 771 (0x303) call 0A000131
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 16
[ 1] 776 (0x308) stloc.s 15
STMT00029 (IL 0x301... ???)
[000151] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter
[000150] ------------ this in rcx +--* ADDR byref
[000149] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>, 16> V17 loc16
[000153] ------------ arg1 \--* ADDR byref
[000152] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[ 0] 778 (0x30a) ldloca.s 15
[ 1] 780 (0x30c) call 0A000132
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0
[ 1] 785 (0x311) brtrue.s
STMT00030 (IL 0x30A... ???)
[000160] --C-G------- * JTRUE void
[000159] --C-G------- \--* NE int
[000157] --C-G------- +--* CAST int <- bool <- int
[000156] --C-G------- | \--* CALL r2r_ind int ConfiguredTaskAwaiter.get_IsCompleted
[000155] ------------ this in rcx | \--* ADDR byref
[000154] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000158] ------------ \--* CNS_INT int 0
impImportBlockPending for BB29
impImportBlockPending for BB31
Importing BB31 (PC=852) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 852 (0x354) ldloca.s 15
[ 1] 854 (0x356) call 0A000134
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0
[ 1] 859 (0x35b) stloc.s 14
STMT00031 (IL 0x354... ???)
[000166] -AC-G------- * ASG int
[000165] D------N---- +--* LCL_VAR int V15 loc14
[000164] --C-G------- \--* CAST int <- bool <- int
[000163] --C-G------- \--* CALL r2r_ind int ConfiguredTaskAwaiter.GetResult
[000162] ------------ this in rcx \--* ADDR byref
[000161] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[ 0] 861 (0x35d) ldloc.s 14
[ 1] 863 (0x35f) brtrue.s
STMT00032 (IL 0x35D... ???)
[000170] ------------ * JTRUE void
[000169] ------------ \--* NE int
[000167] ------------ +--* LCL_VAR int V15 loc14
[000168] ------------ \--* CNS_INT int 0
impImportBlockPending for BB32
impImportBlockPending for BB33
Importing BB33 (PC=899) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 899 (0x383) ldloc.1
[ 1] 900 (0x384) ldarg.0
[ 2] 901 (0x385) ldfld 040009CA
[ 2] 906 (0x38a) call 0600126B
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
STMT00033 (IL 0x383... ???)
[000174] I-CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.SetupReadContentAsBinaryState (exactContextHnd=0x0000000000421769)
[000171] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000173] ---XG------- arg1 \--* FIELD int <tmp>5__3
[000172] ------------ \--* LCL_VAR byref V00 this
[ 0] 911 (0x38f) ldloc.1
[ 1] 912 (0x390) ldflda 0400073E
[ 1] 917 (0x395) ldloc.1
[ 2] 918 (0x396) ldfld 04000716
[ 2] 923 (0x39b) callvirt 06001338
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is int, structSize is 0
lvaGrabTemp returning 24 (V24 tmp5) called for impAppendStmt.
STMT00035 (IL 0x38F... ???)
[000182] -A-XG------- * ASG byref
[000181] D------N---- +--* LCL_VAR byref V24 tmp5
[000177] ---XG------- \--* ADDR byref
[000176] ---XG------- \--* FIELD struct _incReadLineInfo
[000175] ------------ \--* LCL_VAR ref V02 loc1
STMT00034 (IL 0x38F... ???)
[000180] I-CXG------- * CALL r2r_ind int NodeData.get_LineNo (exactContextHnd=0x0000000000433B19)
[000179] ---XG------- this in rcx \--* FIELD ref _curNode
[000178] ------------ \--* LCL_VAR ref V02 loc1
[ 2] 928 (0x3a0) ldloc.1
[ 3] 929 (0x3a1) ldfld 04000716
[ 3] 934 (0x3a6) callvirt 06001339
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is int, structSize is 0
lvaGrabTemp returning 25 (V25 tmp6) called for impAppendStmt.
STMT00037 (IL ???... ???)
[000189] -AC--------- * ASG int
[000188] D------N---- +--* LCL_VAR int V25 tmp6
[000184] --C--------- \--* RET_EXPR int (inl return from call [000180])
STMT00036 (IL ???... ???)
[000187] I-CXG------- * CALL r2r_ind int NodeData.get_LinePos (exactContextHnd=0x0000000000433B19)
[000186] ---XG------- this in rcx \--* FIELD ref _curNode
[000185] ------------ \--* LCL_VAR ref V02 loc1
[ 3] 939 (0x3ab) call 06000B29
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
STMT00038 (IL ???... ???)
[000192] I-C-G------- * CALL r2r_ind void System.Xml.LineInfo.Set (exactContextHnd=0x0000000000436319)
[000183] ------------ this in rcx +--* LCL_VAR byref V24 tmp5
[000190] ------------ arg1 +--* LCL_VAR int V25 tmp6
[000191] --C--------- arg2 \--* RET_EXPR int (inl return from call [000187])
[ 0] 944 (0x3b0) br
impImportBlockPending for BB07
Importing BB07 (PC=073) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 73 (0x049) ldarg.0
[ 1] 74 (0x04a) ldc.i4.0 0
[ 2] 75 (0x04b) stfld 040009C9
STMT00039 (IL 0x049... ???)
[000196] -A-XG------- * ASG int
[000195] ---XG--N---- +--* FIELD int <charsRead>5__2
[000193] ------------ | \--* LCL_VAR byref V00 this
[000194] ------------ \--* CNS_INT int 0
impImportBlockPending for BB08
impImportBlockPending for BB09
impImportBlockPending for BB34
Importing BB08 (PC=080) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 80 (0x050) ldarg.0
[ 1] 81 (0x051) ldloc.1
[ 2] 82 (0x052) ldfld 04000716
[ 2] 87 (0x057) ldloc.1
[ 3] 88 (0x058) ldfld 0400073C
[ 3] 93 (0x05d) ldloc.1
[ 4] 94 (0x05e) ldfld 04000754
[ 4] 99 (0x063) callvirt 0600134E
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is int, structSize is 0
STMT00040 (IL 0x050... ???)
[000207] I-CXG------- * CALL r2r_ind int NodeData.CopyToBinary (exactContextHnd=0x0000000000433B19)
[000202] ---XG------- this in rcx +--* FIELD ref _curNode
[000201] ------------ | \--* LCL_VAR ref V02 loc1
[000204] ---XG------- arg1 +--* FIELD ref _incReadDecoder
[000203] ------------ | \--* LCL_VAR ref V02 loc1
[000206] ---XG------- arg2 \--* FIELD int _readValueOffset
[000205] ------------ \--* LCL_VAR ref V02 loc1
[ 2] 104 (0x068) stfld 040009C9
STMT00041 (IL ???... ???)
[000210] -ACXG------- * ASG int
[000209] ---XG--N---- +--* FIELD int <charsRead>5__2
[000200] ------------ | \--* LCL_VAR byref V00 this
[000208] --C--------- \--* RET_EXPR int (inl return from call [000207])
[ 0] 109 (0x06d) leave.s 00B1
Before import CEE_LEAVE in BB08 (targetting BB10):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (leave ) T0 try { } keep try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 (leave ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (leave ) T2 bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2)
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportLeave - no enclosing finally-protected try blocks or catch handlers; convert CEE_LEAVE block BB08 to BBJ_ALWAYS
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 (leave ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (leave ) T2 bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2)
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportBlockPending for BB10
Importing BB10 (PC=177) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 177 (0x0b1) ldloc.1
[ 1] 178 (0x0b2) ldloc.1
[ 2] 179 (0x0b3) ldfld 04000754
[ 2] 184 (0x0b8) ldarg.0
[ 3] 185 (0x0b9) ldfld 040009C9
[ 3] 190 (0x0be) add
[ 2] 191 (0x0bf) stfld 04000754
STMT00042 (IL 0x0B1... ???)
[000218] -A-XG------- * ASG int
[000217] ---XG--N---- +--* FIELD int _readValueOffset
[000211] ------------ | \--* LCL_VAR ref V02 loc1
[000216] ---XG------- \--* ADD int
[000213] ---XG------- +--* FIELD int _readValueOffset
[000212] ------------ | \--* LCL_VAR ref V02 loc1
[000215] ---XG------- \--* FIELD int <charsRead>5__2
[000214] ------------ \--* LCL_VAR byref V00 this
[ 0] 196 (0x0c4) ldloc.1
[ 1] 197 (0x0c5) ldfld 0400073C
[ 1] 202 (0x0ca) callvirt 06000CEC
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is bool, structSize is 0
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_IsFull
devirt to System.Xml.IncrementalReadDecoder::get_IsFull -- inexact or not final
[000221] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000220] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000219] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
NOT Marking call [000221] as guarded devirtualization candidate -- disabled by jit config
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.IncrementalReadDecoder:get_IsFull():bool:this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct'
[ 1] 207 (0x0cf) brfalse.s
STMT00043 (IL 0x0C4... ???)
[000225] --CXG------- * JTRUE void
[000224] --CXG------- \--* EQ int
[000222] --CXG------- +--* CAST int <- bool <- int
[000221] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000220] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000219] ------------ | \--* LCL_VAR ref V02 loc1
[000223] ------------ \--* CNS_INT int 0
impImportBlockPending for BB11
impImportBlockPending for BB12
Importing BB12 (PC=226) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 226 (0x0e2) ldloc.1
[ 1] 227 (0x0e3) ldfld 0400073D
[ 1] 232 (0x0e8) ldc.i4.s 13
[ 2] 234 (0x0ea) bne.un
STMT00044 (IL 0x0E2... ???)
[000230] ---XG------- * JTRUE void
[000229] N--XG----U-- \--* NE int
[000227] ---XG------- +--* FIELD int _incReadState
[000226] ------------ | \--* LCL_VAR ref V02 loc1
[000228] ------------ \--* CNS_INT int 13
impImportBlockPending for BB13
impImportBlockPending for BB28
Importing BB13 (PC=239) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 239 (0x0ef) ldloc.1
[ 1] 240 (0x0f0) ldfld 04000716
[ 1] 245 (0x0f5) ldsfld 0A000002
[ 2] 250 (0x0fa) callvirt 06001349
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is void, structSize is 0
STMT00045 (IL 0x0EF... ???)
[000236] I-CXG------- * CALL r2r_ind void NodeData.SetValue (exactContextHnd=0x0000000000433B19)
[000232] ---XG------- this in rcx +--* FIELD ref _curNode
[000231] ------------ | \--* LCL_VAR ref V02 loc1
[000235] n---G------- arg1 \--* IND ref
[000234] #----------- \--* IND long
[000233] ------------ \--* CNS_INT(h) long 0x4217B8 pstr
[ 0] 255 (0x0ff) ldc.i4.0 0
[ 1] 256 (0x100) stloc.s 4
STMT00046 (IL 0x0FF... ???)
[000239] -A---------- * ASG int
[000238] D------N---- +--* LCL_VAR int V05 loc4
[000237] ------------ \--* CNS_INT int 0
[ 0] 258 (0x102) ldc.i4.0 0
[ 1] 259 (0x103) stloc.s 5
STMT00047 (IL 0x102... ???)
[000242] -A---------- * ASG int
[000241] D------N---- +--* LCL_VAR int V06 loc5
[000240] ------------ \--* CNS_INT int 0
[ 0] 261 (0x105) ldc.i4.0 0
[ 1] 262 (0x106) stloc.s 6
STMT00048 (IL 0x105... ???)
[000245] -A---------- * ASG int
[000244] D------N---- +--* LCL_VAR int V07 loc6
[000243] ------------ \--* CNS_INT int 0
[ 0] 264 (0x108) br
impImportBlockPending for BB21
Importing BB11 (PC=209) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 209 (0x0d1) ldloc.1
[ 1] 210 (0x0d2) ldfld 0400073C
[ 1] 215 (0x0d7) callvirt 06000CEB
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is int, structSize is 0
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_DecodedCount
devirt to System.Xml.IncrementalReadDecoder::get_DecodedCount -- inexact or not final
[000248] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000247] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000246] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
NOT Marking call [000248] as guarded devirtualization candidate -- disabled by jit config
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.IncrementalReadDecoder:get_DecodedCount():int:this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct'
[ 1] 220 (0x0dc) stloc.2
STMT00049 (IL 0x0D1... ???)
[000250] -ACXG------- * ASG int
[000249] D------N---- +--* LCL_VAR int V03 loc2
[000248] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000247] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000246] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 221 (0x0dd) leave 03CE
Before import CEE_LEAVE in BB11 (targetting BB35):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 (leave ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (leave ) T2 bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2)
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportLeave - no enclosing finally-protected try blocks or catch handlers; convert CEE_LEAVE block BB11 to BBJ_ALWAYS
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 (leave ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2)
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportBlockPending for BB35
Importing BB35 (PC=974) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 974 (0x3ce) ldarg.0
[ 1] 975 (0x3cf) ldc.i4.s -2
[ 2] 977 (0x3d1) stfld 040009C3
STMT00050 (IL 0x3CE... ???)
[000254] -A-XG------- * ASG int
[000253] ---XG--N---- +--* FIELD int <>1__state
[000251] ------------ | \--* LCL_VAR byref V00 this
[000252] ------------ \--* CNS_INT int -2
[ 0] 982 (0x3d6) ldarg.0
[ 1] 983 (0x3d7) ldflda 040009C4
[ 1] 988 (0x3dc) ldloc.2
[ 2] 989 (0x3dd) call 0A00021B (Implicit Tail call: prefixFlags |= PREFIX_TAILCALL_IMPLICIT)
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
info.compCompHnd->canTailCall returned false for call [000259]
STMT00051 (IL 0x3D6... ???)
[000259] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult
[000257] ---XG------- this in rcx +--* ADDR byref
[000256] ---XG------- | \--* FIELD struct <>t__builder
[000255] ------------ | \--* LCL_VAR byref V00 this
[000258] ------------ arg1 \--* LCL_VAR int V03 loc2
impImportBlockPending for BB36
Importing BB36 (PC=994) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 994 (0x3e2) ret
STMT00052 (IL 0x3E2... ???)
[000260] ------------ * RETURN void
Importing BB09 (PC=111) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
lvaGrabTemp returning 26 (V26 tmp7) called for impSpillSpecialSideEff.
STMT00053 (IL 0x06F... ???)
[000262] -A---O------ * ASG ref
[000261] D------N---- +--* LCL_VAR ref V26 tmp7
[000198] -----O------ \--* CATCH_ARG ref
Marked V26 as a single def temp
lvaSetClass: setting class for V26 to (00000000004214D0) [S.P.Xml]System.Xml.XmlException
[ 1] 111 (0x06f) stloc.3
STMT00054 (IL ???... ???)
[000265] -A---------- * ASG ref
[000264] D------N---- +--* LCL_VAR ref V04 loc3
[000263] ------------ \--* LCL_VAR ref V26 tmp7
[ 0] 112 (0x070) ldloc.1
[ 1] 113 (0x071) ldfld 04000716
[ 1] 118 (0x076) ldloc.1
[ 2] 119 (0x077) ldfld 04000754
[ 2] 124 (0x07c) ldloc.1
[ 3] 125 (0x07d) ldflda 04000711
[ 3] 130 (0x082) ldfld 040007D1
[ 3] 135 (0x087) ldloc.1
[ 4] 136 (0x088) ldflda 0400073E
[ 4] 141 (0x08d) callvirt 0600134F
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is void, structSize is 0
Will not inline blocks that are in the catch handler region
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'within catch region' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'NodeData:AdjustLineInfo(int,bool,byref):this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'within catch region'
STMT00055 (IL 0x070... ???)
[000277] --CXG------- * CALL r2r_ind void NodeData.AdjustLineInfo
[000267] ---XG------- this in rcx +--* FIELD ref _curNode
[000266] ------------ | \--* LCL_VAR ref V02 loc1
[000269] ---XG------- arg1 +--* FIELD int _readValueOffset
[000268] ------------ | \--* LCL_VAR ref V02 loc1
[000273] ---XG------- arg2 +--* FIELD bool eolNormalized
[000272] ---XG------- | \--* ADDR byref
[000271] ---XG------- | \--* FIELD struct _ps
[000270] ------------ | \--* LCL_VAR ref V02 loc1
[000276] ---XG------- arg3 \--* ADDR byref
[000275] ---XG------- \--* FIELD struct _incReadLineInfo
[000274] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 146 (0x092) ldloc.1
[ 1] 147 (0x093) ldloc.3
[ 2] 148 (0x094) ldloc.1
[ 3] 149 (0x095) ldflda 0400073E
[ 3] 154 (0x09a) ldfld 04000495
[ 3] 159 (0x09f) ldloc.1
[ 4] 160 (0x0a0) ldflda 0400073E
[ 4] 165 (0x0a5) ldfld 04000496
[ 4] 170 (0x0aa) call 060011E3
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
Will not inline blocks that are in the catch handler region
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'within catch region' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.XmlTextReaderImpl:ReThrow([S.P.CoreLib]System.Exception,int,int):this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'within catch region'
STMT00056 (IL 0x092... ???)
[000288] --CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
[000278] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000279] ------------ arg1 +--* LCL_VAR ref V04 loc3
[000283] ---XG------- arg2 +--* FIELD int lineNo
[000282] ---XG------- | \--* ADDR byref
[000281] ---XG------- | \--* FIELD struct _incReadLineInfo
[000280] ------------ | \--* LCL_VAR ref V02 loc1
[000287] ---XG------- arg3 \--* FIELD int linePos
[000286] ---XG------- \--* ADDR byref
[000285] ---XG------- \--* FIELD struct _incReadLineInfo
[000284] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 175 (0x0af) leave.s 00B1
Before import CEE_LEAVE in BB09 (targetting BB10):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 (leave ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportLeave - jumping out of a catch (EH#0), convert block BB09 to BBJ_EHCATCHRET block
impImportLeave - final destination of step blocks set to BB10
impImportBlockPending for BB10
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportBlockPending for BB10
Importing BB32 (PC=865) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 865 (0x361) ldloc.1
[ 1] 866 (0x362) ldarg.0
[ 2] 867 (0x363) ldfld 040009CA
[ 2] 872 (0x368) call 0600126B
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
STMT00057 (IL 0x361... ???)
[000292] I-CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.SetupReadContentAsBinaryState (exactContextHnd=0x0000000000421769)
[000289] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000291] ---XG------- arg1 \--* FIELD int <tmp>5__3
[000290] ------------ \--* LCL_VAR byref V00 this
[ 0] 877 (0x36d) ldloc.1
[ 1] 878 (0x36e) ldc.i4.s 14
[ 2] 880 (0x370) stfld 0400073D
STMT00058 (IL 0x36D... ???)
[000296] -A-XG------- * ASG int
[000295] ---XG--N---- +--* FIELD int _incReadState
[000293] ------------ | \--* LCL_VAR ref V02 loc1
[000294] ------------ \--* CNS_INT int 14
[ 0] 885 (0x375) ldloc.1
[ 1] 886 (0x376) ldfld 0400073C
[ 1] 891 (0x37b) callvirt 06000CEB
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is int, structSize is 0
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_DecodedCount
devirt to System.Xml.IncrementalReadDecoder::get_DecodedCount -- inexact or not final
[000299] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000298] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000297] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
NOT Marking call [000299] as guarded devirtualization candidate -- disabled by jit config
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.IncrementalReadDecoder:get_DecodedCount():int:this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct'
[ 1] 896 (0x380) stloc.2
STMT00059 (IL 0x375... ???)
[000301] -ACXG------- * ASG int
[000300] D------N---- +--* LCL_VAR int V03 loc2
[000299] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000298] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000297] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 897 (0x381) leave.s 03CE
Before import CEE_LEAVE in BB32 (targetting BB35):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (leave ) T2 bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportLeave - no enclosing finally-protected try blocks or catch handlers; convert CEE_LEAVE block BB32 to BBJ_ALWAYS
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportBlockPending for BB35
Importing BB29 (PC=787) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 787 (0x313) ldarg.0
[ 1] 788 (0x314) ldc.i4.1 1
[ 2] 789 (0x315) dup
lvaGrabTemp returning 27 (V27 tmp8) called for dup spill.
STMT00060 (IL 0x313... ???)
[000305] -A---------- * ASG int
[000304] D------N---- +--* LCL_VAR int V27 tmp8
[000303] ------------ \--* CNS_INT int 1
[ 3] 790 (0x316) stloc.0
STMT00061 (IL ???... ???)
[000309] -A---------- * ASG int
[000308] D------N---- +--* LCL_VAR int V01 loc0
[000307] ------------ \--* LCL_VAR int V27 tmp8
[ 2] 791 (0x317) stfld 040009C3
STMT00062 (IL ???... ???)
[000311] -A-XG------- * ASG int
[000310] ---XG--N---- +--* FIELD int <>1__state
[000302] ------------ | \--* LCL_VAR byref V00 this
[000306] ------------ \--* LCL_VAR int V27 tmp8
[ 0] 796 (0x31c) ldarg.0
[ 1] 797 (0x31d) ldloc.s 15
[ 2] 799 (0x31f) stfld 040009CC
STMT00063 (IL 0x31C... ???)
[000317] -A-XG------- * ASG struct (copy)
[000316] ---XG------- +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>
[000315] ---XG------- | \--* ADDR byref
[000314] ---XG------- | \--* FIELD struct <>u__2
[000312] ------------ | \--* LCL_VAR byref V00 this
[000313] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[ 0] 804 (0x324) ldarg.0
[ 1] 805 (0x325) ldflda 040009C4
[ 1] 810 (0x32a) ldloca.s 15
[ 2] 812 (0x32c) ldarg.0
[ 3] 813 (0x32d) call 2B0001C7
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
STMT00064 (IL 0x324... ???)
[000324] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000320] ---XG------- this in rcx +--* ADDR byref
[000319] ---XG------- | \--* FIELD struct <>t__builder
[000318] ------------ | \--* LCL_VAR byref V00 this
[000322] ------------ arg1 +--* ADDR byref
[000321] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000323] ------------ arg2 \--* LCL_VAR byref V00 this
[ 0] 818 (0x332) leave 03E2
Before import CEE_LEAVE in BB29 (targetting BB36):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (leave ) T2 bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportLeave - no enclosing finally-protected try blocks or catch handlers; convert CEE_LEAVE block BB29 to BBJ_ALWAYS
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportBlockPending for BB36
Importing BB27 (PC=595) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 595 (0x253) ldloc.1
[ 1] 596 (0x254) ldfld 04000716
[ 1] 601 (0x259) ldloc.1
[ 2] 602 (0x25a) ldflda 04000711
[ 2] 607 (0x25f) ldfld 040007BE
[ 2] 612 (0x264) ldloc.s 5
[ 3] 614 (0x266) ldloc.s 6
[ 4] 616 (0x268) ldloc.s 5
[ 5] 618 (0x26a) sub
[ 4] 619 (0x26b) callvirt 0600134A
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is void, structSize is 0
STMT00065 (IL 0x253... ???)
[000335] I-CXG------- * CALL r2r_ind void NodeData.SetValue (exactContextHnd=0x0000000000433B19)
[000326] ---XG------- this in rcx +--* FIELD ref _curNode
[000325] ------------ | \--* LCL_VAR ref V02 loc1
[000330] ---XG------- arg1 +--* FIELD ref chars
[000329] ---XG------- | \--* ADDR byref
[000328] ---XG------- | \--* FIELD struct _ps
[000327] ------------ | \--* LCL_VAR ref V02 loc1
[000331] ------------ arg2 +--* LCL_VAR int V06 loc5
[000334] ------------ arg3 \--* SUB int
[000332] ------------ +--* LCL_VAR int V07 loc6
[000333] ------------ \--* LCL_VAR int V06 loc5
[ 0] 624 (0x270) ldloc.1
[ 1] 625 (0x271) ldflda 04000711
[ 1] 630 (0x276) ldfld 040007BE
[ 1] 635 (0x27b) ldloc.s 5
[ 2] 637 (0x27d) ldarg.0
[ 3] 638 (0x27e) ldfld 040009C9
[ 3] 643 (0x283) sub
[ 2] 644 (0x284) ldloc.s 5
[ 3] 646 (0x286) ldloc.1
[ 4] 647 (0x287) ldflda 04000711
[ 4] 652 (0x28c) ldfld 040007D1
[ 4] 657 (0x291) ldloc.1
[ 5] 658 (0x292) ldflda 0400073E
[ 5] 663 (0x297) call 06001287
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
STMT00066 (IL 0x270... ???)
[000352] I-CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.AdjustLineInfo (exactContextHnd=0x0000000000421769)
[000339] ---XG------- arg0 +--* FIELD ref chars
[000338] ---XG------- | \--* ADDR byref
[000337] ---XG------- | \--* FIELD struct _ps
[000336] ------------ | \--* LCL_VAR ref V02 loc1
[000343] ---XG------- arg1 +--* SUB int
[000340] ------------ | +--* LCL_VAR int V06 loc5
[000342] ---XG------- | \--* FIELD int <charsRead>5__2
[000341] ------------ | \--* LCL_VAR byref V00 this
[000344] ------------ arg2 +--* LCL_VAR int V06 loc5
[000348] ---XG------- arg3 +--* FIELD bool eolNormalized
[000347] ---XG------- | \--* ADDR byref
[000346] ---XG------- | \--* FIELD struct _ps
[000345] ------------ | \--* LCL_VAR ref V02 loc1
[000351] ---XG------- arg4 \--* ADDR byref
[000350] ---XG------- \--* FIELD struct _incReadLineInfo
[000349] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 668 (0x29c) ldloc.1
[ 1] 669 (0x29d) ldfld 04000716
[ 1] 674 (0x2a2) ldloc.1
[ 2] 675 (0x2a3) ldflda 0400073E
[ 2] 680 (0x2a8) ldfld 04000495
[ 2] 685 (0x2ad) ldloc.1
[ 3] 686 (0x2ae) ldflda 0400073E
[ 3] 691 (0x2b3) ldfld 04000496
[ 3] 696 (0x2b8) callvirt 06001343
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is void, structSize is 0
STMT00067 (IL 0x29C... ???)
[000363] I-CXG------- * CALL r2r_ind void NodeData.SetLineInfo (exactContextHnd=0x0000000000433B19)
[000354] ---XG------- this in rcx +--* FIELD ref _curNode
[000353] ------------ | \--* LCL_VAR ref V02 loc1
[000358] ---XG------- arg1 +--* FIELD int lineNo
[000357] ---XG------- | \--* ADDR byref
[000356] ---XG------- | \--* FIELD struct _incReadLineInfo
[000355] ------------ | \--* LCL_VAR ref V02 loc1
[000362] ---XG------- arg2 \--* FIELD int linePos
[000361] ---XG------- \--* ADDR byref
[000360] ---XG------- \--* FIELD struct _incReadLineInfo
[000359] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 701 (0x2bd) ldloc.1
[ 1] 702 (0x2be) ldfld 0400073C
[ 1] 707 (0x2c3) callvirt 06000CEB
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is int, structSize is 0
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_DecodedCount
devirt to System.Xml.IncrementalReadDecoder::get_DecodedCount -- inexact or not final
[000366] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000365] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000364] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
NOT Marking call [000366] as guarded devirtualization candidate -- disabled by jit config
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.IncrementalReadDecoder:get_DecodedCount():int:this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct'
[ 1] 712 (0x2c8) stloc.2
STMT00068 (IL 0x2BD... ???)
[000368] -ACXG------- * ASG int
[000367] D------N---- +--* LCL_VAR int V03 loc2
[000366] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000365] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000364] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 713 (0x2c9) leave 03CE
Before import CEE_LEAVE in BB27 (targetting BB35):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (leave ) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportLeave - no enclosing finally-protected try blocks or catch handlers; convert CEE_LEAVE block BB27 to BBJ_ALWAYS
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (always) T2 bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportBlockPending for BB35
Importing BB24 (PC=564) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 1] 564 (0x234) ldc.i4.s 13
[ 2] 566 (0x236) br.s
Spilling stack entries into temps
STMT00069 (IL ???... ???)
[000371] -A---------- * ASG ref
[000370] D------N---- +--* LCL_VAR ref V22 tmp3
[000102] ------------ \--* LCL_VAR ref V21 tmp2
STMT00070 (IL ???... ???)
[000374] -A---------- * ASG int
[000373] D------N---- +--* LCL_VAR int V23 tmp4
[000369] ------------ \--* CNS_INT int 13
impImportBlockPending for BB26
Importing BB22 (PC=552) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 552 (0x228) ldloc.s 4
[ 1] 554 (0x22a) brfalse
STMT00071 (IL 0x228... ???)
[000379] ------------ * JTRUE void
[000378] ------------ \--* EQ int
[000376] ------------ +--* LCL_VAR int V05 loc4
[000377] ------------ \--* CNS_INT int 0
impImportBlockPending for BB23
impImportBlockPending for BB14
Importing BB14 (PC=269) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 269 (0x10d) ldc.i4.0 0
[ 1] 270 (0x10e) stloc.s 7
STMT00072 (IL 0x10D... ???)
[000382] -A---------- * ASG int
[000381] D------N---- +--* LCL_VAR int V08 loc7
[000380] ------------ \--* CNS_INT int 0
[ 0] 272 (0x110) ldloc.1
[ 1] 273 (0x111) ldflda 0400073E
[ 1] 278 (0x116) ldloc.1
[ 2] 279 (0x117) ldflda 04000711
[ 2] 284 (0x11c) call 06001301
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0
lvaGrabTemp returning 28 (V28 tmp9) called for impAppendStmt.
STMT00074 (IL 0x110... ???)
[000391] -A-XG------- * ASG byref
[000390] D------N---- +--* LCL_VAR byref V28 tmp9
[000385] ---XG------- \--* ADDR byref
[000384] ---XG------- \--* FIELD struct _incReadLineInfo
[000383] ------------ \--* LCL_VAR ref V02 loc1
STMT00073 (IL 0x110... ???)
[000389] I-CXG------- * CALL r2r_ind int ParsingState.get_LineNo (exactContextHnd=0x0000000000436259)
[000388] ---XG------- this in rcx \--* ADDR byref
[000387] ---XG------- \--* FIELD struct _ps
[000386] ------------ \--* LCL_VAR ref V02 loc1
[ 2] 289 (0x121) ldloc.1
[ 3] 290 (0x122) ldflda 04000711
[ 3] 295 (0x127) call 06001302
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0
lvaGrabTemp returning 29 (V29 tmp10) called for impAppendStmt.
STMT00076 (IL ???... ???)
[000399] -AC--------- * ASG int
[000398] D------N---- +--* LCL_VAR int V29 tmp10
[000393] --C--------- \--* RET_EXPR int (inl return from call [000389])
STMT00075 (IL ???... ???)
[000397] I-CXG------- * CALL r2r_ind int ParsingState.get_LinePos (exactContextHnd=0x0000000000436259)
[000396] ---XG------- this in rcx \--* ADDR byref
[000395] ---XG------- \--* FIELD struct _ps
[000394] ------------ \--* LCL_VAR ref V02 loc1
[ 3] 300 (0x12c) call 06000B29
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
STMT00077 (IL ???... ???)
[000402] I-C-G------- * CALL r2r_ind void System.Xml.LineInfo.Set (exactContextHnd=0x0000000000436319)
[000392] ------------ this in rcx +--* LCL_VAR byref V28 tmp9
[000400] ------------ arg1 +--* LCL_VAR int V29 tmp10
[000401] --C--------- arg2 \--* RET_EXPR int (inl return from call [000397])
[ 0] 305 (0x131) ldloc.1
[ 1] 306 (0x132) ldloc.s 7
[ 2] 308 (0x134) call 060012CD
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 32
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'too many il bytes' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.XmlTextReaderImpl:ParseTextAsync(int):[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>:this'
INLINER: Marking System.Xml.XmlTextReaderImpl:ParseTextAsync(int):[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>:this as NOINLINE because of too many il bytes
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'too many il bytes'
[ 1] 313 (0x139) stloc.s 11
STMT00078 (IL 0x131... ???)
[000405] S-C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ParseTextAsync
[000403] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000407] ------------ arg1 +--* ADDR byref
[000406] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V12 loc11
[000404] ------------ arg2 \--* LCL_VAR int V08 loc7
[ 0] 315 (0x13b) ldloca.s 11
[ 1] 317 (0x13d) ldc.i4.0 0
[ 2] 318 (0x13e) call 0A00028A
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 32
[ 1] 323 (0x143) stloc.s 12
STMT00079 (IL 0x13B... ???)
[000411] S-C-G------- * CALL r2r_ind void System.Threading.Tasks.ValueTask`1.ConfigureAwait
[000409] ------------ this in rcx +--* ADDR byref
[000408] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V12 loc11
[000413] ------------ arg1 +--* ADDR byref
[000412] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V13 loc12
[000410] ------------ arg2 \--* CNS_INT int 0
[ 0] 325 (0x145) ldloca.s 12
[ 1] 327 (0x147) call 0A00028B
In Compiler::impImportCall: opcode is call, kind=0, callRetType is struct, structSize is 32
[ 1] 332 (0x14c) stloc.s 10
STMT00080 (IL 0x145... ???)
[000416] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter
[000415] ------------ this in rcx +--* ADDR byref
[000414] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V13 loc12
[000418] ------------ arg1 \--* ADDR byref
[000417] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[ 0] 334 (0x14e) ldloca.s 10
[ 1] 336 (0x150) call 0A00028C
In Compiler::impImportCall: opcode is call, kind=0, callRetType is bool, structSize is 0
[ 1] 341 (0x155) brtrue.s
STMT00081 (IL 0x14E... ???)
[000425] --C-G------- * JTRUE void
[000424] --C-G------- \--* NE int
[000422] --C-G------- +--* CAST int <- bool <- int
[000421] --C-G------- | \--* CALL r2r_ind int ConfiguredValueTaskAwaiter.get_IsCompleted
[000420] ------------ this in rcx | \--* ADDR byref
[000419] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000423] ------------ \--* CNS_INT int 0
impImportBlockPending for BB15
impImportBlockPending for BB17
Importing BB15 (PC=343) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 343 (0x157) ldarg.0
[ 1] 344 (0x158) ldc.i4.0 0
[ 2] 345 (0x159) dup
[ 3] 346 (0x15a) stloc.0
STMT00082 (IL 0x157... ???)
[000430] -A---------- * ASG int
[000429] D------N---- +--* LCL_VAR int V01 loc0
[000428] ------------ \--* CNS_INT int 0
[ 2] 347 (0x15b) stfld 040009C3
STMT00083 (IL ???... ???)
[000432] -A-XG------- * ASG int
[000431] ---XG--N---- +--* FIELD int <>1__state
[000426] ------------ | \--* LCL_VAR byref V00 this
[000427] ------------ \--* CNS_INT int 0
[ 0] 352 (0x160) ldarg.0
[ 1] 353 (0x161) ldloc.s 10
[ 2] 355 (0x163) stfld 040009CB
STMT00084 (IL 0x160... ???)
[000438] -A-XG------- * ASG struct (copy)
[000437] ---XG------- +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>
[000436] ---XG------- | \--* ADDR byref
[000435] ---XG------- | \--* FIELD struct <>u__1
[000433] ------------ | \--* LCL_VAR byref V00 this
[000434] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[ 0] 360 (0x168) ldarg.0
[ 1] 361 (0x169) ldflda 040009C4
[ 1] 366 (0x16e) ldloca.s 10
[ 2] 368 (0x170) ldarg.0
[ 3] 369 (0x171) call 2B0001C6
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
STMT00085 (IL 0x168... ???)
[000445] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000441] ---XG------- this in rcx +--* ADDR byref
[000440] ---XG------- | \--* FIELD struct <>t__builder
[000439] ------------ | \--* LCL_VAR byref V00 this
[000443] ------------ arg1 +--* ADDR byref
[000442] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000444] ------------ arg2 \--* LCL_VAR byref V00 this
[ 0] 374 (0x176) leave 03E2
Before import CEE_LEAVE in BB15 (targetting BB36):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (leave ) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (always) T2 i bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportLeave - no enclosing finally-protected try blocks or catch handlers; convert CEE_LEAVE block BB15 to BBJ_ALWAYS
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (always) T2 bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (always) T2 i bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportBlockPending for BB36
Importing BB19 (PC=494) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
lvaGrabTemp returning 30 (V30 tmp11) called for impSpillSpecialSideEff.
STMT00086 (IL 0x1EE... ???)
[000447] -A---O------ * ASG ref
[000446] D------N---- +--* LCL_VAR ref V30 tmp11
[000065] -----O------ \--* CATCH_ARG ref
Marked V30 as a single def temp
lvaSetClass: setting class for V30 to (00000000004214D0) [S.P.Xml]System.Xml.XmlException
[ 1] 494 (0x1ee) stloc.s 13
STMT00087 (IL ???... ???)
[000450] -A---------- * ASG ref
[000449] D------N---- +--* LCL_VAR ref V14 loc13
[000448] ------------ \--* LCL_VAR ref V30 tmp11
[ 0] 496 (0x1f0) ldloc.1
[ 1] 497 (0x1f1) ldloc.s 13
[ 2] 499 (0x1f3) ldloc.1
[ 3] 500 (0x1f4) ldflda 0400073E
[ 3] 505 (0x1f9) ldfld 04000495
[ 3] 510 (0x1fe) ldloc.1
[ 4] 511 (0x1ff) ldflda 0400073E
[ 4] 516 (0x204) ldfld 04000496
[ 4] 521 (0x209) call 060011E3
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
Will not inline blocks that are in the catch handler region
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'within catch region' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.XmlTextReaderImpl:ReThrow([S.P.CoreLib]System.Exception,int,int):this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'within catch region'
STMT00088 (IL 0x1F0... ???)
[000461] --CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
[000451] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000452] ------------ arg1 +--* LCL_VAR ref V14 loc13
[000456] ---XG------- arg2 +--* FIELD int lineNo
[000455] ---XG------- | \--* ADDR byref
[000454] ---XG------- | \--* FIELD struct _incReadLineInfo
[000453] ------------ | \--* LCL_VAR ref V02 loc1
[000460] ---XG------- arg3 \--* FIELD int linePos
[000459] ---XG------- \--* ADDR byref
[000458] ---XG------- \--* FIELD struct _incReadLineInfo
[000457] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 526 (0x20e) leave.s 0210
Before import CEE_LEAVE in BB19 (targetting BB20):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 (leave ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (always) T2 i bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportLeave - jumping out of a catch (EH#1), convert block BB19 to BBJ_EHCATCHRET block
impImportLeave - final destination of step blocks set to BB20
impImportBlockPending for BB20
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (always) T2 i bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportBlockPending for BB20
Importing BB03 (PC=020) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 20 (0x014) ldloc.0
[ 1] 21 (0x015) ldc.i4.1 1
[ 2] 22 (0x016) beq
STMT00089 (IL 0x014... ???)
[000465] ------------ * JTRUE void
[000464] ------------ \--* EQ int
[000462] ------------ +--* LCL_VAR int V01 loc0
[000463] ------------ \--* CNS_INT int 1
impImportBlockPending for BB04
impImportBlockPending for BB30
Importing BB30 (PC=823) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 823 (0x337) ldarg.0
[ 1] 824 (0x338) ldfld 040009CC
[ 1] 829 (0x33d) stloc.s 15
STMT00090 (IL 0x337... ???)
[000470] -A-XG------- * ASG struct (copy)
[000468] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000467] ---XG------- \--* FIELD struct <>u__2
[000466] ------------ \--* LCL_VAR byref V00 this
[ 0] 831 (0x33f) ldarg.0
[ 1] 832 (0x340) ldflda 040009CC
[ 1] 837 (0x345) initobj 1B000032
STMT00091 (IL 0x33F... ???)
[000476] IA-XG------- * ASG struct (init)
[000475] ---XG--N---- +--* BLK struct<16>
[000473] ---XG------- | \--* ADDR byref
[000472] ---XG------- | \--* FIELD struct <>u__2
[000471] ------------ | \--* LCL_VAR byref V00 this
[000474] ------------ \--* CNS_INT int 0
[ 0] 843 (0x34b) ldarg.0
[ 1] 844 (0x34c) ldc.i4.m1 -1
[ 2] 845 (0x34d) dup
lvaGrabTemp returning 31 (V31 tmp12) called for dup spill.
STMT00092 (IL 0x34B... ???)
[000480] -A---------- * ASG int
[000479] D------N---- +--* LCL_VAR int V31 tmp12
[000478] ------------ \--* CNS_INT int -1
[ 3] 846 (0x34e) stloc.0
STMT00093 (IL ???... ???)
[000484] -A---------- * ASG int
[000483] D------N---- +--* LCL_VAR int V01 loc0
[000482] ------------ \--* LCL_VAR int V31 tmp12
[ 2] 847 (0x34f) stfld 040009C3
STMT00094 (IL ???... ???)
[000486] -A-XG------- * ASG int
[000485] ---XG--N---- +--* FIELD int <>1__state
[000477] ------------ | \--* LCL_VAR byref V00 this
[000481] ------------ \--* LCL_VAR int V31 tmp12
impImportBlockPending for BB31
Importing BB04 (PC=027) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 27 (0x01b) ldloc.1
[ 1] 28 (0x01c) ldfld 0400073D
[ 1] 33 (0x021) ldc.i4.s 14
[ 2] 35 (0x023) bne.un.s
STMT00095 (IL 0x01B... ???)
[000491] ---XG------- * JTRUE void
[000490] N--XG----U-- \--* NE int
[000488] ---XG------- +--* FIELD int _incReadState
[000487] ------------ | \--* LCL_VAR ref V02 loc1
[000489] ------------ \--* CNS_INT int 14
impImportBlockPending for BB05
impImportBlockPending for BB06
Importing BB06 (PC=044) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 44 (0x02c) ldloc.1
[ 1] 45 (0x02d) ldfld 0400073C
[ 1] 50 (0x032) ldarg.0
[ 2] 51 (0x033) ldfld 040009C6
[ 2] 56 (0x038) ldarg.0
[ 3] 57 (0x039) ldfld 040009C7
[ 3] 62 (0x03e) ldarg.0
[ 4] 63 (0x03f) ldfld 040009C8
[ 4] 68 (0x044) callvirt 06000CED
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is void, structSize is 0
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::SetNextOutputBuffer
devirt to System.Xml.IncrementalReadDecoder::SetNextOutputBuffer -- inexact or not final
[000500] --CXG------- * CALLV stub void System.Xml.IncrementalReadDecoder.SetNextOutputBuffer
[000493] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000492] ------------ | \--* LCL_VAR ref V02 loc1
[000495] ---XG------- arg1 +--* FIELD ref buffer
[000494] ------------ | \--* LCL_VAR byref V00 this
[000497] ---XG------- arg2 +--* FIELD int index
[000496] ------------ | \--* LCL_VAR byref V00 this
[000499] ---XG------- arg3 \--* FIELD int count
[000498] ------------ \--* LCL_VAR byref V00 this
Class not final or exact, and method not final
NOT Marking call [000500] as guarded devirtualization candidate -- disabled by jit config
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.IncrementalReadDecoder:SetNextOutputBuffer([S.P.CoreLib]System.Array,int,int):this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct'
STMT00096 (IL 0x02C... ???)
[000500] --CXG------- * CALLV stub void System.Xml.IncrementalReadDecoder.SetNextOutputBuffer
[000493] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000492] ------------ | \--* LCL_VAR ref V02 loc1
[000495] ---XG------- arg1 +--* FIELD ref buffer
[000494] ------------ | \--* LCL_VAR byref V00 this
[000497] ---XG------- arg2 +--* FIELD int index
[000496] ------------ | \--* LCL_VAR byref V00 this
[000499] ---XG------- arg3 \--* FIELD int count
[000498] ------------ \--* LCL_VAR byref V00 this
impImportBlockPending for BB07
Importing BB05 (PC=037) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
[ 0] 37 (0x025) ldc.i4.0 0
[ 1] 38 (0x026) stloc.2
STMT00097 (IL 0x025... ???)
[000503] -A---------- * ASG int
[000502] D------N---- +--* LCL_VAR int V03 loc2
[000501] ------------ \--* CNS_INT int 0
[ 0] 39 (0x027) leave 03CE
Before import CEE_LEAVE in BB05 (targetting BB35):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (leave ) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2 i
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (always) T2 i bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 i bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportLeave - no enclosing finally-protected try blocks or catch handlers; convert CEE_LEAVE block BB05 to BBJ_ALWAYS
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (always) T2
BB06 [0005] 1 2 BB04 1 [02C..049) T2 i
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (always) T2 i bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 i bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportBlockPending for BB35
Importing BB34 (PC=949) of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
lvaGrabTemp returning 32 (V32 tmp13) called for impSpillSpecialSideEff.
STMT00098 (IL 0x3B5... ???)
[000505] -A---O------ * ASG ref
[000504] D------N---- +--* LCL_VAR ref V32 tmp13
[000009] -----O------ \--* CATCH_ARG ref
Marked V32 as a single def temp
lvaSetClass: setting class for V32 to (00000000004231C0) [S.P.CoreLib]System.Exception
[ 1] 949 (0x3b5) stloc.s 17
STMT00099 (IL ???... ???)
[000508] -A---------- * ASG ref
[000507] D------N---- +--* LCL_VAR ref V18 loc17
[000506] ------------ \--* LCL_VAR ref V32 tmp13
[ 0] 951 (0x3b7) ldarg.0
[ 1] 952 (0x3b8) ldc.i4.s -2
[ 2] 954 (0x3ba) stfld 040009C3
STMT00100 (IL 0x3B7... ???)
[000512] -A-XG------- * ASG int
[000511] ---XG--N---- +--* FIELD int <>1__state
[000509] ------------ | \--* LCL_VAR byref V00 this
[000510] ------------ \--* CNS_INT int -2
[ 0] 959 (0x3bf) ldarg.0
[ 1] 960 (0x3c0) ldflda 040009C4
[ 1] 965 (0x3c5) ldloc.s 17
[ 2] 967 (0x3c7) call 0A00021A
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
Will not inline blocks that are in the catch handler region
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'within catch region' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetException([S.P.CoreLib]System.Exception):this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'within catch region'
STMT00101 (IL 0x3BF... ???)
[000517] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException
[000515] ---XG------- this in rcx +--* ADDR byref
[000514] ---XG------- | \--* FIELD struct <>t__builder
[000513] ------------ | \--* LCL_VAR byref V00 this
[000516] ------------ arg1 \--* LCL_VAR ref V18 loc17
[ 0] 972 (0x3cc) leave.s 03E2
Before import CEE_LEAVE in BB34 (targetting BB36):
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 BB04 1 [02C..049) T2 i
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (always) T2 i bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 i bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 (leave ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportLeave - jumping out of a catch (EH#2), convert block BB34 to BBJ_EHCATCHRET block
impImportLeave - final destination of step blocks set to BB36
impImportBlockPending for BB36
After import CEE_LEAVE:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 BB04 1 [02C..049) T2 i
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (always) T2 i bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 i bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 ( cret ) H2 catch { } keep label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB08 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB33 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
impImportBlockPending for BB36
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd cheap preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 BB04 1 [02C..049) T2 i
BB07 [0006] 2 2 BB33,BB06 1 [049..050) T2 i bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB10 (always) T0 try { } keep i try label bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 BB09,BB08 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 BB10 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 BB10 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 BB12 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 BB22 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 BB14 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 BB02 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 BB16,BB14 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 BB17 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 BB19,BB18 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 BB20,BB13 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 BB21 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 BB22,BB21 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 BB23 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 BB23 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 BB25,BB24 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 BB26 1 [253..2CE)-> BB35 (always) T2 i bwd
BB28 [0027] 2 2 BB26,BB12 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 BB28 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 BB03 1 [337..354) T2 i bwd
BB31 [0030] 2 2 BB30,BB28 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 BB31 1 [361..383)-> BB35 (always) T2 i bwd
BB33 [0032] 1 2 BB31 1 [383..3B5)-> BB07 (always) T2 } i bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 ( cret ) H2 catch { } keep i label target
BB35 [0034] 4 BB32,BB27,BB11,BB05 1 [3CE..3E2) i
BB36 [0035] 4 BB35,BB34,BB29,BB15 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Finishing PHASE Importation
*************** Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(root)
-- no candidates to transform
*************** Finishing PHASE Indirect call transform
*************** Starting PHASE Post-import
*************** Finishing PHASE Post-import
*************** Starting PHASE Morph - Init
New BlockSet epoch 1, # of blocks (including unused BB00): 37, bitset array size: 1 (short)
*************** Finishing PHASE Morph - Init
*************** In fgDebugCheckBBlist
*************** Starting PHASE Morph - Inlining
*************** In fgInline()
Querying runtime about current class of field <ReadContentAsBinaryAsync>d__588.<>4__this (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl)
Field's current class not available
**** Late devirt opportunity
[000500] --CXG------- * CALLV stub void System.Xml.IncrementalReadDecoder.SetNextOutputBuffer
[000493] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000492] ------------ | \--* LCL_VAR ref V02 loc1
[000495] ---XG------- arg1 +--* FIELD ref buffer
[000494] ------------ | \--* LCL_VAR byref V00 this
[000497] ---XG------- arg2 +--* FIELD int index
[000496] ------------ | \--* LCL_VAR byref V00 this
[000499] ---XG------- arg3 \--* FIELD int count
[000498] ------------ \--* LCL_VAR byref V00 this
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::SetNextOutputBuffer
devirt to System.Xml.IncrementalReadDecoder::SetNextOutputBuffer -- inexact or not final
[000500] --CXG------- * CALLV stub void System.Xml.IncrementalReadDecoder.SetNextOutputBuffer
[000493] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000492] ------------ | \--* LCL_VAR ref V02 loc1
[000495] ---XG------- arg1 +--* FIELD ref buffer
[000494] ------------ | \--* LCL_VAR byref V00 this
[000497] ---XG------- arg2 +--* FIELD int index
[000496] ------------ | \--* LCL_VAR byref V00 this
[000499] ---XG------- arg3 \--* FIELD int count
[000498] ------------ \--* LCL_VAR byref V00 this
Class not final or exact, and method not final
No guarded devirt during late devirtualization
Expanding INLINE_CANDIDATE in statement STMT00040 in BB08:
STMT00040 (IL 0x050...0x068)
[000207] I-CXG------- * CALL r2r_ind int NodeData.CopyToBinary (exactContextHnd=0x0000000000433B19)
[000202] ---XG------- this in rcx +--* FIELD ref _curNode
[000201] ------------ | \--* LCL_VAR ref V02 loc1
[000204] ---XG------- arg1 +--* FIELD ref _incReadDecoder
[000203] ------------ | \--* LCL_VAR ref V02 loc1
[000206] ---XG------- arg2 \--* FIELD int _readValueOffset
[000205] ------------ \--* LCL_VAR ref V02 loc1
thisArg: has global refs has side effects
[000202] ---XG------- * FIELD ref _curNode
[000201] ------------ \--* LCL_VAR ref V02 loc1
Argument #1: has global refs has side effects
[000204] ---XG------- * FIELD ref _incReadDecoder
[000203] ------------ \--* LCL_VAR ref V02 loc1
Argument #2: has global refs has side effects
[000206] ---XG------- * FIELD int _readValueOffset
[000205] ------------ \--* LCL_VAR ref V02 loc1
INLINER: inlineInfo.tokenLookupContextHandle for NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this set to 0x0000000000433B19:
Invoking compiler for the inlinee method NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 7b de 07 00 04 ldfld 0x40007DE
IL_0006 2d 1d brtrue.s 29 (IL_0025)
IL_0008 03 ldarg.1
IL_0009 02 ldarg.0
IL_000a 7b df 07 00 04 ldfld 0x40007DF
IL_000f 02 ldarg.0
IL_0010 7b e0 07 00 04 ldfld 0x40007E0
IL_0015 04 ldarg.2
IL_0016 58 add
IL_0017 02 ldarg.0
IL_0018 7b e1 07 00 04 ldfld 0x40007E1
IL_001d 04 ldarg.2
IL_001e 59 sub
IL_001f 6f ee 0c 00 06 callvirt 0x6000CEE
IL_0024 2a ret
IL_0025 03 ldarg.1
IL_0026 02 ldarg.0
IL_0027 7b de 07 00 04 ldfld 0x40007DE
IL_002c 04 ldarg.2
IL_002d 02 ldarg.0
IL_002e 7b de 07 00 04 ldfld 0x40007DE
IL_0033 6f 03 00 00 0a callvirt 0xA000003
IL_0038 04 ldarg.2
IL_0039 59 sub
IL_003a 6f ef 0c 00 06 callvirt 0x6000CEF
IL_003f 2a ret
INLINER impTokenLookupContextHandle for NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this is 0x0000000000433B19.
*************** In fgFindBasicBlocks() for NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 25 : state 45 [ brtrue.s ]
weight= 16 : state 4 [ ldarg.1 ]
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 35 : state 5 [ ldarg.2 ]
weight=-12 : state 76 [ add ]
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 35 : state 5 [ ldarg.2 ]
weight=-15 : state 77 [ sub ]
weight= 83 : state 99 [ callvirt ]
weight= 19 : state 42 [ ret ]
weight= 16 : state 4 [ ldarg.1 ]
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 35 : state 5 [ ldarg.2 ]
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 83 : state 99 [ callvirt ]
weight= 35 : state 5 [ ldarg.2 ]
weight=-15 : state 77 [ sub ]
weight= 83 : state 99 [ callvirt ]
weight= 19 : state 42 [ ret ]
Inline candidate looks like a wrapper method. Multiplier increased to 1.
Inline candidate has an arg that feeds a constant test. Multiplier increased to 2.
Inline candidate callsite is in a loop. Multiplier increased to 5.
calleeNativeSizeEstimate=628
callsiteNativeSizeEstimate=145
benefit multiplier=5
threshold=725
Native estimate for function size is within threshold for inlining 62.8 <= 72.5 (multiplier = 5)
Jump targets:
IL_0025
New Basic Block BB37 [0036] created.
BB37 [000..008)
New Basic Block BB38 [0037] created.
BB38 [008..025)
New Basic Block BB39 [0038] created.
BB39 [025..040)
lvaGrabTemp returning 33 (V33 tmp14) (a long lifetime temp) called for Inline return value spill temp.
Basic block list for 'NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB37 [0036] 1 1 [000..008)-> BB39 ( cond )
BB38 [0037] 1 1 [008..025) (return)
BB39 [0038] 1 1 [025..040) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000207] Starting PHASE Pre-import
*************** Inline @[000207] Finishing PHASE Pre-import
*************** Inline @[000207] Starting PHASE Importation
*************** In impImport() for NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this
impImportBlockPending for BB37
Importing BB37 (PC=000) of 'NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this'
[ 0] 0 (0x000) ldarg.0
lvaGrabTemp returning 34 (V34 tmp15) called for Inlining Arg.
Marked V34 as a single def temp
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
lvaSetClass: setting class for V34 to (0000000000433B18) [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData
[ 1] 1 (0x001) ldfld 040007DE
[ 1] 6 (0x006) brtrue.s
[000522] ---XG------- * JTRUE void
[000521] ---XG------- \--* NE int
[000519] ---XG------- +--* FIELD ref _value
[000518] ------------ | \--* LCL_VAR ref V34 tmp15
[000520] ------------ \--* CNS_INT ref null
impImportBlockPending for BB38
impImportBlockPending for BB39
Importing BB39 (PC=037) of 'NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this'
[ 0] 37 (0x025) ldarg.1
lvaGrabTemp returning 35 (V35 tmp16) called for Inlining Arg.
Marked V35 as a single def temp
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
lvaSetClass: setting class for V35 to (0000000000436248) [S.P.Xml]System.Xml.IncrementalReadDecoder
[ 1] 38 (0x026) ldarg.0
[ 2] 39 (0x027) ldfld 040007DE
[ 2] 44 (0x02c) ldarg.2
lvaGrabTemp returning 36 (V36 tmp17) called for Inlining Arg.
[ 3] 45 (0x02d) ldarg.0
[ 4] 46 (0x02e) ldfld 040007DE
[ 4] 51 (0x033) callvirt 0A000003
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is int, structSize is 0
[ 4] 56 (0x038) ldarg.2
[ 5] 57 (0x039) sub
[ 4] 58 (0x03a) callvirt 06000CEF
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is int, structSize is 0
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::Decode
devirt to System.Xml.IncrementalReadDecoder::Decode -- inexact or not final
[000532] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000523] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000525] ---XG------- arg1 +--* FIELD ref _value
[000524] ------------ | \--* LCL_VAR ref V34 tmp15
[000526] ------------ arg2 +--* LCL_VAR int V36 tmp17
[000531] ---XG------- arg3 \--* SUB int
[000529] ---XG------- +--* ARR_LENGTH int
[000528] ---XG------- | \--* FIELD ref _value
[000527] ------------ | \--* LCL_VAR ref V34 tmp15
[000530] ------------ \--* LCL_VAR int V36 tmp17
Class not final or exact, and method not final
NOT Marking call [000532] as guarded devirtualization candidate -- disabled by jit config
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this' calling 'System.Xml.IncrementalReadDecoder:Decode(string,int,int):int:this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct'
[ 1] 63 (0x03f) ret
Inlinee Return expression (before normalization) =>
[000532] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000523] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000525] ---XG------- arg1 +--* FIELD ref _value
[000524] ------------ | \--* LCL_VAR ref V34 tmp15
[000526] ------------ arg2 +--* LCL_VAR int V36 tmp17
[000531] ---XG------- arg3 \--* SUB int
[000529] ---XG------- +--* ARR_LENGTH int
[000528] ---XG------- | \--* FIELD ref _value
[000527] ------------ | \--* LCL_VAR ref V34 tmp15
[000530] ------------ \--* LCL_VAR int V36 tmp17
[000534] -ACXG------- * ASG int
[000533] D------N---- +--* LCL_VAR int V33 tmp14
[000532] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000523] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000525] ---XG------- arg1 +--* FIELD ref _value
[000524] ------------ | \--* LCL_VAR ref V34 tmp15
[000526] ------------ arg2 +--* LCL_VAR int V36 tmp17
[000531] ---XG------- arg3 \--* SUB int
[000529] ---XG------- +--* ARR_LENGTH int
[000528] ---XG------- | \--* FIELD ref _value
[000527] ------------ | \--* LCL_VAR ref V34 tmp15
[000530] ------------ \--* LCL_VAR int V36 tmp17
Inlinee Return expression (after normalization) =>
[000535] ------------ * LCL_VAR int V33 tmp14
Importing BB38 (PC=008) of 'NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this'
[ 0] 8 (0x008) ldarg.1
[ 1] 9 (0x009) ldarg.0
[ 2] 10 (0x00a) ldfld 040007DF
[ 2] 15 (0x00f) ldarg.0
[ 3] 16 (0x010) ldfld 040007E0
[ 3] 21 (0x015) ldarg.2
[ 4] 22 (0x016) add
[ 3] 23 (0x017) ldarg.0
[ 4] 24 (0x018) ldfld 040007E1
[ 4] 29 (0x01d) ldarg.2
[ 5] 30 (0x01e) sub
[ 4] 31 (0x01f) callvirt 06000CEE
In Compiler::impImportCall: opcode is callvirt, kind=2, callRetType is int, structSize is 0
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::Decode
devirt to System.Xml.IncrementalReadDecoder::Decode -- inexact or not final
[000547] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000536] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000538] ---XG------- arg1 +--* FIELD ref _chars
[000537] ------------ | \--* LCL_VAR ref V34 tmp15
[000542] ---XG------- arg2 +--* ADD int
[000540] ---XG------- | +--* FIELD int _valueStartPos
[000539] ------------ | | \--* LCL_VAR ref V34 tmp15
[000541] ------------ | \--* LCL_VAR int V36 tmp17
[000546] ---XG------- arg3 \--* SUB int
[000544] ---XG------- +--* FIELD int _valueLength
[000543] ------------ | \--* LCL_VAR ref V34 tmp15
[000545] ------------ \--* LCL_VAR int V36 tmp17
Class not final or exact, and method not final
NOT Marking call [000547] as guarded devirtualization candidate -- disabled by jit config
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct' for 'NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this' calling 'System.Xml.IncrementalReadDecoder:Decode(char[],int,int):int:this'
INLINER: during 'impMarkInlineCandidate' result 'failed this call site' reason 'target not direct'
[ 1] 36 (0x024) ret
Inlinee Return expression (before normalization) =>
[000547] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000536] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000538] ---XG------- arg1 +--* FIELD ref _chars
[000537] ------------ | \--* LCL_VAR ref V34 tmp15
[000542] ---XG------- arg2 +--* ADD int
[000540] ---XG------- | +--* FIELD int _valueStartPos
[000539] ------------ | | \--* LCL_VAR ref V34 tmp15
[000541] ------------ | \--* LCL_VAR int V36 tmp17
[000546] ---XG------- arg3 \--* SUB int
[000544] ---XG------- +--* FIELD int _valueLength
[000543] ------------ | \--* LCL_VAR ref V34 tmp15
[000545] ------------ \--* LCL_VAR int V36 tmp17
[000549] -ACXG------- * ASG int
[000548] D------N---- +--* LCL_VAR int V33 tmp14
[000547] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000536] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000538] ---XG------- arg1 +--* FIELD ref _chars
[000537] ------------ | \--* LCL_VAR ref V34 tmp15
[000542] ---XG------- arg2 +--* ADD int
[000540] ---XG------- | +--* FIELD int _valueStartPos
[000539] ------------ | | \--* LCL_VAR ref V34 tmp15
[000541] ------------ | \--* LCL_VAR int V36 tmp17
[000546] ---XG------- arg3 \--* SUB int
[000544] ---XG------- +--* FIELD int _valueLength
[000543] ------------ | \--* LCL_VAR ref V34 tmp15
[000545] ------------ \--* LCL_VAR int V36 tmp17
Inlinee Return expression (after normalization) =>
[000550] ------------ * LCL_VAR int V33 tmp14
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB37 [0036] 1 1 [000..008)-> BB39 ( cond ) i
BB38 [0037] 1 1 [008..025) (return) i
BB39 [0038] 1 1 [025..040) (return) i idxlen
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000207] Finishing PHASE Importation
*************** Inline @[000207] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000207] Finishing PHASE Indirect call transform
*************** Inline @[000207] Starting PHASE Post-import
*************** Inline @[000207] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000207] -----------
Arguments setup:
STMT00105 (IL 0x050... ???)
[000552] -A-XG------- * ASG ref
[000551] D------N---- +--* LCL_VAR ref V34 tmp15
[000202] ---XG------- \--* FIELD ref _curNode
[000201] ------------ \--* LCL_VAR ref V02 loc1
STMT00106 (IL 0x050... ???)
[000554] -A-XG------- * ASG ref
[000553] D------N---- +--* LCL_VAR ref V35 tmp16
[000204] ---XG------- \--* FIELD ref _incReadDecoder
[000203] ------------ \--* LCL_VAR ref V02 loc1
STMT00107 (IL 0x050... ???)
[000556] -A-XG------- * ASG int
[000555] D------N---- +--* LCL_VAR int V36 tmp17
[000206] ---XG------- \--* FIELD int _readValueOffset
[000205] ------------ \--* LCL_VAR ref V02 loc1
Inlinee method body:New Basic Block BB40 [0039] created.
EH#0: New last block of try: BB40
Convert bbJumpKind of BB38 to BBJ_ALWAYS to bottomBlock BB40
Convert bbJumpKind of BB39 to BBJ_NONE
fgInlineAppendStatements: no gc ref inline locals.
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB37 [0036] 1 0 1 [050..051)-> BB39 ( cond ) T0 i bwd
BB38 [0037] 1 0 1 [050..051)-> BB40 (always) T0 i bwd
BB39 [0038] 1 0 1 [050..051) T0 i idxlen bwd
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB37 [050..051) -> BB39 (cond), preds={} succs={BB38,BB39}
***** BB37
STMT00102 (IL 0x050... ???)
[000522] ---XG------- * JTRUE void
[000521] ---XG------- \--* NE int
[000519] ---XG------- +--* FIELD ref _value
[000518] ------------ | \--* LCL_VAR ref V34 tmp15
[000520] ------------ \--* CNS_INT ref null
------------ BB38 [050..051) -> BB40 (always), preds={} succs={BB40}
***** BB38
STMT00104 (IL 0x050... ???)
[000549] -ACXG------- * ASG int
[000548] D------N---- +--* LCL_VAR int V33 tmp14
[000547] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000536] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000538] ---XG------- arg1 +--* FIELD ref _chars
[000537] ------------ | \--* LCL_VAR ref V34 tmp15
[000542] ---XG------- arg2 +--* ADD int
[000540] ---XG------- | +--* FIELD int _valueStartPos
[000539] ------------ | | \--* LCL_VAR ref V34 tmp15
[000541] ------------ | \--* LCL_VAR int V36 tmp17
[000546] ---XG------- arg3 \--* SUB int
[000544] ---XG------- +--* FIELD int _valueLength
[000543] ------------ | \--* LCL_VAR ref V34 tmp15
[000545] ------------ \--* LCL_VAR int V36 tmp17
------------ BB39 [050..051), preds={} succs={BB40}
***** BB39
STMT00103 (IL 0x050... ???)
[000534] -ACXG------- * ASG int
[000533] D------N---- +--* LCL_VAR int V33 tmp14
[000532] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000523] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000525] ---XG------- arg1 +--* FIELD ref _value
[000524] ------------ | \--* LCL_VAR ref V34 tmp15
[000526] ------------ arg2 +--* LCL_VAR int V36 tmp17
[000531] ---XG------- arg3 \--* SUB int
[000529] ---XG------- +--* ARR_LENGTH int
[000528] ---XG------- | \--* FIELD ref _value
[000527] ------------ | \--* LCL_VAR ref V34 tmp15
[000530] ------------ \--* LCL_VAR int V36 tmp17
-------------------------------------------------------------------------------------------------------------------
INLINER: Updating optMethodFlags -- root:0 callee:4 new:4
Return expression for call at [000207] is
[000550] ------------ * LCL_VAR int V33 tmp14
Successfully inlined NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this (64 IL bytes) (depth 1) [profitable inline]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this'
INLINER: during 'fgInline' result 'success' reason 'profitable inline'
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
**** Late devirt opportunity
[000547] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000536] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000538] ---XG------- arg1 +--* FIELD ref _chars
[000537] ------------ | \--* LCL_VAR ref V34 tmp15
[000542] ---XG------- arg2 +--* ADD int
[000540] ---XG------- | +--* FIELD int _valueStartPos
[000539] ------------ | | \--* LCL_VAR ref V34 tmp15
[000541] ------------ | \--* LCL_VAR int V36 tmp17
[000546] ---XG------- arg3 \--* SUB int
[000544] ---XG------- +--* FIELD int _valueLength
[000543] ------------ | \--* LCL_VAR ref V34 tmp15
[000545] ------------ \--* LCL_VAR int V36 tmp17
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::Decode
devirt to System.Xml.IncrementalReadDecoder::Decode -- inexact or not final
[000547] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000536] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000538] ---XG------- arg1 +--* FIELD ref _chars
[000537] ------------ | \--* LCL_VAR ref V34 tmp15
[000542] ---XG------- arg2 +--* ADD int
[000540] ---XG------- | +--* FIELD int _valueStartPos
[000539] ------------ | | \--* LCL_VAR ref V34 tmp15
[000541] ------------ | \--* LCL_VAR int V36 tmp17
[000546] ---XG------- arg3 \--* SUB int
[000544] ---XG------- +--* FIELD int _valueLength
[000543] ------------ | \--* LCL_VAR ref V34 tmp15
[000545] ------------ \--* LCL_VAR int V36 tmp17
Class not final or exact, and method not final
No guarded devirt during late devirtualization
**** Late devirt opportunity
[000532] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000523] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000525] ---XG------- arg1 +--* FIELD ref _value
[000524] ------------ | \--* LCL_VAR ref V34 tmp15
[000526] ------------ arg2 +--* LCL_VAR int V36 tmp17
[000531] ---XG------- arg3 \--* SUB int
[000529] ---XG------- +--* ARR_LENGTH int
[000528] ---XG------- | \--* FIELD ref _value
[000527] ------------ | \--* LCL_VAR ref V34 tmp15
[000530] ------------ \--* LCL_VAR int V36 tmp17
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::Decode
devirt to System.Xml.IncrementalReadDecoder::Decode -- inexact or not final
[000532] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000523] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000525] ---XG------- arg1 +--* FIELD ref _value
[000524] ------------ | \--* LCL_VAR ref V34 tmp15
[000526] ------------ arg2 +--* LCL_VAR int V36 tmp17
[000531] ---XG------- arg3 \--* SUB int
[000529] ---XG------- +--* ARR_LENGTH int
[000528] ---XG------- | \--* FIELD ref _value
[000527] ------------ | \--* LCL_VAR ref V34 tmp15
[000530] ------------ \--* LCL_VAR int V36 tmp17
Class not final or exact, and method not final
No guarded devirt during late devirtualization
Replacing the return expression placeholder [000208] with [000550]
[000208] --C--------- * RET_EXPR int (inl return from call [000550])
Inserting the inline return expression
[000550] ------------ * LCL_VAR int V33 tmp14
**** Late devirt opportunity
[000221] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000220] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000219] ------------ \--* LCL_VAR ref V02 loc1
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_IsFull
devirt to System.Xml.IncrementalReadDecoder::get_IsFull -- inexact or not final
[000221] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000220] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000219] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
No guarded devirt during late devirtualization
**** Late devirt opportunity
[000248] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000247] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000246] ------------ \--* LCL_VAR ref V02 loc1
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_DecodedCount
devirt to System.Xml.IncrementalReadDecoder::get_DecodedCount -- inexact or not final
[000248] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000247] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000246] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
No guarded devirt during late devirtualization
Expanding INLINE_CANDIDATE in statement STMT00045 in BB13:
STMT00045 (IL 0x0EF...0x100)
[000236] I-CXG------- * CALL r2r_ind void NodeData.SetValue (exactContextHnd=0x0000000000433B19)
[000232] ---XG------- this in rcx +--* FIELD ref _curNode
[000231] ------------ | \--* LCL_VAR ref V02 loc1
[000235] n---G------- arg1 \--* IND ref
[000234] #----------- \--* IND long
[000233] ------------ \--* CNS_INT(h) long 0x4217B8 pstr
thisArg: has global refs has side effects
[000232] ---XG------- * FIELD ref _curNode
[000231] ------------ \--* LCL_VAR ref V02 loc1
Argument #1: has global refs
[000235] n---G------- * IND ref
[000234] #----------- \--* IND long
[000233] ------------ \--* CNS_INT(h) long 0x4217B8 pstr
INLINER: inlineInfo.tokenLookupContextHandle for NodeData:SetValue(string):this set to 0x0000000000433B19:
Invoking compiler for the inlinee method NodeData:SetValue(string):this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 15 ldc.i4.m1
IL_0002 7d e0 07 00 04 stfld 0x40007E0
IL_0007 02 ldarg.0
IL_0008 03 ldarg.1
IL_0009 7d de 07 00 04 stfld 0x40007DE
IL_000e 2a ret
INLINER impTokenLookupContextHandle for NodeData:SetValue(string):this is 0x0000000000433B19.
*************** In fgFindBasicBlocks() for NodeData:SetValue(string):this
Jump targets:
none
New Basic Block BB41 [0040] created.
BB41 [000..00F)
Basic block list for 'NodeData:SetValue(string):this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB41 [0040] 1 1 [000..00F) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000236] Starting PHASE Pre-import
*************** Inline @[000236] Finishing PHASE Pre-import
*************** Inline @[000236] Starting PHASE Importation
*************** In impImport() for NodeData:SetValue(string):this
impImportBlockPending for BB41
Importing BB41 (PC=000) of 'NodeData:SetValue(string):this'
[ 0] 0 (0x000) ldarg.0
lvaGrabTemp returning 37 (V37 tmp18) called for Inlining Arg.
Marked V37 as a single def temp
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
lvaSetClass: setting class for V37 to (0000000000433B18) [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData
[ 1] 1 (0x001) ldc.i4.m1 -1
[ 2] 2 (0x002) stfld 040007E0
[000561] -A-XG------- * ASG int
[000560] ---XG--N---- +--* FIELD int _valueStartPos
[000558] ------------ | \--* LCL_VAR ref V37 tmp18
[000559] ------------ \--* CNS_INT int -1
[ 0] 7 (0x007) ldarg.0
[ 1] 8 (0x008) ldarg.1
lvaGrabTemp returning 38 (V38 tmp19) called for Inlining Arg.
Marked V38 as a single def temp
lvaSetClass: setting class for V38 to (00000000004200B8) string
[ 2] 9 (0x009) stfld 040007DE
[000565] -A-XG------- * ASG ref
[000564] ---XG--N---- +--* FIELD ref _value
[000562] ------------ | \--* LCL_VAR ref V37 tmp18
[000563] ------------ \--* LCL_VAR ref V38 tmp19
[ 0] 14 (0x00e) ret
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB41 [0040] 1 1 [000..00F) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000236] Finishing PHASE Importation
*************** Inline @[000236] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000236] Finishing PHASE Indirect call transform
*************** Inline @[000236] Starting PHASE Post-import
*************** Inline @[000236] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000236] -----------
Arguments setup:
STMT00110 (IL 0x0EF... ???)
[000567] -A-XG------- * ASG ref
[000566] D------N---- +--* LCL_VAR ref V37 tmp18
[000232] ---XG------- \--* FIELD ref _curNode
[000231] ------------ \--* LCL_VAR ref V02 loc1
STMT00111 (IL 0x0EF... ???)
[000569] -A--G------- * ASG ref
[000568] D------N---- +--* LCL_VAR ref V38 tmp19
[000235] n---G------- \--* IND ref
[000234] #----------- \--* IND long
[000233] ------------ \--* CNS_INT(h) long 0x4217B8 pstr
Inlinee method body:
STMT00108 (IL 0x0EF... ???)
[000561] -A-XG------- * ASG int
[000560] ---XG--N---- +--* FIELD int _valueStartPos
[000558] ------------ | \--* LCL_VAR ref V37 tmp18
[000559] ------------ \--* CNS_INT int -1
STMT00109 (IL 0x0EF... ???)
[000565] -A-XG------- * ASG ref
[000564] ---XG--N---- +--* FIELD ref _value
[000562] ------------ | \--* LCL_VAR ref V37 tmp18
[000563] ------------ \--* LCL_VAR ref V38 tmp19
fgInlineAppendStatements: no gc ref inline locals.
Successfully inlined NodeData:SetValue(string):this (15 IL bytes) (depth 1) [below ALWAYS_INLINE size]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'NodeData:SetValue(string):this'
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size'
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
Expanding INLINE_CANDIDATE in statement STMT00073 in BB14:
STMT00073 (IL 0x110... ???)
[000389] I-CXG------- * CALL r2r_ind int ParsingState.get_LineNo (exactContextHnd=0x0000000000436259)
[000388] ---XG------- this in rcx \--* ADDR byref
[000387] ---XG------- \--* FIELD struct _ps
[000386] ------------ \--* LCL_VAR ref V02 loc1
thisArg: has global refs has side effects
[000388] ---XG------- * ADDR byref
[000387] ---XG------- \--* FIELD struct _ps
[000386] ------------ \--* LCL_VAR ref V02 loc1
INLINER: inlineInfo.tokenLookupContextHandle for ParsingState:get_LineNo():int:this set to 0x0000000000436259:
Invoking compiler for the inlinee method ParsingState:get_LineNo():int:this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 7b c9 07 00 04 ldfld 0x40007C9
IL_0006 2a ret
INLINER impTokenLookupContextHandle for ParsingState:get_LineNo():int:this is 0x0000000000436259.
*************** In fgFindBasicBlocks() for ParsingState:get_LineNo():int:this
Jump targets:
none
New Basic Block BB42 [0041] created.
BB42 [000..007)
Basic block list for 'ParsingState:get_LineNo():int:this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB42 [0041] 1 1 [000..007) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000389] Starting PHASE Pre-import
*************** Inline @[000389] Finishing PHASE Pre-import
*************** Inline @[000389] Starting PHASE Importation
*************** In impImport() for ParsingState:get_LineNo():int:this
impImportBlockPending for BB42
Importing BB42 (PC=000) of 'ParsingState:get_LineNo():int:this'
[ 0] 0 (0x000) ldarg.0
lvaGrabTemp returning 39 (V39 tmp20) called for Inlining Arg.
[ 1] 1 (0x001) ldfld 040007C9
[ 1] 6 (0x006) ret
Inlinee Return expression (before normalization) =>
[000572] ---XG------- * FIELD int lineNo
[000571] ------------ \--* LCL_VAR byref V39 tmp20
Inlinee Return expression (after normalization) =>
[000572] ---XG------- * FIELD int lineNo
[000571] ------------ \--* LCL_VAR byref V39 tmp20
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB42 [0041] 1 1 [000..007) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
** Note: inlinee IL was partially imported -- imported 0 of 7 bytes of method IL
*************** Inline @[000389] Finishing PHASE Importation
*************** Inline @[000389] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000389] Finishing PHASE Indirect call transform
*************** Inline @[000389] Starting PHASE Post-import
*************** Inline @[000389] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000389] -----------
Arguments setup:
STMT00112 (IL 0x110... ???)
[000574] -A-XG------- * ASG byref
[000573] D------N---- +--* LCL_VAR byref V39 tmp20
[000388] ---XG------- \--* ADDR byref
[000387] ---XG------- \--* FIELD struct _ps
[000386] ------------ \--* LCL_VAR ref V02 loc1
Inlinee method body:fgInlineAppendStatements: no gc ref inline locals.
Return expression for call at [000389] is
[000572] ---XG------- * FIELD int lineNo
[000571] ------------ \--* LCL_VAR byref V39 tmp20
Successfully inlined ParsingState:get_LineNo():int:this (7 IL bytes) (depth 1) [below ALWAYS_INLINE size]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'ParsingState:get_LineNo():int:this'
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size'
Replacing the return expression placeholder [000393] with [000572]
[000393] --C--------- * RET_EXPR int (inl return from call [000572])
Inserting the inline return expression
[000572] ---XG------- * FIELD int lineNo
[000571] ------------ \--* LCL_VAR byref V39 tmp20
Expanding INLINE_CANDIDATE in statement STMT00075 in BB14:
STMT00075 (IL ???... ???)
[000397] I-CXG------- * CALL r2r_ind int ParsingState.get_LinePos (exactContextHnd=0x0000000000436259)
[000396] ---XG------- this in rcx \--* ADDR byref
[000395] ---XG------- \--* FIELD struct _ps
[000394] ------------ \--* LCL_VAR ref V02 loc1
thisArg: has global refs has side effects
[000396] ---XG------- * ADDR byref
[000395] ---XG------- \--* FIELD struct _ps
[000394] ------------ \--* LCL_VAR ref V02 loc1
INLINER: inlineInfo.tokenLookupContextHandle for ParsingState:get_LinePos():int:this set to 0x0000000000436259:
Invoking compiler for the inlinee method ParsingState:get_LinePos():int:this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 7b bf 07 00 04 ldfld 0x40007BF
IL_0006 02 ldarg.0
IL_0007 7b ca 07 00 04 ldfld 0x40007CA
IL_000c 59 sub
IL_000d 2a ret
INLINER impTokenLookupContextHandle for ParsingState:get_LinePos():int:this is 0x0000000000436259.
*************** In fgFindBasicBlocks() for ParsingState:get_LinePos():int:this
Jump targets:
none
New Basic Block BB43 [0042] created.
BB43 [000..00E)
Basic block list for 'ParsingState:get_LinePos():int:this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB43 [0042] 1 1 [000..00E) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000397] Starting PHASE Pre-import
*************** Inline @[000397] Finishing PHASE Pre-import
*************** Inline @[000397] Starting PHASE Importation
*************** In impImport() for ParsingState:get_LinePos():int:this
impImportBlockPending for BB43
Importing BB43 (PC=000) of 'ParsingState:get_LinePos():int:this'
[ 0] 0 (0x000) ldarg.0
lvaGrabTemp returning 40 (V40 tmp21) called for Inlining Arg.
[ 1] 1 (0x001) ldfld 040007BF
[ 1] 6 (0x006) ldarg.0
[ 2] 7 (0x007) ldfld 040007CA
[ 2] 12 (0x00c) sub
[ 1] 13 (0x00d) ret
Inlinee Return expression (before normalization) =>
[000580] ---XG------- * SUB int
[000577] ---XG------- +--* FIELD int charPos
[000576] ------------ | \--* LCL_VAR byref V40 tmp21
[000579] ---XG------- \--* FIELD int lineStartPos
[000578] ------------ \--* LCL_VAR byref V40 tmp21
Inlinee Return expression (after normalization) =>
[000580] ---XG------- * SUB int
[000577] ---XG------- +--* FIELD int charPos
[000576] ------------ | \--* LCL_VAR byref V40 tmp21
[000579] ---XG------- \--* FIELD int lineStartPos
[000578] ------------ \--* LCL_VAR byref V40 tmp21
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB43 [0042] 1 1 [000..00E) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
** Note: inlinee IL was partially imported -- imported 0 of 14 bytes of method IL
*************** Inline @[000397] Finishing PHASE Importation
*************** Inline @[000397] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000397] Finishing PHASE Indirect call transform
*************** Inline @[000397] Starting PHASE Post-import
*************** Inline @[000397] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000397] -----------
Arguments setup:
STMT00113 (IL ???... ???)
[000582] -A-XG------- * ASG byref
[000581] D------N---- +--* LCL_VAR byref V40 tmp21
[000396] ---XG------- \--* ADDR byref
[000395] ---XG------- \--* FIELD struct _ps
[000394] ------------ \--* LCL_VAR ref V02 loc1
Inlinee method body:fgInlineAppendStatements: no gc ref inline locals.
Return expression for call at [000397] is
[000580] ---XG------- * SUB int
[000577] ---XG------- +--* FIELD int charPos
[000576] ------------ | \--* LCL_VAR byref V40 tmp21
[000579] ---XG------- \--* FIELD int lineStartPos
[000578] ------------ \--* LCL_VAR byref V40 tmp21
Successfully inlined ParsingState:get_LinePos():int:this (14 IL bytes) (depth 1) [below ALWAYS_INLINE size]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'ParsingState:get_LinePos():int:this'
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size'
Expanding INLINE_CANDIDATE in statement STMT00077 in BB14:
STMT00077 (IL ???... ???)
[000402] I-C-G------- * CALL r2r_ind void System.Xml.LineInfo.Set (exactContextHnd=0x0000000000436319)
[000392] ------------ this in rcx +--* LCL_VAR byref V28 tmp9
[000400] ------------ arg1 +--* LCL_VAR int V29 tmp10
[000401] --C--------- arg2 \--* RET_EXPR int (inl return from call [000580])
thisArg: is a local var
[000392] ------------ * LCL_VAR byref V28 tmp9
Argument #1: is a local var
[000400] ------------ * LCL_VAR int V29 tmp10
Argument #2: has global refs has side effects
[000580] ---XG------- * SUB int
[000577] ---XG------- +--* FIELD int charPos
[000576] ------------ | \--* LCL_VAR byref V40 tmp21
[000579] ---XG------- \--* FIELD int lineStartPos
[000578] ------------ \--* LCL_VAR byref V40 tmp21
INLINER: inlineInfo.tokenLookupContextHandle for System.Xml.LineInfo:Set(int,int):this set to 0x0000000000436319:
Invoking compiler for the inlinee method System.Xml.LineInfo:Set(int,int):this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 03 ldarg.1
IL_0002 7d 95 04 00 04 stfld 0x4000495
IL_0007 02 ldarg.0
IL_0008 04 ldarg.2
IL_0009 7d 96 04 00 04 stfld 0x4000496
IL_000e 2a ret
INLINER impTokenLookupContextHandle for System.Xml.LineInfo:Set(int,int):this is 0x0000000000436319.
*************** In fgFindBasicBlocks() for System.Xml.LineInfo:Set(int,int):this
Jump targets:
none
New Basic Block BB44 [0043] created.
BB44 [000..00F)
Basic block list for 'System.Xml.LineInfo:Set(int,int):this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB44 [0043] 1 1 [000..00F) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000402] Starting PHASE Pre-import
*************** Inline @[000402] Finishing PHASE Pre-import
*************** Inline @[000402] Starting PHASE Importation
*************** In impImport() for System.Xml.LineInfo:Set(int,int):this
impImportBlockPending for BB44
Importing BB44 (PC=000) of 'System.Xml.LineInfo:Set(int,int):this'
[ 0] 0 (0x000) ldarg.0
[ 1] 1 (0x001) ldarg.1
[ 2] 2 (0x002) stfld 04000495
[000585] -A-XG------- * ASG int
[000584] ---XG--N---- +--* FIELD int lineNo
[000392] ------------ | \--* LCL_VAR byref V28 tmp9
[000400] ------------ \--* LCL_VAR int V29 tmp10
[ 0] 7 (0x007) ldarg.0
[ 1] 8 (0x008) ldarg.2
lvaGrabTemp returning 41 (V41 tmp22) called for Inlining Arg.
[ 2] 9 (0x009) stfld 04000496
[000589] -A-XG------- * ASG int
[000588] ---XG--N---- +--* FIELD int linePos
[000586] ------------ | \--* LCL_VAR byref V28 tmp9
[000587] ------------ \--* LCL_VAR int V41 tmp22
[ 0] 14 (0x00e) ret
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB44 [0043] 1 1 [000..00F) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000402] Finishing PHASE Importation
*************** Inline @[000402] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000402] Finishing PHASE Indirect call transform
*************** Inline @[000402] Starting PHASE Post-import
*************** Inline @[000402] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000402] -----------
Arguments setup:
STMT00116 (IL ???... ???)
[000591] -A-XG------- * ASG int
[000590] D------N---- +--* LCL_VAR int V41 tmp22
[000580] ---XG------- \--* SUB int
[000577] ---XG------- +--* FIELD int charPos
[000576] ------------ | \--* LCL_VAR byref V40 tmp21
[000579] ---XG------- \--* FIELD int lineStartPos
[000578] ------------ \--* LCL_VAR byref V40 tmp21
Inlinee method body:
STMT00114 (IL ???... ???)
[000585] -A-XG------- * ASG int
[000584] ---XG--N---- +--* FIELD int lineNo
[000392] ------------ | \--* LCL_VAR byref V28 tmp9
[000400] ------------ \--* LCL_VAR int V29 tmp10
STMT00115 (IL ???... ???)
[000589] -A-XG------- * ASG int
[000588] ---XG--N---- +--* FIELD int linePos
[000586] ------------ | \--* LCL_VAR byref V28 tmp9
[000587] ------------ \--* LCL_VAR int V41 tmp22
fgInlineAppendStatements: no gc ref inline locals.
Successfully inlined System.Xml.LineInfo:Set(int,int):this (15 IL bytes) (depth 1) [below ALWAYS_INLINE size]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.LineInfo:Set(int,int):this'
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size'
**** Late devirt opportunity
[000078] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000069] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000068] ------------ | \--* LCL_VAR ref V02 loc1
[000073] ---XG------- arg1 +--* FIELD ref chars
[000072] ---XG------- | \--* ADDR byref
[000071] ---XG------- | \--* FIELD struct _ps
[000070] ------------ | \--* LCL_VAR ref V02 loc1
[000074] ------------ arg2 +--* LCL_VAR int V06 loc5
[000077] ------------ arg3 \--* SUB int
[000075] ------------ +--* LCL_VAR int V07 loc6
[000076] ------------ \--* LCL_VAR int V06 loc5
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::Decode
devirt to System.Xml.IncrementalReadDecoder::Decode -- inexact or not final
[000078] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000069] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000068] ------------ | \--* LCL_VAR ref V02 loc1
[000073] ---XG------- arg1 +--* FIELD ref chars
[000072] ---XG------- | \--* ADDR byref
[000071] ---XG------- | \--* FIELD struct _ps
[000070] ------------ | \--* LCL_VAR ref V02 loc1
[000074] ------------ arg2 +--* LCL_VAR int V06 loc5
[000077] ------------ arg3 \--* SUB int
[000075] ------------ +--* LCL_VAR int V07 loc6
[000076] ------------ \--* LCL_VAR int V06 loc5
Class not final or exact, and method not final
No guarded devirt during late devirtualization
**** Late devirt opportunity
[000089] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000088] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000087] ------------ \--* LCL_VAR ref V02 loc1
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_IsFull
devirt to System.Xml.IncrementalReadDecoder::get_IsFull -- inexact or not final
[000089] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000088] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000087] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
No guarded devirt during late devirtualization
**** Late devirt opportunity
[000121] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000120] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000119] ------------ \--* LCL_VAR ref V02 loc1
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_IsFull
devirt to System.Xml.IncrementalReadDecoder::get_IsFull -- inexact or not final
[000121] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000120] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000119] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
No guarded devirt during late devirtualization
Expanding INLINE_CANDIDATE in statement STMT00065 in BB27:
STMT00065 (IL 0x253...0x2C8)
[000335] I-CXG------- * CALL r2r_ind void NodeData.SetValue (exactContextHnd=0x0000000000433B19)
[000326] ---XG------- this in rcx +--* FIELD ref _curNode
[000325] ------------ | \--* LCL_VAR ref V02 loc1
[000330] ---XG------- arg1 +--* FIELD ref chars
[000329] ---XG------- | \--* ADDR byref
[000328] ---XG------- | \--* FIELD struct _ps
[000327] ------------ | \--* LCL_VAR ref V02 loc1
[000331] ------------ arg2 +--* LCL_VAR int V06 loc5
[000334] ------------ arg3 \--* SUB int
[000332] ------------ +--* LCL_VAR int V07 loc6
[000333] ------------ \--* LCL_VAR int V06 loc5
thisArg: has global refs has side effects
[000326] ---XG------- * FIELD ref _curNode
[000325] ------------ \--* LCL_VAR ref V02 loc1
Argument #1: has global refs has side effects
[000330] ---XG------- * FIELD ref chars
[000329] ---XG------- \--* ADDR byref
[000328] ---XG------- \--* FIELD struct _ps
[000327] ------------ \--* LCL_VAR ref V02 loc1
Argument #2: is a local var
[000331] ------------ * LCL_VAR int V06 loc5
Argument #3:
[000334] ------------ * SUB int
[000332] ------------ +--* LCL_VAR int V07 loc6
[000333] ------------ \--* LCL_VAR int V06 loc5
INLINER: inlineInfo.tokenLookupContextHandle for NodeData:SetValue(char[],int,int):this set to 0x0000000000433B19:
Invoking compiler for the inlinee method NodeData:SetValue(char[],int,int):this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 14 ldnull
IL_0002 7d de 07 00 04 stfld 0x40007DE
IL_0007 02 ldarg.0
IL_0008 03 ldarg.1
IL_0009 7d df 07 00 04 stfld 0x40007DF
IL_000e 02 ldarg.0
IL_000f 04 ldarg.2
IL_0010 7d e0 07 00 04 stfld 0x40007E0
IL_0015 02 ldarg.0
IL_0016 05 ldarg.3
IL_0017 7d e1 07 00 04 stfld 0x40007E1
IL_001c 2a ret
INLINER impTokenLookupContextHandle for NodeData:SetValue(char[],int,int):this is 0x0000000000433B19.
*************** In fgFindBasicBlocks() for NodeData:SetValue(char[],int,int):this
weight= 10 : state 3 [ ldarg.0 ]
weight= 7 : state 21 [ ldnull ]
weight= 31 : state 111 [ stfld ]
weight= 69 : state 226 [ ldarg.0 -> ldarg.1 -> stfld ]
weight= 98 : state 228 [ ldarg.0 -> ldarg.2 -> stfld ]
weight= 97 : state 230 [ ldarg.0 -> ldarg.3 -> stfld ]
weight= 19 : state 42 [ ret ]
Inline candidate is mostly loads and stores. Multiplier increased to 3.
Inline candidate callsite is in a loop. Multiplier increased to 6.
calleeNativeSizeEstimate=331
callsiteNativeSizeEstimate=175
benefit multiplier=6
threshold=1050
Native estimate for function size is within threshold for inlining 33.1 <= 105 (multiplier = 6)
Jump targets:
none
New Basic Block BB45 [0044] created.
BB45 [000..01D)
Basic block list for 'NodeData:SetValue(char[],int,int):this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB45 [0044] 1 1 [000..01D) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000335] Starting PHASE Pre-import
*************** Inline @[000335] Finishing PHASE Pre-import
*************** Inline @[000335] Starting PHASE Importation
*************** In impImport() for NodeData:SetValue(char[],int,int):this
impImportBlockPending for BB45
Importing BB45 (PC=000) of 'NodeData:SetValue(char[],int,int):this'
[ 0] 0 (0x000) ldarg.0
lvaGrabTemp returning 42 (V42 tmp23) called for Inlining Arg.
Marked V42 as a single def temp
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
lvaSetClass: setting class for V42 to (0000000000433B18) [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData
[ 1] 1 (0x001) ldnull
[ 2] 2 (0x002) stfld 040007DE
[000596] -A-XG------- * ASG ref
[000595] ---XG--N---- +--* FIELD ref _value
[000593] ------------ | \--* LCL_VAR ref V42 tmp23
[000594] ------------ \--* CNS_INT ref null
[ 0] 7 (0x007) ldarg.0
[ 1] 8 (0x008) ldarg.1
lvaGrabTemp returning 43 (V43 tmp24) called for Inlining Arg.
Marked V43 as a single def temp
Querying runtime about current class of field ParsingState.chars (declared as char[])
Field's current class not available
lvaSetClass: setting class for V43 to (0000000000426AD8) char[]
[ 2] 9 (0x009) stfld 040007DF
[000600] -A-XG------- * ASG ref
[000599] ---XG--N---- +--* FIELD ref _chars
[000597] ------------ | \--* LCL_VAR ref V42 tmp23
[000598] ------------ \--* LCL_VAR ref V43 tmp24
[ 0] 14 (0x00e) ldarg.0
[ 1] 15 (0x00f) ldarg.2
[ 2] 16 (0x010) stfld 040007E0
[000603] -A-XG------- * ASG int
[000602] ---XG--N---- +--* FIELD int _valueStartPos
[000601] ------------ | \--* LCL_VAR ref V42 tmp23
[000331] ------------ \--* LCL_VAR int V06 loc5
[ 0] 21 (0x015) ldarg.0
[ 1] 22 (0x016) ldarg.3
lvaGrabTemp returning 44 (V44 tmp25) called for Inlining Arg.
[ 2] 23 (0x017) stfld 040007E1
[000607] -A-XG------- * ASG int
[000606] ---XG--N---- +--* FIELD int _valueLength
[000604] ------------ | \--* LCL_VAR ref V42 tmp23
[000605] ------------ \--* LCL_VAR int V44 tmp25
[ 0] 28 (0x01c) ret
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB45 [0044] 1 1 [000..01D) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000335] Finishing PHASE Importation
*************** Inline @[000335] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000335] Finishing PHASE Indirect call transform
*************** Inline @[000335] Starting PHASE Post-import
*************** Inline @[000335] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000335] -----------
Arguments setup:
STMT00121 (IL 0x253... ???)
[000609] -A-XG------- * ASG ref
[000608] D------N---- +--* LCL_VAR ref V42 tmp23
[000326] ---XG------- \--* FIELD ref _curNode
[000325] ------------ \--* LCL_VAR ref V02 loc1
STMT00122 (IL 0x253... ???)
[000611] -A-XG------- * ASG ref
[000610] D------N---- +--* LCL_VAR ref V43 tmp24
[000330] ---XG------- \--* FIELD ref chars
[000329] ---XG------- \--* ADDR byref
[000328] ---XG------- \--* FIELD struct _ps
[000327] ------------ \--* LCL_VAR ref V02 loc1
Inlinee method body:
STMT00117 (IL 0x253... ???)
[000596] -A-XG------- * ASG ref
[000595] ---XG--N---- +--* FIELD ref _value
[000593] ------------ | \--* LCL_VAR ref V42 tmp23
[000594] ------------ \--* CNS_INT ref null
STMT00118 (IL 0x253... ???)
[000600] -A-XG------- * ASG ref
[000599] ---XG--N---- +--* FIELD ref _chars
[000597] ------------ | \--* LCL_VAR ref V42 tmp23
[000598] ------------ \--* LCL_VAR ref V43 tmp24
STMT00119 (IL 0x253... ???)
[000603] -A-XG------- * ASG int
[000602] ---XG--N---- +--* FIELD int _valueStartPos
[000601] ------------ | \--* LCL_VAR ref V42 tmp23
[000331] ------------ \--* LCL_VAR int V06 loc5
STMT00120 (IL 0x253... ???)
[000607] -A-XG------- * ASG int
[000606] ---XG--N---- +--* FIELD int _valueLength
[000604] ------------ | \--* LCL_VAR ref V42 tmp23
[000334] ------------ \--* SUB int
[000332] ------------ +--* LCL_VAR int V07 loc6
[000333] ------------ \--* LCL_VAR int V06 loc5
fgInlineAppendStatements: no gc ref inline locals.
Successfully inlined NodeData:SetValue(char[],int,int):this (29 IL bytes) (depth 1) [profitable inline]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'NodeData:SetValue(char[],int,int):this'
INLINER: during 'fgInline' result 'success' reason 'profitable inline'
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
Querying runtime about current class of field ParsingState.chars (declared as char[])
Field's current class not available
Expanding INLINE_CANDIDATE in statement STMT00066 in BB27:
STMT00066 (IL 0x270... ???)
[000352] I-CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.AdjustLineInfo (exactContextHnd=0x0000000000421769)
[000339] ---XG------- arg0 +--* FIELD ref chars
[000338] ---XG------- | \--* ADDR byref
[000337] ---XG------- | \--* FIELD struct _ps
[000336] ------------ | \--* LCL_VAR ref V02 loc1
[000343] ---XG------- arg1 +--* SUB int
[000340] ------------ | +--* LCL_VAR int V06 loc5
[000342] ---XG------- | \--* FIELD int <charsRead>5__2
[000341] ------------ | \--* LCL_VAR byref V00 this
[000344] ------------ arg2 +--* LCL_VAR int V06 loc5
[000348] ---XG------- arg3 +--* FIELD bool eolNormalized
[000347] ---XG------- | \--* ADDR byref
[000346] ---XG------- | \--* FIELD struct _ps
[000345] ------------ | \--* LCL_VAR ref V02 loc1
[000351] ---XG------- arg4 \--* ADDR byref
[000350] ---XG------- \--* FIELD struct _incReadLineInfo
[000349] ------------ \--* LCL_VAR ref V02 loc1
Argument #0: has global refs has side effects
[000339] ---XG------- * FIELD ref chars
[000338] ---XG------- \--* ADDR byref
[000337] ---XG------- \--* FIELD struct _ps
[000336] ------------ \--* LCL_VAR ref V02 loc1
Argument #1: has global refs has side effects
[000343] ---XG------- * SUB int
[000340] ------------ +--* LCL_VAR int V06 loc5
[000342] ---XG------- \--* FIELD int <charsRead>5__2
[000341] ------------ \--* LCL_VAR byref V00 this
Argument #2: is a local var
[000344] ------------ * LCL_VAR int V06 loc5
Argument #3: has global refs has side effects
[000348] ---XG------- * FIELD bool eolNormalized
[000347] ---XG------- \--* ADDR byref
[000346] ---XG------- \--* FIELD struct _ps
[000345] ------------ \--* LCL_VAR ref V02 loc1
Argument #4: has global refs has side effects
[000351] ---XG------- * ADDR byref
[000350] ---XG------- \--* FIELD struct _incReadLineInfo
[000349] ------------ \--* LCL_VAR ref V02 loc1
Inlinee local #01 is pinned
INLINER: inlineInfo.tokenLookupContextHandle for System.Xml.XmlTextReaderImpl:AdjustLineInfo(char[],int,int,bool,byref) set to 0x0000000000421769:
Invoking compiler for the inlinee method System.Xml.XmlTextReaderImpl:AdjustLineInfo(char[],int,int,bool,byref) :
IL to import:
IL_0000 02 ldarg.0
IL_0001 03 ldarg.1
IL_0002 8f 35 00 00 01 ldelema 0x1000035
IL_0007 0b stloc.1
IL_0008 07 ldloc.1
IL_0009 e0 conv.u
IL_000a 0a stloc.0
IL_000b 06 ldloc.0
IL_000c 04 ldarg.2
IL_000d 03 ldarg.1
IL_000e 59 sub
IL_000f 05 ldarg.3
IL_0010 0e 04 ldarg.s 0x4
IL_0012 28 89 12 00 06 call 0x6001289
IL_0017 16 ldc.i4.0
IL_0018 e0 conv.u
IL_0019 0b stloc.1
IL_001a 2a ret
INLINER impTokenLookupContextHandle for System.Xml.XmlTextReaderImpl:AdjustLineInfo(char[],int,int,bool,byref) is 0x0000000000421769.
*************** In fgFindBasicBlocks() for System.Xml.XmlTextReaderImpl:AdjustLineInfo(char[],int,int,bool,byref)
weight= 10 : state 3 [ ldarg.0 ]
weight= 16 : state 4 [ ldarg.1 ]
weight=145 : state 120 [ ldelema ]
weight= -7 : state 200 [ stloc.1 -> ldloc.1 ]
weight=-36 : state 165 [ conv.u ]
weight= 20 : state 199 [ stloc.0 -> ldloc.0 ]
weight= 35 : state 5 [ ldarg.2 ]
weight= 16 : state 4 [ ldarg.1 ]
weight=-15 : state 77 [ sub ]
weight= 28 : state 6 [ ldarg.3 ]
weight= 32 : state 15 [ ldarg.s ]
weight= 79 : state 40 [ call ]
weight= 15 : state 23 [ ldc.i4.0 ]
weight=-36 : state 165 [ conv.u ]
weight= 34 : state 12 [ stloc.1 ]
weight= 19 : state 42 [ ret ]
Inline candidate callsite is in a loop. Multiplier increased to 3.
calleeNativeSizeEstimate=355
callsiteNativeSizeEstimate=205
benefit multiplier=3
threshold=615
Native estimate for function size is within threshold for inlining 35.5 <= 61.5 (multiplier = 3)
Jump targets:
none
New Basic Block BB46 [0045] created.
BB46 [000..01B)
Basic block list for 'System.Xml.XmlTextReaderImpl:AdjustLineInfo(char[],int,int,bool,byref)'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB46 [0045] 1 1 [000..01B) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000352] Starting PHASE Pre-import
*************** Inline @[000352] Finishing PHASE Pre-import
*************** Inline @[000352] Starting PHASE Importation
*************** In impImport() for System.Xml.XmlTextReaderImpl:AdjustLineInfo(char[],int,int,bool,byref)
impImportBlockPending for BB46
Importing BB46 (PC=000) of 'System.Xml.XmlTextReaderImpl:AdjustLineInfo(char[],int,int,bool,byref)'
[ 0] 0 (0x000) ldarg.0
lvaGrabTemp returning 45 (V45 tmp26) called for Inlining Arg.
Marked V45 as a single def temp
Querying runtime about current class of field ParsingState.chars (declared as char[])
Field's current class not available
lvaSetClass: setting class for V45 to (0000000000426AD8) char[]
[ 1] 1 (0x001) ldarg.1
lvaGrabTemp returning 46 (V46 tmp27) called for Inlining Arg.
[ 2] 2 (0x002) ldelema 01000035
[ 1] 7 (0x007) stloc.1
lvaGrabTemp returning 47 (V47 tmp28) (a long lifetime temp) called for Inline stloc first use temp.
[000618] -A-XG------- * ASG byref
[000617] D------N---- +--* LCL_VAR byref V47 tmp28
[000616] ---XG------- \--* ADDR byref
[000615] ---XG------- \--* INDEX ushort
[000613] ------------ +--* LCL_VAR ref V45 tmp26
[000614] ------------ \--* LCL_VAR int V46 tmp27
[ 0] 8 (0x008) ldloc.1
[ 1] 9 (0x009) conv.u
[ 1] 10 (0x00a) stloc.0
lvaGrabTemp returning 48 (V48 tmp29) (a long lifetime temp) called for Inline stloc first use temp.
[000622] -A---------- * ASG long
[000621] D------N---- +--* LCL_VAR long V48 tmp29
[000620] ---------U-- \--* CAST long <- ulong <- byref
[000619] ------------ \--* LCL_VAR byref V47 tmp28
[ 0] 11 (0x00b) ldloc.0
[ 1] 12 (0x00c) ldarg.2
[ 2] 13 (0x00d) ldarg.1
[ 3] 14 (0x00e) sub
[ 2] 15 (0x00f) ldarg.3
lvaGrabTemp returning 49 (V49 tmp30) called for Inlining Arg.
[ 3] 16 (0x010) ldarg.s 4
lvaGrabTemp returning 50 (V50 tmp31) called for Inlining Arg.
[ 4] 18 (0x012) call 06001289
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'too many il bytes' for 'System.Xml.XmlTextReaderImpl:AdjustLineInfo(char[],int,int,bool,byref)' calling 'System.Xml.XmlTextReaderImpl:AdjustLineInfo(long,int,bool,byref)'
INLINER: Marking System.Xml.XmlTextReaderImpl:AdjustLineInfo(long,int,bool,byref) as NOINLINE because of too many il bytes
INLINER: during 'impMarkInlineCandidate' result 'failed this callee' reason 'too many il bytes'
[000628] --C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.AdjustLineInfo
[000623] ------------ arg0 +--* LCL_VAR long V48 tmp29
[000625] ------------ arg1 +--* SUB int
[000344] ------------ | +--* LCL_VAR int V06 loc5
[000624] ------------ | \--* LCL_VAR int V46 tmp27
[000626] ------------ arg2 +--* LCL_VAR int V49 tmp30
[000627] ------------ arg3 \--* LCL_VAR byref V50 tmp31
[ 0] 23 (0x017) ldc.i4.0 0
[ 1] 24 (0x018) conv.u
[ 1] 25 (0x019) stloc.1
[000632] -A---------- * ASG byref
[000631] D------N---- +--* LCL_VAR byref V47 tmp28
[000630] ---------U-- \--* CAST byref <- ulong <- uint
[000629] ------------ \--* CNS_INT int 0
[ 0] 26 (0x01a) ret
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB46 [0045] 1 1 [000..01B) (return) i idxlen
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000352] Finishing PHASE Importation
*************** Inline @[000352] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000352] Finishing PHASE Indirect call transform
*************** Inline @[000352] Starting PHASE Post-import
*************** Inline @[000352] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000352] -----------
Arguments setup:
STMT00127 (IL 0x270... ???)
[000634] -A-XG------- * ASG ref
[000633] D------N---- +--* LCL_VAR ref V45 tmp26
[000339] ---XG------- \--* FIELD ref chars
[000338] ---XG------- \--* ADDR byref
[000337] ---XG------- \--* FIELD struct _ps
[000336] ------------ \--* LCL_VAR ref V02 loc1
STMT00128 (IL 0x270... ???)
[000636] -A-XG------- * ASG int
[000635] D------N---- +--* LCL_VAR int V46 tmp27
[000343] ---XG------- \--* SUB int
[000340] ------------ +--* LCL_VAR int V06 loc5
[000342] ---XG------- \--* FIELD int <charsRead>5__2
[000341] ------------ \--* LCL_VAR byref V00 this
STMT00129 (IL 0x270... ???)
[000638] -A-XG------- * ASG bool
[000637] D------N---- +--* LCL_VAR bool V49 tmp30
[000348] ---XG------- \--* FIELD bool eolNormalized
[000347] ---XG------- \--* ADDR byref
[000346] ---XG------- \--* FIELD struct _ps
[000345] ------------ \--* LCL_VAR ref V02 loc1
STMT00130 (IL 0x270... ???)
[000640] -A-XG------- * ASG byref
[000639] D------N---- +--* LCL_VAR byref V50 tmp31
[000351] ---XG------- \--* ADDR byref
[000350] ---XG------- \--* FIELD struct _incReadLineInfo
[000349] ------------ \--* LCL_VAR ref V02 loc1
Inlinee method body:
STMT00123 (IL 0x270... ???)
[000618] -A-XG------- * ASG byref
[000617] D------N---- +--* LCL_VAR byref V47 tmp28
[000616] ---XG------- \--* ADDR byref
[000615] ---XG------- \--* INDEX ushort
[000613] ------------ +--* LCL_VAR ref V45 tmp26
[000614] ------------ \--* LCL_VAR int V46 tmp27
STMT00124 (IL 0x270... ???)
[000622] -A---------- * ASG long
[000621] D------N---- +--* LCL_VAR long V48 tmp29
[000620] ---------U-- \--* CAST long <- ulong <- byref
[000619] ------------ \--* LCL_VAR byref V47 tmp28
STMT00125 (IL 0x270... ???)
[000628] --C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.AdjustLineInfo
[000623] ------------ arg0 +--* LCL_VAR long V48 tmp29
[000625] ------------ arg1 +--* SUB int
[000344] ------------ | +--* LCL_VAR int V06 loc5
[000624] ------------ | \--* LCL_VAR int V46 tmp27
[000626] ------------ arg2 +--* LCL_VAR int V49 tmp30
[000627] ------------ arg3 \--* LCL_VAR byref V50 tmp31
STMT00126 (IL 0x270... ???)
[000632] -A---------- * ASG byref
[000631] D------N---- +--* LCL_VAR byref V47 tmp28
[000630] ---------U-- \--* CAST byref <- ulong <- uint
[000629] ------------ \--* CNS_INT int 0
fgInlineAppendStatements: nulling out gc ref inlinee locals.
STMT00131 (IL 0x270... ???)
[000643] -A---------- * ASG byref
[000642] D------N---- +--* LCL_VAR byref V47 tmp28
[000641] ------------ \--* CNS_INT byref 0
Successfully inlined System.Xml.XmlTextReaderImpl:AdjustLineInfo(char[],int,int,bool,byref) (27 IL bytes) (depth 1) [profitable inline]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.XmlTextReaderImpl:AdjustLineInfo(char[],int,int,bool,byref)'
INLINER: during 'fgInline' result 'success' reason 'profitable inline'
Querying runtime about current class of field ParsingState.chars (declared as char[])
Field's current class not available
Expanding INLINE_CANDIDATE in statement STMT00067 in BB27:
STMT00067 (IL 0x29C... ???)
[000363] I-CXG------- * CALL r2r_ind void NodeData.SetLineInfo (exactContextHnd=0x0000000000433B19)
[000354] ---XG------- this in rcx +--* FIELD ref _curNode
[000353] ------------ | \--* LCL_VAR ref V02 loc1
[000358] ---XG------- arg1 +--* FIELD int lineNo
[000357] ---XG------- | \--* ADDR byref
[000356] ---XG------- | \--* FIELD struct _incReadLineInfo
[000355] ------------ | \--* LCL_VAR ref V02 loc1
[000362] ---XG------- arg2 \--* FIELD int linePos
[000361] ---XG------- \--* ADDR byref
[000360] ---XG------- \--* FIELD struct _incReadLineInfo
[000359] ------------ \--* LCL_VAR ref V02 loc1
thisArg: has global refs has side effects
[000354] ---XG------- * FIELD ref _curNode
[000353] ------------ \--* LCL_VAR ref V02 loc1
Argument #1: has global refs has side effects
[000358] ---XG------- * FIELD int lineNo
[000357] ---XG------- \--* ADDR byref
[000356] ---XG------- \--* FIELD struct _incReadLineInfo
[000355] ------------ \--* LCL_VAR ref V02 loc1
Argument #2: has global refs has side effects
[000362] ---XG------- * FIELD int linePos
[000361] ---XG------- \--* ADDR byref
[000360] ---XG------- \--* FIELD struct _incReadLineInfo
[000359] ------------ \--* LCL_VAR ref V02 loc1
INLINER: inlineInfo.tokenLookupContextHandle for NodeData:SetLineInfo(int,int):this set to 0x0000000000433B19:
Invoking compiler for the inlinee method NodeData:SetLineInfo(int,int):this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 7c e2 07 00 04 ldflda 0x40007E2
IL_0006 03 ldarg.1
IL_0007 04 ldarg.2
IL_0008 28 29 0b 00 06 call 0x6000B29
IL_000d 2a ret
INLINER impTokenLookupContextHandle for NodeData:SetLineInfo(int,int):this is 0x0000000000433B19.
*************** In fgFindBasicBlocks() for NodeData:SetLineInfo(int,int):this
Jump targets:
none
New Basic Block BB47 [0046] created.
BB47 [000..00E)
Basic block list for 'NodeData:SetLineInfo(int,int):this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB47 [0046] 1 1 [000..00E) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000363] Starting PHASE Pre-import
*************** Inline @[000363] Finishing PHASE Pre-import
*************** Inline @[000363] Starting PHASE Importation
*************** In impImport() for NodeData:SetLineInfo(int,int):this
impImportBlockPending for BB47
Importing BB47 (PC=000) of 'NodeData:SetLineInfo(int,int):this'
[ 0] 0 (0x000) ldarg.0
lvaGrabTemp returning 51 (V51 tmp32) called for Inlining Arg.
Marked V51 as a single def temp
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
lvaSetClass: setting class for V51 to (0000000000433B18) [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData
[ 1] 1 (0x001) ldflda 040007E2
[ 1] 6 (0x006) ldarg.1
lvaGrabTemp returning 52 (V52 tmp33) called for Inlining Arg.
[ 2] 7 (0x007) ldarg.2
lvaGrabTemp returning 53 (V53 tmp34) called for Inlining Arg.
[ 3] 8 (0x008) call 06000B29
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0
[000650] I-CXG------- * CALL r2r_ind void System.Xml.LineInfo.Set (exactContextHnd=0x0000000000436319)
[000647] ---XG------- this in rcx +--* ADDR byref
[000646] ---XG------- | \--* FIELD struct lineInfo
[000645] ------------ | \--* LCL_VAR ref V51 tmp32
[000648] ------------ arg1 +--* LCL_VAR int V52 tmp33
[000649] ------------ arg2 \--* LCL_VAR int V53 tmp34
[ 0] 13 (0x00d) ret
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB47 [0046] 1 1 [000..00E) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000363] Finishing PHASE Importation
*************** Inline @[000363] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000363] Finishing PHASE Indirect call transform
*************** Inline @[000363] Starting PHASE Post-import
*************** Inline @[000363] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000363] -----------
Arguments setup:
STMT00133 (IL 0x29C... ???)
[000654] -A-XG------- * ASG ref
[000653] D------N---- +--* LCL_VAR ref V51 tmp32
[000354] ---XG------- \--* FIELD ref _curNode
[000353] ------------ \--* LCL_VAR ref V02 loc1
STMT00134 (IL 0x29C... ???)
[000656] -A-XG------- * ASG int
[000655] D------N---- +--* LCL_VAR int V52 tmp33
[000358] ---XG------- \--* FIELD int lineNo
[000357] ---XG------- \--* ADDR byref
[000356] ---XG------- \--* FIELD struct _incReadLineInfo
[000355] ------------ \--* LCL_VAR ref V02 loc1
STMT00135 (IL 0x29C... ???)
[000658] -A-XG------- * ASG int
[000657] D------N---- +--* LCL_VAR int V53 tmp34
[000362] ---XG------- \--* FIELD int linePos
[000361] ---XG------- \--* ADDR byref
[000360] ---XG------- \--* FIELD struct _incReadLineInfo
[000359] ------------ \--* LCL_VAR ref V02 loc1
Inlinee method body:
STMT00132 (IL 0x29C... ???)
[000650] I-CXG------- * CALL r2r_ind void System.Xml.LineInfo.Set (exactContextHnd=0x0000000000436319)
[000647] ---XG------- this in rcx +--* ADDR byref
[000646] ---XG------- | \--* FIELD struct lineInfo
[000645] ------------ | \--* LCL_VAR ref V51 tmp32
[000648] ------------ arg1 +--* LCL_VAR int V52 tmp33
[000649] ------------ arg2 \--* LCL_VAR int V53 tmp34
fgInlineAppendStatements: no gc ref inline locals.
Successfully inlined NodeData:SetLineInfo(int,int):this (14 IL bytes) (depth 1) [below ALWAYS_INLINE size]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'NodeData:SetLineInfo(int,int):this'
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size'
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
Expanding INLINE_CANDIDATE in statement STMT00132 in BB27:
STMT00132 (IL 0x29C... ???)
[000650] I-CXG------- * CALL r2r_ind void System.Xml.LineInfo.Set (exactContextHnd=0x0000000000436319)
[000647] ---XG------- this in rcx +--* ADDR byref
[000646] ---XG------- | \--* FIELD struct lineInfo
[000645] ------------ | \--* LCL_VAR ref V51 tmp32
[000648] ------------ arg1 +--* LCL_VAR int V52 tmp33
[000649] ------------ arg2 \--* LCL_VAR int V53 tmp34
thisArg: has global refs has side effects
[000647] ---XG------- * ADDR byref
[000646] ---XG------- \--* FIELD struct lineInfo
[000645] ------------ \--* LCL_VAR ref V51 tmp32
Argument #1: is a local var
[000648] ------------ * LCL_VAR int V52 tmp33
Argument #2: is a local var
[000649] ------------ * LCL_VAR int V53 tmp34
INLINER: inlineInfo.tokenLookupContextHandle for System.Xml.LineInfo:Set(int,int):this set to 0x0000000000436319:
Invoking compiler for the inlinee method System.Xml.LineInfo:Set(int,int):this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 03 ldarg.1
IL_0002 7d 95 04 00 04 stfld 0x4000495
IL_0007 02 ldarg.0
IL_0008 04 ldarg.2
IL_0009 7d 96 04 00 04 stfld 0x4000496
IL_000e 2a ret
INLINER impTokenLookupContextHandle for System.Xml.LineInfo:Set(int,int):this is 0x0000000000436319.
*************** In fgFindBasicBlocks() for System.Xml.LineInfo:Set(int,int):this
Jump targets:
none
New Basic Block BB48 [0047] created.
BB48 [000..00F)
Basic block list for 'System.Xml.LineInfo:Set(int,int):this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB48 [0047] 1 1 [000..00F) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000650] Starting PHASE Pre-import
*************** Inline @[000650] Finishing PHASE Pre-import
*************** Inline @[000650] Starting PHASE Importation
*************** In impImport() for System.Xml.LineInfo:Set(int,int):this
impImportBlockPending for BB48
Importing BB48 (PC=000) of 'System.Xml.LineInfo:Set(int,int):this'
[ 0] 0 (0x000) ldarg.0
lvaGrabTemp returning 54 (V54 tmp35) called for Inlining Arg.
[ 1] 1 (0x001) ldarg.1
[ 2] 2 (0x002) stfld 04000495
[000662] -A-XG------- * ASG int
[000661] ---XG--N---- +--* FIELD int lineNo
[000660] ------------ | \--* LCL_VAR byref V54 tmp35
[000648] ------------ \--* LCL_VAR int V52 tmp33
[ 0] 7 (0x007) ldarg.0
[ 1] 8 (0x008) ldarg.2
[ 2] 9 (0x009) stfld 04000496
[000665] -A-XG------- * ASG int
[000664] ---XG--N---- +--* FIELD int linePos
[000663] ------------ | \--* LCL_VAR byref V54 tmp35
[000649] ------------ \--* LCL_VAR int V53 tmp34
[ 0] 14 (0x00e) ret
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB48 [0047] 1 1 [000..00F) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000650] Finishing PHASE Importation
*************** Inline @[000650] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000650] Finishing PHASE Indirect call transform
*************** Inline @[000650] Starting PHASE Post-import
*************** Inline @[000650] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000650] -----------
Arguments setup:
STMT00139 (IL 0x29C... ???)
[000667] -A-XG------- * ASG byref
[000666] D------N---- +--* LCL_VAR byref V54 tmp35
[000647] ---XG------- \--* ADDR byref
[000646] ---XG------- \--* FIELD struct lineInfo
[000645] ------------ \--* LCL_VAR ref V51 tmp32
Inlinee method body:
STMT00137 (IL 0x29C... ???)
[000662] -A-XG------- * ASG int
[000661] ---XG--N---- +--* FIELD int lineNo
[000660] ------------ | \--* LCL_VAR byref V54 tmp35
[000648] ------------ \--* LCL_VAR int V52 tmp33
STMT00138 (IL 0x29C... ???)
[000665] -A-XG------- * ASG int
[000664] ---XG--N---- +--* FIELD int linePos
[000663] ------------ | \--* LCL_VAR byref V54 tmp35
[000649] ------------ \--* LCL_VAR int V53 tmp34
fgInlineAppendStatements: no gc ref inline locals.
Successfully inlined System.Xml.LineInfo:Set(int,int):this (15 IL bytes) (depth 2) [below ALWAYS_INLINE size]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.LineInfo:Set(int,int):this'
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size'
**** Late devirt opportunity
[000366] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000365] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000364] ------------ \--* LCL_VAR ref V02 loc1
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_DecodedCount
devirt to System.Xml.IncrementalReadDecoder::get_DecodedCount -- inexact or not final
[000366] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000365] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000364] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
No guarded devirt during late devirtualization
Expanding INLINE_CANDIDATE in statement STMT00027 in BB28:
STMT00027 (IL 0x2F2...0x2FF)
[000143] I-C-G------- * CALL r2r_ind ref System.Xml.XmlTextReaderImpl.MoveToNextContentNodeAsync (exactContextHnd=0x0000000000421769)
[000141] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000142] ------------ arg1 \--* CNS_INT int 1
thisArg: is a local var
[000141] ------------ * LCL_VAR ref V02 loc1
Argument #1: is a constant
[000142] ------------ * CNS_INT int 1
Folding operator with constant nodes into a constant:
[000669] ------------ * CAST int <- bool <- int
[000142] ------------ \--* CNS_INT int 1
Bashed to int constant:
[000669] ------------ * CNS_INT int 1
INLINER: inlineInfo.tokenLookupContextHandle for System.Xml.XmlTextReaderImpl:MoveToNextContentNodeAsync(bool):[S.P.CoreLib]System.Threading.Tasks.Task`1<bool>:this set to 0x0000000000421769:
Invoking compiler for the inlinee method System.Xml.XmlTextReaderImpl:MoveToNextContentNodeAsync(bool):[S.P.CoreLib]System.Threading.Tasks.Task`1<bool>:this :
IL to import:
IL_0000 12 00 ldloca.s 0x0
IL_0002 02 ldarg.0
IL_0003 7d c0 09 00 04 stfld 0x40009C0
IL_0008 12 00 ldloca.s 0x0
IL_000a 03 ldarg.1
IL_000b 7d c1 09 00 04 stfld 0x40009C1
IL_0010 12 00 ldloca.s 0x0
IL_0012 28 f6 00 00 0a call 0xA0000F6
IL_0017 7d bf 09 00 04 stfld 0x40009BF
IL_001c 12 00 ldloca.s 0x0
IL_001e 15 ldc.i4.m1
IL_001f 7d be 09 00 04 stfld 0x40009BE
IL_0024 06 ldloc.0
IL_0025 7b bf 09 00 04 ldfld 0x40009BF
IL_002a 0b stloc.1
IL_002b 12 01 ldloca.s 0x1
IL_002d 12 00 ldloca.s 0x0
IL_002f 28 5b 01 00 2b call 0x2B00015B
IL_0034 12 00 ldloca.s 0x0
IL_0036 7c bf 09 00 04 ldflda 0x40009BF
IL_003b 28 f8 00 00 0a call 0xA0000F8
IL_0040 2a ret
INLINER impTokenLookupContextHandle for System.Xml.XmlTextReaderImpl:MoveToNextContentNodeAsync(bool):[S.P.CoreLib]System.Threading.Tasks.Task`1<bool>:this is 0x0000000000421769.
*************** In fgFindBasicBlocks() for System.Xml.XmlTextReaderImpl:MoveToNextContentNodeAsync(bool):[S.P.CoreLib]System.Threading.Tasks.Task`1<bool>:this
weight= 61 : state 19 [ ldloca.s ]
weight= 10 : state 3 [ ldarg.0 ]
weight= 31 : state 111 [ stfld ]
weight= 61 : state 19 [ ldloca.s ]
weight= 16 : state 4 [ ldarg.1 ]
weight= 31 : state 111 [ stfld ]
weight= 61 : state 19 [ ldloca.s ]
weight= 79 : state 40 [ call ]
weight= 31 : state 111 [ stfld ]
weight= 61 : state 19 [ ldloca.s ]
weight= 22 : state 22 [ ldc.i4.m1 ]
weight= 31 : state 111 [ stfld ]
weight= 12 : state 7 [ ldloc.0 ]
weight= 18 : state 109 [ ldfld ]
weight= 34 : state 12 [ stloc.1 ]
weight= 61 : state 19 [ ldloca.s ]
weight= 61 : state 19 [ ldloca.s ]
weight= 79 : state 40 [ call ]
weight= 61 : state 19 [ ldloca.s ]
weight= 17 : state 110 [ ldflda ]
weight= 79 : state 40 [ call ]
weight= 19 : state 42 [ ret ]
Inline candidate looks like a wrapper method. Multiplier increased to 1.
Inline candidate callsite is in a loop. Multiplier increased to 4.
calleeNativeSizeEstimate=936
callsiteNativeSizeEstimate=115
benefit multiplier=4
threshold=460
Native estimate for function size exceeds threshold for inlining 93.6 > 46 (multiplier = 4)
Inline expansion aborted, inline not profitable
Inlining [000143] failed, so bashing STMT00027 to NOP
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.XmlTextReaderImpl:MoveToNextContentNodeAsync(bool):[S.P.CoreLib]System.Threading.Tasks.Task`1<bool>:this'
INLINER: during 'fgInline' result 'failed this call site' reason 'unprofitable inline'
Replacing the return expression placeholder [000144] with [000143]
[000144] --C--------- * RET_EXPR ref (inl return from call [000143])
Inserting the inline return expression
[000143] --C-G------- * CALL r2r_ind ref System.Xml.XmlTextReaderImpl.MoveToNextContentNodeAsync
[000141] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000142] ------------ arg1 \--* CNS_INT int 1
**** Late devirt opportunity
[000146] S-C-G------- * CALLV stub void System.Threading.Tasks.Task`1.ConfigureAwait
[000143] --C-G------- this in rcx +--* CALL r2r_ind ref System.Xml.XmlTextReaderImpl.MoveToNextContentNodeAsync
[000141] ------------ this in rcx | +--* LCL_VAR ref V02 loc1
[000142] ------------ arg1 | \--* CNS_INT int 1
[000148] ------------ arg1 +--* ADDR byref
[000147] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>, 16> V17 loc16
[000145] ------------ arg2 \--* CNS_INT int 0
impDevirtualizeCall: [R2R] base method not virtual, sorry
Expanding INLINE_CANDIDATE in statement STMT00057 in BB32:
STMT00057 (IL 0x361...0x370)
[000292] I-CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.SetupReadContentAsBinaryState (exactContextHnd=0x0000000000421769)
[000289] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000291] ---XG------- arg1 \--* FIELD int <tmp>5__3
[000290] ------------ \--* LCL_VAR byref V00 this
thisArg: is a local var
[000289] ------------ * LCL_VAR ref V02 loc1
Argument #1: has global refs has side effects
[000291] ---XG------- * FIELD int <tmp>5__3
[000290] ------------ \--* LCL_VAR byref V00 this
INLINER: inlineInfo.tokenLookupContextHandle for System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this set to 0x0000000000421769:
Invoking compiler for the inlinee method System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 7b 12 07 00 04 ldfld 0x4000712
IL_0006 1f 15 ldc.i4.s 0x15
IL_0008 33 0a bne.un.s 10 (IL_0014)
IL_000a 02 ldarg.0
IL_000b 1f 0d ldc.i4.s 0xD
IL_000d 7d 3d 07 00 04 stfld 0x400073D
IL_0012 2b 20 br.s 32 (IL_0034)
IL_0014 02 ldarg.0
IL_0015 1f 0c ldc.i4.s 0xC
IL_0017 7d 3d 07 00 04 stfld 0x400073D
IL_001c 02 ldarg.0
IL_001d 02 ldarg.0
IL_001e 7b 13 07 00 04 ldfld 0x4000713
IL_0023 7d 14 07 00 04 stfld 0x4000714
IL_0028 02 ldarg.0
IL_0029 02 ldarg.0
IL_002a 7b 12 07 00 04 ldfld 0x4000712
IL_002f 7d 13 07 00 04 stfld 0x4000713
IL_0034 02 ldarg.0
IL_0035 16 ldc.i4.0
IL_0036 7d 54 07 00 04 stfld 0x4000754
IL_003b 02 ldarg.0
IL_003c 03 ldarg.1
IL_003d 7d 12 07 00 04 stfld 0x4000712
IL_0042 2a ret
INLINER impTokenLookupContextHandle for System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this is 0x0000000000421769.
*************** In fgFindBasicBlocks() for System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 41 : state 32 [ ldc.i4.s ]
weight= 12 : state 51 [ bne.un.s ]
weight= 10 : state 3 [ ldarg.0 ]
weight= 41 : state 32 [ ldc.i4.s ]
weight= 31 : state 111 [ stfld ]
weight= 44 : state 43 [ br.s ]
weight= 10 : state 3 [ ldarg.0 ]
weight= 41 : state 32 [ ldc.i4.s ]
weight= 31 : state 111 [ stfld ]
weight= 10 : state 3 [ ldarg.0 ]
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 31 : state 111 [ stfld ]
weight= 10 : state 3 [ ldarg.0 ]
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 31 : state 111 [ stfld ]
weight= 32 : state 218 [ ldarg.0 -> ldc.i4.0 -> stfld ]
weight= 69 : state 226 [ ldarg.0 -> ldarg.1 -> stfld ]
weight= 19 : state 42 [ ret ]
Inline candidate has an arg that feeds a constant test. Multiplier increased to 1.
Inline candidate is mostly loads and stores. Multiplier increased to 4.
Inline candidate callsite is in a loop. Multiplier increased to 7.
calleeNativeSizeEstimate=556
callsiteNativeSizeEstimate=115
benefit multiplier=7
threshold=805
Native estimate for function size is within threshold for inlining 55.6 <= 80.5 (multiplier = 7)
Jump targets:
IL_0014
IL_0034
New Basic Block BB49 [0048] created.
BB49 [000..00A)
New Basic Block BB50 [0049] created.
BB50 [00A..014)
New Basic Block BB51 [0050] created.
BB51 [014..034)
New Basic Block BB52 [0051] created.
BB52 [034..043)
Basic block list for 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB49 [0048] 1 1 [000..00A)-> BB51 ( cond )
BB50 [0049] 1 1 [00A..014)-> BB52 (always)
BB51 [0050] 1 1 [014..034)
BB52 [0051] 2 1 [034..043) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000292] Starting PHASE Pre-import
*************** Inline @[000292] Finishing PHASE Pre-import
*************** Inline @[000292] Starting PHASE Importation
*************** In impImport() for System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this
impImportBlockPending for BB49
Importing BB49 (PC=000) of 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
[ 0] 0 (0x000) ldarg.0
[ 1] 1 (0x001) ldfld 04000712
[ 1] 6 (0x006) ldc.i4.s 21
[ 2] 8 (0x008) bne.un.s
[000674] ---XG------- * JTRUE void
[000673] N--XG----U-- \--* NE int
[000671] ---XG------- +--* FIELD int _parsingFunction
[000289] ------------ | \--* LCL_VAR ref V02 loc1
[000672] ------------ \--* CNS_INT int 21
impImportBlockPending for BB50
impImportBlockPending for BB51
Importing BB51 (PC=020) of 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
[ 0] 20 (0x014) ldarg.0
[ 1] 21 (0x015) ldc.i4.s 12
[ 2] 23 (0x017) stfld 0400073D
[000678] -A-XG------- * ASG int
[000677] ---XG--N---- +--* FIELD int _incReadState
[000675] ------------ | \--* LCL_VAR ref V02 loc1
[000676] ------------ \--* CNS_INT int 12
[ 0] 28 (0x01c) ldarg.0
[ 1] 29 (0x01d) ldarg.0
[ 2] 30 (0x01e) ldfld 04000713
[ 2] 35 (0x023) stfld 04000714
[000683] -A-XG------- * ASG int
[000682] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000679] ------------ | \--* LCL_VAR ref V02 loc1
[000681] ---XG------- \--* FIELD int _nextParsingFunction
[000680] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 40 (0x028) ldarg.0
[ 1] 41 (0x029) ldarg.0
[ 2] 42 (0x02a) ldfld 04000712
[ 2] 47 (0x02f) stfld 04000713
[000688] -A-XG------- * ASG int
[000687] ---XG--N---- +--* FIELD int _nextParsingFunction
[000684] ------------ | \--* LCL_VAR ref V02 loc1
[000686] ---XG------- \--* FIELD int _parsingFunction
[000685] ------------ \--* LCL_VAR ref V02 loc1
impImportBlockPending for BB52
Importing BB52 (PC=052) of 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
[ 0] 52 (0x034) ldarg.0
[ 1] 53 (0x035) ldc.i4.0 0
[ 2] 54 (0x036) stfld 04000754
[000692] -A-XG------- * ASG int
[000691] ---XG--N---- +--* FIELD int _readValueOffset
[000689] ------------ | \--* LCL_VAR ref V02 loc1
[000690] ------------ \--* CNS_INT int 0
[ 0] 59 (0x03b) ldarg.0
[ 1] 60 (0x03c) ldarg.1
lvaGrabTemp returning 55 (V55 tmp36) called for Inlining Arg.
[ 2] 61 (0x03d) stfld 04000712
[000696] -A-XG------- * ASG int
[000695] ---XG--N---- +--* FIELD int _parsingFunction
[000693] ------------ | \--* LCL_VAR ref V02 loc1
[000694] ------------ \--* LCL_VAR int V55 tmp36
[ 0] 66 (0x042) ret
Importing BB50 (PC=010) of 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
[ 0] 10 (0x00a) ldarg.0
[ 1] 11 (0x00b) ldc.i4.s 13
[ 2] 13 (0x00d) stfld 0400073D
[000700] -A-XG------- * ASG int
[000699] ---XG--N---- +--* FIELD int _incReadState
[000697] ------------ | \--* LCL_VAR ref V02 loc1
[000698] ------------ \--* CNS_INT int 13
[ 0] 18 (0x012) br.s
impImportBlockPending for BB52
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB49 [0048] 1 1 [000..00A)-> BB51 ( cond ) i
BB50 [0049] 1 1 [00A..014)-> BB52 (always) i
BB51 [0050] 1 1 [014..034) i
BB52 [0051] 2 1 [034..043) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000292] Finishing PHASE Importation
*************** Inline @[000292] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000292] Finishing PHASE Indirect call transform
*************** Inline @[000292] Starting PHASE Post-import
*************** Inline @[000292] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000292] -----------
Arguments setup:
STMT00147 (IL 0x361... ???)
[000702] -A-XG------- * ASG int
[000701] D------N---- +--* LCL_VAR int V55 tmp36
[000291] ---XG------- \--* FIELD int <tmp>5__3
[000290] ------------ \--* LCL_VAR byref V00 this
Inlinee method body:New Basic Block BB53 [0052] created.
Convert bbJumpKind of BB52 to BBJ_NONE
fgInlineAppendStatements: no gc ref inline locals.
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB49 [0048] 1 2 1 [361..362)-> BB51 ( cond ) T2 i bwd
BB50 [0049] 1 2 0.50 [361..362)-> BB52 (always) T2 i bwd
BB51 [0050] 1 2 0.50 [361..362) T2 i bwd
BB52 [0051] 2 2 1 [361..362) T2 i bwd
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB49 [361..362) -> BB51 (cond), preds={} succs={BB50,BB51}
***** BB49
STMT00140 (IL 0x361... ???)
[000674] ---XG------- * JTRUE void
[000673] N--XG----U-- \--* NE int
[000671] ---XG------- +--* FIELD int _parsingFunction
[000289] ------------ | \--* LCL_VAR ref V02 loc1
[000672] ------------ \--* CNS_INT int 21
------------ BB50 [361..362) -> BB52 (always), preds={} succs={BB52}
***** BB50
STMT00146 (IL 0x361... ???)
[000700] -A-XG------- * ASG int
[000699] ---XG--N---- +--* FIELD int _incReadState
[000697] ------------ | \--* LCL_VAR ref V02 loc1
[000698] ------------ \--* CNS_INT int 13
------------ BB51 [361..362), preds={} succs={BB52}
***** BB51
STMT00141 (IL 0x361... ???)
[000678] -A-XG------- * ASG int
[000677] ---XG--N---- +--* FIELD int _incReadState
[000675] ------------ | \--* LCL_VAR ref V02 loc1
[000676] ------------ \--* CNS_INT int 12
***** BB51
STMT00142 (IL 0x361... ???)
[000683] -A-XG------- * ASG int
[000682] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000679] ------------ | \--* LCL_VAR ref V02 loc1
[000681] ---XG------- \--* FIELD int _nextParsingFunction
[000680] ------------ \--* LCL_VAR ref V02 loc1
***** BB51
STMT00143 (IL 0x361... ???)
[000688] -A-XG------- * ASG int
[000687] ---XG--N---- +--* FIELD int _nextParsingFunction
[000684] ------------ | \--* LCL_VAR ref V02 loc1
[000686] ---XG------- \--* FIELD int _parsingFunction
[000685] ------------ \--* LCL_VAR ref V02 loc1
------------ BB52 [361..362), preds={} succs={BB53}
***** BB52
STMT00144 (IL 0x361... ???)
[000692] -A-XG------- * ASG int
[000691] ---XG--N---- +--* FIELD int _readValueOffset
[000689] ------------ | \--* LCL_VAR ref V02 loc1
[000690] ------------ \--* CNS_INT int 0
***** BB52
STMT00145 (IL 0x361... ???)
[000696] -A-XG------- * ASG int
[000695] ---XG--N---- +--* FIELD int _parsingFunction
[000693] ------------ | \--* LCL_VAR ref V02 loc1
[000694] ------------ \--* LCL_VAR int V55 tmp36
-------------------------------------------------------------------------------------------------------------------
Successfully inlined System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this (67 IL bytes) (depth 1) [profitable inline]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
INLINER: during 'fgInline' result 'success' reason 'profitable inline'
**** Late devirt opportunity
[000299] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000298] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000297] ------------ \--* LCL_VAR ref V02 loc1
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._incReadDecoder (declared as [S.P.Xml]System.Xml.IncrementalReadDecoder)
Field's current class not available
impDevirtualizeCall: Trying to devirtualize virtual call:
class for 'this' is [S.P.Xml]System.Xml.IncrementalReadDecoder (attrib 20000400)
base method is [S.P.Xml]System.Xml.IncrementalReadDecoder::get_DecodedCount
devirt to System.Xml.IncrementalReadDecoder::get_DecodedCount -- inexact or not final
[000299] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000298] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000297] ------------ \--* LCL_VAR ref V02 loc1
Class not final or exact, and method not final
No guarded devirt during late devirtualization
Expanding INLINE_CANDIDATE in statement STMT00033 in BB33:
STMT00033 (IL 0x383...0x3B0)
[000174] I-CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.SetupReadContentAsBinaryState (exactContextHnd=0x0000000000421769)
[000171] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000173] ---XG------- arg1 \--* FIELD int <tmp>5__3
[000172] ------------ \--* LCL_VAR byref V00 this
thisArg: is a local var
[000171] ------------ * LCL_VAR ref V02 loc1
Argument #1: has global refs has side effects
[000173] ---XG------- * FIELD int <tmp>5__3
[000172] ------------ \--* LCL_VAR byref V00 this
INLINER: inlineInfo.tokenLookupContextHandle for System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this set to 0x0000000000421769:
Invoking compiler for the inlinee method System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 7b 12 07 00 04 ldfld 0x4000712
IL_0006 1f 15 ldc.i4.s 0x15
IL_0008 33 0a bne.un.s 10 (IL_0014)
IL_000a 02 ldarg.0
IL_000b 1f 0d ldc.i4.s 0xD
IL_000d 7d 3d 07 00 04 stfld 0x400073D
IL_0012 2b 20 br.s 32 (IL_0034)
IL_0014 02 ldarg.0
IL_0015 1f 0c ldc.i4.s 0xC
IL_0017 7d 3d 07 00 04 stfld 0x400073D
IL_001c 02 ldarg.0
IL_001d 02 ldarg.0
IL_001e 7b 13 07 00 04 ldfld 0x4000713
IL_0023 7d 14 07 00 04 stfld 0x4000714
IL_0028 02 ldarg.0
IL_0029 02 ldarg.0
IL_002a 7b 12 07 00 04 ldfld 0x4000712
IL_002f 7d 13 07 00 04 stfld 0x4000713
IL_0034 02 ldarg.0
IL_0035 16 ldc.i4.0
IL_0036 7d 54 07 00 04 stfld 0x4000754
IL_003b 02 ldarg.0
IL_003c 03 ldarg.1
IL_003d 7d 12 07 00 04 stfld 0x4000712
IL_0042 2a ret
INLINER impTokenLookupContextHandle for System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this is 0x0000000000421769.
*************** In fgFindBasicBlocks() for System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 41 : state 32 [ ldc.i4.s ]
weight= 12 : state 51 [ bne.un.s ]
weight= 10 : state 3 [ ldarg.0 ]
weight= 41 : state 32 [ ldc.i4.s ]
weight= 31 : state 111 [ stfld ]
weight= 44 : state 43 [ br.s ]
weight= 10 : state 3 [ ldarg.0 ]
weight= 41 : state 32 [ ldc.i4.s ]
weight= 31 : state 111 [ stfld ]
weight= 10 : state 3 [ ldarg.0 ]
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 31 : state 111 [ stfld ]
weight= 10 : state 3 [ ldarg.0 ]
weight= 31 : state 191 [ ldarg.0 -> ldfld ]
weight= 31 : state 111 [ stfld ]
weight= 32 : state 218 [ ldarg.0 -> ldc.i4.0 -> stfld ]
weight= 69 : state 226 [ ldarg.0 -> ldarg.1 -> stfld ]
weight= 19 : state 42 [ ret ]
Inline candidate has an arg that feeds a constant test. Multiplier increased to 1.
Inline candidate is mostly loads and stores. Multiplier increased to 4.
Inline candidate callsite is in a loop. Multiplier increased to 7.
calleeNativeSizeEstimate=556
callsiteNativeSizeEstimate=115
benefit multiplier=7
threshold=805
Native estimate for function size is within threshold for inlining 55.6 <= 80.5 (multiplier = 7)
Jump targets:
IL_0014
IL_0034
New Basic Block BB54 [0053] created.
BB54 [000..00A)
New Basic Block BB55 [0054] created.
BB55 [00A..014)
New Basic Block BB56 [0055] created.
BB56 [014..034)
New Basic Block BB57 [0056] created.
BB57 [034..043)
Basic block list for 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB54 [0053] 1 1 [000..00A)-> BB56 ( cond )
BB55 [0054] 1 1 [00A..014)-> BB57 (always)
BB56 [0055] 1 1 [014..034)
BB57 [0056] 2 1 [034..043) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000174] Starting PHASE Pre-import
*************** Inline @[000174] Finishing PHASE Pre-import
*************** Inline @[000174] Starting PHASE Importation
*************** In impImport() for System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this
impImportBlockPending for BB54
Importing BB54 (PC=000) of 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
[ 0] 0 (0x000) ldarg.0
[ 1] 1 (0x001) ldfld 04000712
[ 1] 6 (0x006) ldc.i4.s 21
[ 2] 8 (0x008) bne.un.s
[000707] ---XG------- * JTRUE void
[000706] N--XG----U-- \--* NE int
[000704] ---XG------- +--* FIELD int _parsingFunction
[000171] ------------ | \--* LCL_VAR ref V02 loc1
[000705] ------------ \--* CNS_INT int 21
impImportBlockPending for BB55
impImportBlockPending for BB56
Importing BB56 (PC=020) of 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
[ 0] 20 (0x014) ldarg.0
[ 1] 21 (0x015) ldc.i4.s 12
[ 2] 23 (0x017) stfld 0400073D
[000711] -A-XG------- * ASG int
[000710] ---XG--N---- +--* FIELD int _incReadState
[000708] ------------ | \--* LCL_VAR ref V02 loc1
[000709] ------------ \--* CNS_INT int 12
[ 0] 28 (0x01c) ldarg.0
[ 1] 29 (0x01d) ldarg.0
[ 2] 30 (0x01e) ldfld 04000713
[ 2] 35 (0x023) stfld 04000714
[000716] -A-XG------- * ASG int
[000715] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000712] ------------ | \--* LCL_VAR ref V02 loc1
[000714] ---XG------- \--* FIELD int _nextParsingFunction
[000713] ------------ \--* LCL_VAR ref V02 loc1
[ 0] 40 (0x028) ldarg.0
[ 1] 41 (0x029) ldarg.0
[ 2] 42 (0x02a) ldfld 04000712
[ 2] 47 (0x02f) stfld 04000713
[000721] -A-XG------- * ASG int
[000720] ---XG--N---- +--* FIELD int _nextParsingFunction
[000717] ------------ | \--* LCL_VAR ref V02 loc1
[000719] ---XG------- \--* FIELD int _parsingFunction
[000718] ------------ \--* LCL_VAR ref V02 loc1
impImportBlockPending for BB57
Importing BB57 (PC=052) of 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
[ 0] 52 (0x034) ldarg.0
[ 1] 53 (0x035) ldc.i4.0 0
[ 2] 54 (0x036) stfld 04000754
[000725] -A-XG------- * ASG int
[000724] ---XG--N---- +--* FIELD int _readValueOffset
[000722] ------------ | \--* LCL_VAR ref V02 loc1
[000723] ------------ \--* CNS_INT int 0
[ 0] 59 (0x03b) ldarg.0
[ 1] 60 (0x03c) ldarg.1
lvaGrabTemp returning 56 (V56 tmp37) called for Inlining Arg.
[ 2] 61 (0x03d) stfld 04000712
[000729] -A-XG------- * ASG int
[000728] ---XG--N---- +--* FIELD int _parsingFunction
[000726] ------------ | \--* LCL_VAR ref V02 loc1
[000727] ------------ \--* LCL_VAR int V56 tmp37
[ 0] 66 (0x042) ret
Importing BB55 (PC=010) of 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
[ 0] 10 (0x00a) ldarg.0
[ 1] 11 (0x00b) ldc.i4.s 13
[ 2] 13 (0x00d) stfld 0400073D
[000733] -A-XG------- * ASG int
[000732] ---XG--N---- +--* FIELD int _incReadState
[000730] ------------ | \--* LCL_VAR ref V02 loc1
[000731] ------------ \--* CNS_INT int 13
[ 0] 18 (0x012) br.s
impImportBlockPending for BB57
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB54 [0053] 1 1 [000..00A)-> BB56 ( cond ) i
BB55 [0054] 1 1 [00A..014)-> BB57 (always) i
BB56 [0055] 1 1 [014..034) i
BB57 [0056] 2 1 [034..043) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000174] Finishing PHASE Importation
*************** Inline @[000174] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000174] Finishing PHASE Indirect call transform
*************** Inline @[000174] Starting PHASE Post-import
*************** Inline @[000174] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000174] -----------
Arguments setup:
STMT00155 (IL 0x383... ???)
[000735] -A-XG------- * ASG int
[000734] D------N---- +--* LCL_VAR int V56 tmp37
[000173] ---XG------- \--* FIELD int <tmp>5__3
[000172] ------------ \--* LCL_VAR byref V00 this
Inlinee method body:New Basic Block BB58 [0057] created.
EH#2: New last block of try: BB58
Convert bbJumpKind of BB57 to BBJ_NONE
fgInlineAppendStatements: no gc ref inline locals.
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB54 [0053] 1 2 1 [383..384)-> BB56 ( cond ) T2 i bwd
BB55 [0054] 1 2 0.50 [383..384)-> BB57 (always) T2 i bwd
BB56 [0055] 1 2 0.50 [383..384) T2 i bwd
BB57 [0056] 2 2 1 [383..384) T2 i bwd
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB54 [383..384) -> BB56 (cond), preds={} succs={BB55,BB56}
***** BB54
STMT00148 (IL 0x383... ???)
[000707] ---XG------- * JTRUE void
[000706] N--XG----U-- \--* NE int
[000704] ---XG------- +--* FIELD int _parsingFunction
[000171] ------------ | \--* LCL_VAR ref V02 loc1
[000705] ------------ \--* CNS_INT int 21
------------ BB55 [383..384) -> BB57 (always), preds={} succs={BB57}
***** BB55
STMT00154 (IL 0x383... ???)
[000733] -A-XG------- * ASG int
[000732] ---XG--N---- +--* FIELD int _incReadState
[000730] ------------ | \--* LCL_VAR ref V02 loc1
[000731] ------------ \--* CNS_INT int 13
------------ BB56 [383..384), preds={} succs={BB57}
***** BB56
STMT00149 (IL 0x383... ???)
[000711] -A-XG------- * ASG int
[000710] ---XG--N---- +--* FIELD int _incReadState
[000708] ------------ | \--* LCL_VAR ref V02 loc1
[000709] ------------ \--* CNS_INT int 12
***** BB56
STMT00150 (IL 0x383... ???)
[000716] -A-XG------- * ASG int
[000715] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000712] ------------ | \--* LCL_VAR ref V02 loc1
[000714] ---XG------- \--* FIELD int _nextParsingFunction
[000713] ------------ \--* LCL_VAR ref V02 loc1
***** BB56
STMT00151 (IL 0x383... ???)
[000721] -A-XG------- * ASG int
[000720] ---XG--N---- +--* FIELD int _nextParsingFunction
[000717] ------------ | \--* LCL_VAR ref V02 loc1
[000719] ---XG------- \--* FIELD int _parsingFunction
[000718] ------------ \--* LCL_VAR ref V02 loc1
------------ BB57 [383..384), preds={} succs={BB58}
***** BB57
STMT00152 (IL 0x383... ???)
[000725] -A-XG------- * ASG int
[000724] ---XG--N---- +--* FIELD int _readValueOffset
[000722] ------------ | \--* LCL_VAR ref V02 loc1
[000723] ------------ \--* CNS_INT int 0
***** BB57
STMT00153 (IL 0x383... ???)
[000729] -A-XG------- * ASG int
[000728] ---XG--N---- +--* FIELD int _parsingFunction
[000726] ------------ | \--* LCL_VAR ref V02 loc1
[000727] ------------ \--* LCL_VAR int V56 tmp37
-------------------------------------------------------------------------------------------------------------------
Successfully inlined System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this (67 IL bytes) (depth 1) [profitable inline]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'profitable inline' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this'
INLINER: during 'fgInline' result 'success' reason 'profitable inline'
Expanding INLINE_CANDIDATE in statement STMT00034 in BB58:
STMT00034 (IL 0x38F... ???)
[000180] I-CXG------- * CALL r2r_ind int NodeData.get_LineNo (exactContextHnd=0x0000000000433B19)
[000179] ---XG------- this in rcx \--* FIELD ref _curNode
[000178] ------------ \--* LCL_VAR ref V02 loc1
thisArg: has global refs has side effects
[000179] ---XG------- * FIELD ref _curNode
[000178] ------------ \--* LCL_VAR ref V02 loc1
INLINER: inlineInfo.tokenLookupContextHandle for NodeData:get_LineNo():int:this set to 0x0000000000433B19:
Invoking compiler for the inlinee method NodeData:get_LineNo():int:this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 7c e2 07 00 04 ldflda 0x40007E2
IL_0006 7b 95 04 00 04 ldfld 0x4000495
IL_000b 2a ret
INLINER impTokenLookupContextHandle for NodeData:get_LineNo():int:this is 0x0000000000433B19.
*************** In fgFindBasicBlocks() for NodeData:get_LineNo():int:this
Jump targets:
none
New Basic Block BB59 [0058] created.
BB59 [000..00C)
Basic block list for 'NodeData:get_LineNo():int:this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB59 [0058] 1 1 [000..00C) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000180] Starting PHASE Pre-import
*************** Inline @[000180] Finishing PHASE Pre-import
*************** Inline @[000180] Starting PHASE Importation
*************** In impImport() for NodeData:get_LineNo():int:this
impImportBlockPending for BB59
Importing BB59 (PC=000) of 'NodeData:get_LineNo():int:this'
[ 0] 0 (0x000) ldarg.0
lvaGrabTemp returning 57 (V57 tmp38) called for Inlining Arg.
Marked V57 as a single def temp
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
lvaSetClass: setting class for V57 to (0000000000433B18) [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData
[ 1] 1 (0x001) ldflda 040007E2
[ 1] 6 (0x006) ldfld 04000495
[ 1] 11 (0x00b) ret
Inlinee Return expression (before normalization) =>
[000740] ---XG------- * FIELD int lineNo
[000739] ---XG------- \--* ADDR byref
[000738] ---XG------- \--* FIELD struct lineInfo
[000737] ------------ \--* LCL_VAR ref V57 tmp38
Inlinee Return expression (after normalization) =>
[000740] ---XG------- * FIELD int lineNo
[000739] ---XG------- \--* ADDR byref
[000738] ---XG------- \--* FIELD struct lineInfo
[000737] ------------ \--* LCL_VAR ref V57 tmp38
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB59 [0058] 1 1 [000..00C) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
** Note: inlinee IL was partially imported -- imported 0 of 12 bytes of method IL
*************** Inline @[000180] Finishing PHASE Importation
*************** Inline @[000180] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000180] Finishing PHASE Indirect call transform
*************** Inline @[000180] Starting PHASE Post-import
*************** Inline @[000180] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000180] -----------
Arguments setup:
STMT00156 (IL 0x38F... ???)
[000744] -A-XG------- * ASG ref
[000743] D------N---- +--* LCL_VAR ref V57 tmp38
[000179] ---XG------- \--* FIELD ref _curNode
[000178] ------------ \--* LCL_VAR ref V02 loc1
Inlinee method body:fgInlineAppendStatements: no gc ref inline locals.
Return expression for call at [000180] is
[000740] ---XG------- * FIELD int lineNo
[000739] ---XG------- \--* ADDR byref
[000738] ---XG------- \--* FIELD struct lineInfo
[000737] ------------ \--* LCL_VAR ref V57 tmp38
Successfully inlined NodeData:get_LineNo():int:this (12 IL bytes) (depth 1) [below ALWAYS_INLINE size]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'NodeData:get_LineNo():int:this'
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size'
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
Replacing the return expression placeholder [000184] with [000740]
[000184] --C--------- * RET_EXPR int (inl return from call [000740])
Inserting the inline return expression
[000740] ---XG------- * FIELD int lineNo
[000739] ---XG------- \--* ADDR byref
[000738] ---XG------- \--* FIELD struct lineInfo
[000737] ------------ \--* LCL_VAR ref V57 tmp38
Expanding INLINE_CANDIDATE in statement STMT00036 in BB58:
STMT00036 (IL ???... ???)
[000187] I-CXG------- * CALL r2r_ind int NodeData.get_LinePos (exactContextHnd=0x0000000000433B19)
[000186] ---XG------- this in rcx \--* FIELD ref _curNode
[000185] ------------ \--* LCL_VAR ref V02 loc1
thisArg: has global refs has side effects
[000186] ---XG------- * FIELD ref _curNode
[000185] ------------ \--* LCL_VAR ref V02 loc1
INLINER: inlineInfo.tokenLookupContextHandle for NodeData:get_LinePos():int:this set to 0x0000000000433B19:
Invoking compiler for the inlinee method NodeData:get_LinePos():int:this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 7c e2 07 00 04 ldflda 0x40007E2
IL_0006 7b 96 04 00 04 ldfld 0x4000496
IL_000b 2a ret
INLINER impTokenLookupContextHandle for NodeData:get_LinePos():int:this is 0x0000000000433B19.
*************** In fgFindBasicBlocks() for NodeData:get_LinePos():int:this
Jump targets:
none
New Basic Block BB60 [0059] created.
BB60 [000..00C)
Basic block list for 'NodeData:get_LinePos():int:this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB60 [0059] 1 1 [000..00C) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000187] Starting PHASE Pre-import
*************** Inline @[000187] Finishing PHASE Pre-import
*************** Inline @[000187] Starting PHASE Importation
*************** In impImport() for NodeData:get_LinePos():int:this
impImportBlockPending for BB60
Importing BB60 (PC=000) of 'NodeData:get_LinePos():int:this'
[ 0] 0 (0x000) ldarg.0
lvaGrabTemp returning 58 (V58 tmp39) called for Inlining Arg.
Marked V58 as a single def temp
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
lvaSetClass: setting class for V58 to (0000000000433B18) [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData
[ 1] 1 (0x001) ldflda 040007E2
[ 1] 6 (0x006) ldfld 04000496
[ 1] 11 (0x00b) ret
Inlinee Return expression (before normalization) =>
[000749] ---XG------- * FIELD int linePos
[000748] ---XG------- \--* ADDR byref
[000747] ---XG------- \--* FIELD struct lineInfo
[000746] ------------ \--* LCL_VAR ref V58 tmp39
Inlinee Return expression (after normalization) =>
[000749] ---XG------- * FIELD int linePos
[000748] ---XG------- \--* ADDR byref
[000747] ---XG------- \--* FIELD struct lineInfo
[000746] ------------ \--* LCL_VAR ref V58 tmp39
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB60 [0059] 1 1 [000..00C) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
** Note: inlinee IL was partially imported -- imported 0 of 12 bytes of method IL
*************** Inline @[000187] Finishing PHASE Importation
*************** Inline @[000187] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000187] Finishing PHASE Indirect call transform
*************** Inline @[000187] Starting PHASE Post-import
*************** Inline @[000187] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000187] -----------
Arguments setup:
STMT00158 (IL ???... ???)
[000753] -A-XG------- * ASG ref
[000752] D------N---- +--* LCL_VAR ref V58 tmp39
[000186] ---XG------- \--* FIELD ref _curNode
[000185] ------------ \--* LCL_VAR ref V02 loc1
Inlinee method body:fgInlineAppendStatements: no gc ref inline locals.
Return expression for call at [000187] is
[000749] ---XG------- * FIELD int linePos
[000748] ---XG------- \--* ADDR byref
[000747] ---XG------- \--* FIELD struct lineInfo
[000746] ------------ \--* LCL_VAR ref V58 tmp39
Successfully inlined NodeData:get_LinePos():int:this (12 IL bytes) (depth 1) [below ALWAYS_INLINE size]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'NodeData:get_LinePos():int:this'
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size'
Querying runtime about current class of field System.Xml.XmlTextReaderImpl._curNode (declared as [S.P.Xml]System.Xml.XmlTextReaderImpl+NodeData)
Field's current class not available
Expanding INLINE_CANDIDATE in statement STMT00038 in BB58:
STMT00038 (IL ???... ???)
[000192] I-C-G------- * CALL r2r_ind void System.Xml.LineInfo.Set (exactContextHnd=0x0000000000436319)
[000183] ------------ this in rcx +--* LCL_VAR byref V24 tmp5
[000190] ------------ arg1 +--* LCL_VAR int V25 tmp6
[000191] --C--------- arg2 \--* RET_EXPR int (inl return from call [000749])
thisArg: is a local var
[000183] ------------ * LCL_VAR byref V24 tmp5
Argument #1: is a local var
[000190] ------------ * LCL_VAR int V25 tmp6
Argument #2: has global refs has side effects
[000749] ---XG------- * FIELD int linePos
[000748] ---XG------- \--* ADDR byref
[000747] ---XG------- \--* FIELD struct lineInfo
[000746] ------------ \--* LCL_VAR ref V58 tmp39
INLINER: inlineInfo.tokenLookupContextHandle for System.Xml.LineInfo:Set(int,int):this set to 0x0000000000436319:
Invoking compiler for the inlinee method System.Xml.LineInfo:Set(int,int):this :
IL to import:
IL_0000 02 ldarg.0
IL_0001 03 ldarg.1
IL_0002 7d 95 04 00 04 stfld 0x4000495
IL_0007 02 ldarg.0
IL_0008 04 ldarg.2
IL_0009 7d 96 04 00 04 stfld 0x4000496
IL_000e 2a ret
INLINER impTokenLookupContextHandle for System.Xml.LineInfo:Set(int,int):this is 0x0000000000436319.
*************** In fgFindBasicBlocks() for System.Xml.LineInfo:Set(int,int):this
Jump targets:
none
New Basic Block BB61 [0060] created.
BB61 [000..00F)
Basic block list for 'System.Xml.LineInfo:Set(int,int):this'
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB61 [0060] 1 1 [000..00F) (return)
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000192] Starting PHASE Pre-import
*************** Inline @[000192] Finishing PHASE Pre-import
*************** Inline @[000192] Starting PHASE Importation
*************** In impImport() for System.Xml.LineInfo:Set(int,int):this
impImportBlockPending for BB61
Importing BB61 (PC=000) of 'System.Xml.LineInfo:Set(int,int):this'
[ 0] 0 (0x000) ldarg.0
[ 1] 1 (0x001) ldarg.1
[ 2] 2 (0x002) stfld 04000495
[000756] -A-XG------- * ASG int
[000755] ---XG--N---- +--* FIELD int lineNo
[000183] ------------ | \--* LCL_VAR byref V24 tmp5
[000190] ------------ \--* LCL_VAR int V25 tmp6
[ 0] 7 (0x007) ldarg.0
[ 1] 8 (0x008) ldarg.2
lvaGrabTemp returning 59 (V59 tmp40) called for Inlining Arg.
[ 2] 9 (0x009) stfld 04000496
[000760] -A-XG------- * ASG int
[000759] ---XG--N---- +--* FIELD int linePos
[000757] ------------ | \--* LCL_VAR byref V24 tmp5
[000758] ------------ \--* LCL_VAR int V59 tmp40
[ 0] 14 (0x00e) ret
After impImport() added block for try,catch,finally
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB61 [0060] 1 1 [000..00F) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Inline @[000192] Finishing PHASE Importation
*************** Inline @[000192] Starting PHASE Indirect call transform
*************** in fgTransformIndirectCalls(inlinee)
-- no candidates to transform
*************** Inline @[000192] Finishing PHASE Indirect call transform
*************** Inline @[000192] Starting PHASE Post-import
*************** Inline @[000192] Finishing PHASE Post-import
----------- Statements (and blocks) added due to the inlining of call [000192] -----------
Arguments setup:
STMT00162 (IL ???... ???)
[000762] -A-XG------- * ASG int
[000761] D------N---- +--* LCL_VAR int V59 tmp40
[000749] ---XG------- \--* FIELD int linePos
[000748] ---XG------- \--* ADDR byref
[000747] ---XG------- \--* FIELD struct lineInfo
[000746] ------------ \--* LCL_VAR ref V58 tmp39
Inlinee method body:
STMT00160 (IL ???... ???)
[000756] -A-XG------- * ASG int
[000755] ---XG--N---- +--* FIELD int lineNo
[000183] ------------ | \--* LCL_VAR byref V24 tmp5
[000190] ------------ \--* LCL_VAR int V25 tmp6
STMT00161 (IL ???... ???)
[000760] -A-XG------- * ASG int
[000759] ---XG--N---- +--* FIELD int linePos
[000757] ------------ | \--* LCL_VAR byref V24 tmp5
[000758] ------------ \--* LCL_VAR int V59 tmp40
fgInlineAppendStatements: no gc ref inline locals.
Successfully inlined System.Xml.LineInfo:Set(int,int):this (15 IL bytes) (depth 1) [below ALWAYS_INLINE size]
--------------------------------------------------------------------------------------------
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size' for '<ReadContentAsBinaryAsync>d__588:MoveNext():this' calling 'System.Xml.LineInfo:Set(int,int):this'
INLINER: during 'fgInline' result 'success' reason 'below ALWAYS_INLINE size'
*************** After fgInline()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 1 [02C..049) T2 i
BB07 [0006] 2 2 1 [049..050) T2 i bwd
BB08 [0007] 1 0 1 [050..06F) T0 try { keep i try label bwd
BB37 [0036] 1 0 1 [050..051)-> BB39 ( cond ) T0 i bwd
BB38 [0037] 1 0 1 [050..051)-> BB40 (always) T0 i bwd
BB39 [0038] 1 0 1 [050..051) T0 i idxlen bwd
BB40 [0039] 1 0 1 [???..???)-> BB10 (always) T0 } keep internal label idxlen bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (always) T2 i idxlen nullcheck bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 1 [337..354) T2 i bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 1 [361..383) T2 i bwd
BB49 [0048] 1 2 1 [361..362)-> BB51 ( cond ) T2 i bwd
BB50 [0049] 1 2 0.50 [361..362)-> BB52 (always) T2 i bwd
BB51 [0050] 1 2 0.50 [361..362) T2 i bwd
BB52 [0051] 2 2 1 [361..362) T2 i bwd
BB53 [0052] 1 2 1 [???..???)-> BB35 (always) T2 internal bwd
BB33 [0032] 1 2 1 [383..3B5) T2 i bwd
BB54 [0053] 1 2 1 [383..384)-> BB56 ( cond ) T2 i bwd
BB55 [0054] 1 2 0.50 [383..384)-> BB57 (always) T2 i bwd
BB56 [0055] 1 2 0.50 [383..384) T2 i bwd
BB57 [0056] 2 2 1 [383..384) T2 i bwd
BB58 [0057] 1 2 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 ( cret ) H2 catch { } keep i label target
BB35 [0034] 4 1 [3CE..3E2) i
BB36 [0035] 4 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [000..00E), preds={} succs={BB02}
***** BB01
STMT00000 (IL 0x000...0x006)
[000003] -A-XG------- * ASG int
[000002] D------N---- +--* LCL_VAR int V01 loc0
[000001] ---XG------- \--* FIELD int <>1__state
[000000] ------------ \--* LCL_VAR byref V00 this
***** BB01
STMT00001 (IL 0x007...0x00D)
[000007] -A-XG------- * ASG ref
[000006] D------N---- +--* LCL_VAR ref V02 loc1
[000005] ---XG------- \--* FIELD ref <>4__this
[000004] ------------ \--* LCL_VAR byref V00 this
------------ BB02 [00E..014) -> BB16 (cond), preds={} succs={BB03,BB16}
***** BB02
STMT00002 (IL 0x00E...0x00F)
[000013] ------------ * JTRUE void
[000012] ------------ \--* EQ int
[000010] ------------ +--* LCL_VAR int V01 loc0
[000011] ------------ \--* CNS_INT int 0
------------ BB03 [014..01B) -> BB30 (cond), preds={} succs={BB04,BB30}
***** BB03
STMT00089 (IL 0x014...0x016)
[000465] ------------ * JTRUE void
[000464] ------------ \--* EQ int
[000462] ------------ +--* LCL_VAR int V01 loc0
[000463] ------------ \--* CNS_INT int 1
------------ BB04 [01B..025) -> BB06 (cond), preds={} succs={BB05,BB06}
***** BB04
STMT00095 (IL 0x01B...0x023)
[000491] ---XG------- * JTRUE void
[000490] N--XG----U-- \--* NE int
[000488] ---XG------- +--* FIELD int _incReadState
[000487] ------------ | \--* LCL_VAR ref V02 loc1
[000489] ------------ \--* CNS_INT int 14
------------ BB05 [025..02C) -> BB35 (always), preds={} succs={BB35}
***** BB05
STMT00097 (IL 0x025...0x026)
[000503] -A---------- * ASG int
[000502] D------N---- +--* LCL_VAR int V03 loc2
[000501] ------------ \--* CNS_INT int 0
------------ BB06 [02C..049), preds={} succs={BB07}
***** BB06
STMT00096 (IL 0x02C...0x044)
[000500] --CXG------- * CALLV stub void System.Xml.IncrementalReadDecoder.SetNextOutputBuffer
[000493] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000492] ------------ | \--* LCL_VAR ref V02 loc1
[000495] ---XG------- arg1 +--* FIELD ref buffer
[000494] ------------ | \--* LCL_VAR byref V00 this
[000497] ---XG------- arg2 +--* FIELD int index
[000496] ------------ | \--* LCL_VAR byref V00 this
[000499] ---XG------- arg3 \--* FIELD int count
[000498] ------------ \--* LCL_VAR byref V00 this
------------ BB07 [049..050), preds={} succs={BB08}
***** BB07
STMT00039 (IL 0x049...0x04B)
[000196] -A-XG------- * ASG int
[000195] ---XG--N---- +--* FIELD int <charsRead>5__2
[000193] ------------ | \--* LCL_VAR byref V00 this
[000194] ------------ \--* CNS_INT int 0
------------ BB08 [050..06F), preds={} succs={BB37}
***** BB08
STMT00105 (IL 0x050... ???)
[000552] -A-XG------- * ASG ref
[000551] D------N---- +--* LCL_VAR ref V34 tmp15
[000202] ---XG------- \--* FIELD ref _curNode
[000201] ------------ \--* LCL_VAR ref V02 loc1
***** BB08
STMT00106 (IL 0x050... ???)
[000554] -A-XG------- * ASG ref
[000553] D------N---- +--* LCL_VAR ref V35 tmp16
[000204] ---XG------- \--* FIELD ref _incReadDecoder
[000203] ------------ \--* LCL_VAR ref V02 loc1
***** BB08
STMT00107 (IL 0x050... ???)
[000556] -A-XG------- * ASG int
[000555] D------N---- +--* LCL_VAR int V36 tmp17
[000206] ---XG------- \--* FIELD int _readValueOffset
[000205] ------------ \--* LCL_VAR ref V02 loc1
------------ BB37 [050..051) -> BB39 (cond), preds={} succs={BB38,BB39}
***** BB37
STMT00102 (IL 0x050... ???)
[000522] ---XG------- * JTRUE void
[000521] ---XG------- \--* NE int
[000519] ---XG------- +--* FIELD ref _value
[000518] ------------ | \--* LCL_VAR ref V34 tmp15
[000520] ------------ \--* CNS_INT ref null
------------ BB38 [050..051) -> BB40 (always), preds={} succs={BB40}
***** BB38
STMT00104 (IL 0x050... ???)
[000549] -ACXG------- * ASG int
[000548] D------N---- +--* LCL_VAR int V33 tmp14
[000547] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000536] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000538] ---XG------- arg1 +--* FIELD ref _chars
[000537] ------------ | \--* LCL_VAR ref V34 tmp15
[000542] ---XG------- arg2 +--* ADD int
[000540] ---XG------- | +--* FIELD int _valueStartPos
[000539] ------------ | | \--* LCL_VAR ref V34 tmp15
[000541] ------------ | \--* LCL_VAR int V36 tmp17
[000546] ---XG------- arg3 \--* SUB int
[000544] ---XG------- +--* FIELD int _valueLength
[000543] ------------ | \--* LCL_VAR ref V34 tmp15
[000545] ------------ \--* LCL_VAR int V36 tmp17
------------ BB39 [050..051), preds={} succs={BB40}
***** BB39
STMT00103 (IL 0x050... ???)
[000534] -ACXG------- * ASG int
[000533] D------N---- +--* LCL_VAR int V33 tmp14
[000532] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000523] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000525] ---XG------- arg1 +--* FIELD ref _value
[000524] ------------ | \--* LCL_VAR ref V34 tmp15
[000526] ------------ arg2 +--* LCL_VAR int V36 tmp17
[000531] ---XG------- arg3 \--* SUB int
[000529] ---XG------- +--* ARR_LENGTH int
[000528] ---XG------- | \--* FIELD ref _value
[000527] ------------ | \--* LCL_VAR ref V34 tmp15
[000530] ------------ \--* LCL_VAR int V36 tmp17
------------ BB40 [???..???) -> BB10 (always), preds={} succs={BB10}
***** BB40
STMT00041 (IL ???... ???)
[000210] -ACXG------- * ASG int
[000209] ---XG--N---- +--* FIELD int <charsRead>5__2
[000200] ------------ | \--* LCL_VAR byref V00 this
[000550] ------------ \--* LCL_VAR int V33 tmp14
------------ BB09 [06F..0B1) -> BB10 (cret), preds={} succs={BB10}
***** BB09
STMT00053 (IL 0x06F...0x06F)
[000262] -A---O------ * ASG ref
[000261] D------N---- +--* LCL_VAR ref V26 tmp7
[000198] -----O------ \--* CATCH_ARG ref
***** BB09
STMT00054 (IL ???... ???)
[000265] -A---------- * ASG ref
[000264] D------N---- +--* LCL_VAR ref V04 loc3
[000263] ------------ \--* LCL_VAR ref V26 tmp7
***** BB09
STMT00055 (IL 0x070...0x0AF)
[000277] --CXG------- * CALL r2r_ind void NodeData.AdjustLineInfo
[000267] ---XG------- this in rcx +--* FIELD ref _curNode
[000266] ------------ | \--* LCL_VAR ref V02 loc1
[000269] ---XG------- arg1 +--* FIELD int _readValueOffset
[000268] ------------ | \--* LCL_VAR ref V02 loc1
[000273] ---XG------- arg2 +--* FIELD bool eolNormalized
[000272] ---XG------- | \--* ADDR byref
[000271] ---XG------- | \--* FIELD struct _ps
[000270] ------------ | \--* LCL_VAR ref V02 loc1
[000276] ---XG------- arg3 \--* ADDR byref
[000275] ---XG------- \--* FIELD struct _incReadLineInfo
[000274] ------------ \--* LCL_VAR ref V02 loc1
***** BB09
STMT00056 (IL 0x092... ???)
[000288] --CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
[000278] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000279] ------------ arg1 +--* LCL_VAR ref V04 loc3
[000283] ---XG------- arg2 +--* FIELD int lineNo
[000282] ---XG------- | \--* ADDR byref
[000281] ---XG------- | \--* FIELD struct _incReadLineInfo
[000280] ------------ | \--* LCL_VAR ref V02 loc1
[000287] ---XG------- arg3 \--* FIELD int linePos
[000286] ---XG------- \--* ADDR byref
[000285] ---XG------- \--* FIELD struct _incReadLineInfo
[000284] ------------ \--* LCL_VAR ref V02 loc1
------------ BB10 [0B1..0D1) -> BB12 (cond), preds={} succs={BB11,BB12}
***** BB10
STMT00042 (IL 0x0B1...0x0BF)
[000218] -A-XG------- * ASG int
[000217] ---XG--N---- +--* FIELD int _readValueOffset
[000211] ------------ | \--* LCL_VAR ref V02 loc1
[000216] ---XG------- \--* ADD int
[000213] ---XG------- +--* FIELD int _readValueOffset
[000212] ------------ | \--* LCL_VAR ref V02 loc1
[000215] ---XG------- \--* FIELD int <charsRead>5__2
[000214] ------------ \--* LCL_VAR byref V00 this
***** BB10
STMT00043 (IL 0x0C4...0x0CF)
[000225] --CXG------- * JTRUE void
[000224] --CXG------- \--* EQ int
[000222] --CXG------- +--* CAST int <- bool <- int
[000221] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000220] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000219] ------------ | \--* LCL_VAR ref V02 loc1
[000223] ------------ \--* CNS_INT int 0
------------ BB11 [0D1..0E2) -> BB35 (always), preds={} succs={BB35}
***** BB11
STMT00049 (IL 0x0D1...0x0DC)
[000250] -ACXG------- * ASG int
[000249] D------N---- +--* LCL_VAR int V03 loc2
[000248] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000247] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000246] ------------ \--* LCL_VAR ref V02 loc1
------------ BB12 [0E2..0EF) -> BB28 (cond), preds={} succs={BB13,BB28}
***** BB12
STMT00044 (IL 0x0E2...0x0EA)
[000230] ---XG------- * JTRUE void
[000229] N--XG----U-- \--* NE int
[000227] ---XG------- +--* FIELD int _incReadState
[000226] ------------ | \--* LCL_VAR ref V02 loc1
[000228] ------------ \--* CNS_INT int 13
------------ BB13 [0EF..10D) -> BB21 (always), preds={} succs={BB21}
***** BB13
STMT00110 (IL 0x0EF... ???)
[000567] -A-XG------- * ASG ref
[000566] D------N---- +--* LCL_VAR ref V37 tmp18
[000232] ---XG------- \--* FIELD ref _curNode
[000231] ------------ \--* LCL_VAR ref V02 loc1
***** BB13
STMT00111 (IL 0x0EF... ???)
[000569] -A--G------- * ASG ref
[000568] D------N---- +--* LCL_VAR ref V38 tmp19
[000235] n---G------- \--* IND ref
[000234] #----------- \--* IND long
[000233] ------------ \--* CNS_INT(h) long 0x4217B8 pstr
***** BB13
STMT00108 (IL 0x0EF... ???)
[000561] -A-XG------- * ASG int
[000560] ---XG--N---- +--* FIELD int _valueStartPos
[000558] ------------ | \--* LCL_VAR ref V37 tmp18
[000559] ------------ \--* CNS_INT int -1
***** BB13
STMT00109 (IL 0x0EF... ???)
[000565] -A-XG------- * ASG ref
[000564] ---XG--N---- +--* FIELD ref _value
[000562] ------------ | \--* LCL_VAR ref V37 tmp18
[000563] ------------ \--* LCL_VAR ref V38 tmp19
***** BB13
STMT00046 (IL 0x0FF... ???)
[000239] -A---------- * ASG int
[000238] D------N---- +--* LCL_VAR int V05 loc4
[000237] ------------ \--* CNS_INT int 0
***** BB13
STMT00047 (IL 0x102...0x103)
[000242] -A---------- * ASG int
[000241] D------N---- +--* LCL_VAR int V06 loc5
[000240] ------------ \--* CNS_INT int 0
***** BB13
STMT00048 (IL 0x105...0x106)
[000245] -A---------- * ASG int
[000244] D------N---- +--* LCL_VAR int V07 loc6
[000243] ------------ \--* CNS_INT int 0
------------ BB14 [10D..157) -> BB17 (cond), preds={} succs={BB15,BB17}
***** BB14
STMT00072 (IL 0x10D...0x10E)
[000382] -A---------- * ASG int
[000381] D------N---- +--* LCL_VAR int V08 loc7
[000380] ------------ \--* CNS_INT int 0
***** BB14
STMT00074 (IL 0x110...0x139)
[000391] -A-XG------- * ASG byref
[000390] D------N---- +--* LCL_VAR byref V28 tmp9
[000385] ---XG------- \--* ADDR byref
[000384] ---XG------- \--* FIELD struct _incReadLineInfo
[000383] ------------ \--* LCL_VAR ref V02 loc1
***** BB14
STMT00112 (IL 0x110... ???)
[000574] -A-XG------- * ASG byref
[000573] D------N---- +--* LCL_VAR byref V39 tmp20
[000388] ---XG------- \--* ADDR byref
[000387] ---XG------- \--* FIELD struct _ps
[000386] ------------ \--* LCL_VAR ref V02 loc1
***** BB14
STMT00076 (IL ???... ???)
[000399] -AC--------- * ASG int
[000398] D------N---- +--* LCL_VAR int V29 tmp10
[000572] ---XG------- \--* FIELD int lineNo
[000571] ------------ \--* LCL_VAR byref V39 tmp20
***** BB14
STMT00113 (IL ???... ???)
[000582] -A-XG------- * ASG byref
[000581] D------N---- +--* LCL_VAR byref V40 tmp21
[000396] ---XG------- \--* ADDR byref
[000395] ---XG------- \--* FIELD struct _ps
[000394] ------------ \--* LCL_VAR ref V02 loc1
***** BB14
STMT00116 (IL ???... ???)
[000591] -A-XG------- * ASG int
[000590] D------N---- +--* LCL_VAR int V41 tmp22
[000580] ---XG------- \--* SUB int
[000577] ---XG------- +--* FIELD int charPos
[000576] ------------ | \--* LCL_VAR byref V40 tmp21
[000579] ---XG------- \--* FIELD int lineStartPos
[000578] ------------ \--* LCL_VAR byref V40 tmp21
***** BB14
STMT00114 (IL ???... ???)
[000585] -A-XG------- * ASG int
[000584] ---XG--N---- +--* FIELD int lineNo
[000392] ------------ | \--* LCL_VAR byref V28 tmp9
[000400] ------------ \--* LCL_VAR int V29 tmp10
***** BB14
STMT00115 (IL ???... ???)
[000589] -A-XG------- * ASG int
[000588] ---XG--N---- +--* FIELD int linePos
[000586] ------------ | \--* LCL_VAR byref V28 tmp9
[000587] ------------ \--* LCL_VAR int V41 tmp22
***** BB14
STMT00078 (IL 0x131... ???)
[000405] S-C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ParseTextAsync
[000403] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000407] ------------ arg1 +--* ADDR byref
[000406] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V12 loc11
[000404] ------------ arg2 \--* LCL_VAR int V08 loc7
***** BB14
STMT00079 (IL 0x13B...0x143)
[000411] S-C-G------- * CALL r2r_ind void System.Threading.Tasks.ValueTask`1.ConfigureAwait
[000409] ------------ this in rcx +--* ADDR byref
[000408] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V12 loc11
[000413] ------------ arg1 +--* ADDR byref
[000412] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V13 loc12
[000410] ------------ arg2 \--* CNS_INT int 0
***** BB14
STMT00080 (IL 0x145...0x14C)
[000416] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter
[000415] ------------ this in rcx +--* ADDR byref
[000414] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V13 loc12
[000418] ------------ arg1 \--* ADDR byref
[000417] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
***** BB14
STMT00081 (IL 0x14E...0x155)
[000425] --C-G------- * JTRUE void
[000424] --C-G------- \--* NE int
[000422] --C-G------- +--* CAST int <- bool <- int
[000421] --C-G------- | \--* CALL r2r_ind int ConfiguredValueTaskAwaiter.get_IsCompleted
[000420] ------------ this in rcx | \--* ADDR byref
[000419] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000423] ------------ \--* CNS_INT int 0
------------ BB15 [157..17B) -> BB36 (always), preds={} succs={BB36}
***** BB15
STMT00082 (IL 0x157...0x15A)
[000430] -A---------- * ASG int
[000429] D------N---- +--* LCL_VAR int V01 loc0
[000428] ------------ \--* CNS_INT int 0
***** BB15
STMT00083 (IL ???...0x15B)
[000432] -A-XG------- * ASG int
[000431] ---XG--N---- +--* FIELD int <>1__state
[000426] ------------ | \--* LCL_VAR byref V00 this
[000427] ------------ \--* CNS_INT int 0
***** BB15
STMT00084 (IL 0x160...0x163)
[000438] -A-XG------- * ASG struct (copy)
[000437] ---XG------- +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>
[000436] ---XG------- | \--* ADDR byref
[000435] ---XG------- | \--* FIELD struct <>u__1
[000433] ------------ | \--* LCL_VAR byref V00 this
[000434] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
***** BB15
STMT00085 (IL 0x168...0x176)
[000445] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000441] ---XG------- this in rcx +--* ADDR byref
[000440] ---XG------- | \--* FIELD struct <>t__builder
[000439] ------------ | \--* LCL_VAR byref V00 this
[000443] ------------ arg1 +--* ADDR byref
[000442] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000444] ------------ arg2 \--* LCL_VAR byref V00 this
------------ BB16 [17B..198), preds={} succs={BB17}
***** BB16
STMT00003 (IL 0x17B...0x181)
[000018] -A-XG------- * ASG struct (copy)
[000016] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000015] ---XG------- \--* FIELD struct <>u__1
[000014] ------------ \--* LCL_VAR byref V00 this
***** BB16
STMT00004 (IL 0x183...0x18A)
[000024] IA-XG------- * ASG struct (init)
[000023] ---XG--N---- +--* BLK struct<32>
[000021] ---XG------- | \--* ADDR byref
[000020] ---XG------- | \--* FIELD struct <>u__1
[000019] ------------ | \--* LCL_VAR byref V00 this
[000022] ------------ \--* CNS_INT int 0
***** BB16
STMT00005 (IL 0x18F...0x192)
[000028] -A---------- * ASG int
[000027] D------N---- +--* LCL_VAR int V20 tmp1
[000026] ------------ \--* CNS_INT int -1
***** BB16
STMT00006 (IL ???... ???)
[000032] -A---------- * ASG int
[000031] D------N---- +--* LCL_VAR int V01 loc0
[000030] ------------ \--* LCL_VAR int V20 tmp1
***** BB16
STMT00007 (IL ???...0x193)
[000034] -A-XG------- * ASG int
[000033] ---XG--N---- +--* FIELD int <>1__state
[000025] ------------ | \--* LCL_VAR byref V00 this
[000029] ------------ \--* LCL_VAR int V20 tmp1
------------ BB17 [198..1C9), preds={} succs={BB18}
***** BB17
STMT00008 (IL 0x198...0x19F)
[000037] S-C-G------- * CALL r2r_ind void ConfiguredValueTaskAwaiter.GetResult
[000036] ------------ this in rcx +--* ADDR byref
[000035] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000039] ------------ arg1 \--* ADDR byref
[000038] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V10 loc9
***** BB17
STMT00009 (IL 0x1A1...0x1A3)
[000043] -A---------- * ASG struct (copy)
[000041] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
[000040] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V10 loc9
***** BB17
STMT00010 (IL 0x1A5...0x1AC)
[000048] -A---------- * ASG int
[000047] D------N---- +--* LCL_VAR int V06 loc5
[000046] ------------ \--* FIELD int Item1
[000045] ------------ \--* ADDR byref
[000044] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
***** BB17
STMT00011 (IL 0x1AE...0x1B5)
[000053] -A---------- * ASG int
[000052] D------N---- +--* LCL_VAR int V07 loc6
[000051] ------------ \--* FIELD int Item2
[000050] ------------ \--* ADDR byref
[000049] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
***** BB17
STMT00012 (IL 0x1B7...0x1BE)
[000058] -A---------- * ASG int
[000057] D------N---- +--* LCL_VAR int V08 loc7
[000056] ------------ \--* FIELD int Item3
[000055] ------------ \--* ADDR byref
[000054] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
***** BB17
STMT00013 (IL 0x1C0...0x1C7)
[000063] -A---------- * ASG int
[000062] D------N---- +--* LCL_VAR int V05 loc4
[000061] ------------ \--* FIELD bool Item4
[000060] ------------ \--* ADDR byref
[000059] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
------------ BB18 [1C9..1EE) -> BB20 (always), preds={} succs={BB20}
***** BB18
STMT00014 (IL 0x1C9...0x1E7)
[000080] -ACXG------- * ASG int
[000079] ---XG--N---- +--* FIELD int <charsRead>5__2
[000067] ------------ | \--* LCL_VAR byref V00 this
[000078] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000069] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000068] ------------ | \--* LCL_VAR ref V02 loc1
[000073] ---XG------- arg1 +--* FIELD ref chars
[000072] ---XG------- | \--* ADDR byref
[000071] ---XG------- | \--* FIELD struct _ps
[000070] ------------ | \--* LCL_VAR ref V02 loc1
[000074] ------------ arg2 +--* LCL_VAR int V06 loc5
[000077] ------------ arg3 \--* SUB int
[000075] ------------ +--* LCL_VAR int V07 loc6
[000076] ------------ \--* LCL_VAR int V06 loc5
------------ BB19 [1EE..210) -> BB20 (cret), preds={} succs={BB20}
***** BB19
STMT00086 (IL 0x1EE...0x1EE)
[000447] -A---O------ * ASG ref
[000446] D------N---- +--* LCL_VAR ref V30 tmp11
[000065] -----O------ \--* CATCH_ARG ref
***** BB19
STMT00087 (IL ???... ???)
[000450] -A---------- * ASG ref
[000449] D------N---- +--* LCL_VAR ref V14 loc13
[000448] ------------ \--* LCL_VAR ref V30 tmp11
***** BB19
STMT00088 (IL 0x1F0...0x20E)
[000461] --CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
[000451] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000452] ------------ arg1 +--* LCL_VAR ref V14 loc13
[000456] ---XG------- arg2 +--* FIELD int lineNo
[000455] ---XG------- | \--* ADDR byref
[000454] ---XG------- | \--* FIELD struct _incReadLineInfo
[000453] ------------ | \--* LCL_VAR ref V02 loc1
[000460] ---XG------- arg3 \--* FIELD int linePos
[000459] ---XG------- \--* ADDR byref
[000458] ---XG------- \--* FIELD struct _incReadLineInfo
[000457] ------------ \--* LCL_VAR ref V02 loc1
------------ BB20 [210..21B), preds={} succs={BB21}
***** BB20
STMT00015 (IL 0x210...0x219)
[000086] -A-XG------- * ASG int
[000085] D------N---- +--* LCL_VAR int V06 loc5
[000084] ---XG------- \--* ADD int
[000081] ------------ +--* LCL_VAR int V06 loc5
[000083] ---XG------- \--* FIELD int <charsRead>5__2
[000082] ------------ \--* LCL_VAR byref V00 this
------------ BB21 [21B..228) -> BB23 (cond), preds={} succs={BB22,BB23}
***** BB21
STMT00016 (IL 0x21B...0x226)
[000093] --CXG------- * JTRUE void
[000092] --CXG------- \--* NE int
[000090] --CXG------- +--* CAST int <- bool <- int
[000089] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000088] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000087] ------------ | \--* LCL_VAR ref V02 loc1
[000091] ------------ \--* CNS_INT int 0
------------ BB22 [228..22F) -> BB14 (cond), preds={} succs={BB23,BB14}
***** BB22
STMT00071 (IL 0x228...0x22A)
[000379] ------------ * JTRUE void
[000378] ------------ \--* EQ int
[000376] ------------ +--* LCL_VAR int V05 loc4
[000377] ------------ \--* CNS_INT int 0
------------ BB23 [22F..234) -> BB25 (cond), preds={} succs={BB24,BB25}
***** BB23
STMT00018 (IL ???...0x232)
[000100] -A---------- * ASG ref
[000099] D------N---- +--* LCL_VAR ref V21 tmp2
[000094] ------------ \--* LCL_VAR ref V02 loc1
***** BB23
STMT00017 (IL 0x22F...0x232)
[000098] ------------ * JTRUE void
[000097] ------------ \--* NE int
[000095] ------------ +--* LCL_VAR int V05 loc4
[000096] ------------ \--* CNS_INT int 0
------------ BB24 [234..238) -> BB26 (always), preds={} succs={BB26}
***** BB24
STMT00069 (IL ???...0x236)
[000371] -A---------- * ASG ref
[000370] D------N---- +--* LCL_VAR ref V22 tmp3
[000102] ------------ \--* LCL_VAR ref V21 tmp2
***** BB24
STMT00070 (IL ???... ???)
[000374] -A---------- * ASG int
[000373] D------N---- +--* LCL_VAR int V23 tmp4
[000369] ------------ \--* CNS_INT int 13
------------ BB25 [238..23A), preds={} succs={BB26}
***** BB25
STMT00019 (IL ???...0x238)
[000106] -A---------- * ASG ref
[000105] D------N---- +--* LCL_VAR ref V22 tmp3
[000103] ------------ \--* LCL_VAR ref V21 tmp2
***** BB25
STMT00020 (IL ???... ???)
[000109] -A---------- * ASG int
[000108] D------N---- +--* LCL_VAR int V23 tmp4
[000104] ------------ \--* CNS_INT int 12
------------ BB26 [23A..253) -> BB28 (cond), preds={} succs={BB27,BB28}
***** BB26
STMT00021 (IL ???...0x23A)
[000114] -A-XG------- * ASG int
[000113] ---XG--N---- +--* FIELD int _incReadState
[000111] ------------ | \--* LCL_VAR ref V22 tmp3
[000112] ------------ \--* LCL_VAR int V23 tmp4
***** BB26
STMT00022 (IL 0x23F...0x241)
[000118] -A-XG------- * ASG int
[000117] ---XG--N---- +--* FIELD int _readValueOffset
[000115] ------------ | \--* LCL_VAR ref V02 loc1
[000116] ------------ \--* CNS_INT int 0
***** BB26
STMT00023 (IL 0x246...0x251)
[000125] --CXG------- * JTRUE void
[000124] --CXG------- \--* EQ int
[000122] --CXG------- +--* CAST int <- bool <- int
[000121] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000120] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000119] ------------ | \--* LCL_VAR ref V02 loc1
[000123] ------------ \--* CNS_INT int 0
------------ BB27 [253..2CE) -> BB35 (always), preds={} succs={BB35}
***** BB27
STMT00121 (IL 0x253... ???)
[000609] -A-XG------- * ASG ref
[000608] D------N---- +--* LCL_VAR ref V42 tmp23
[000326] ---XG------- \--* FIELD ref _curNode
[000325] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00122 (IL 0x253... ???)
[000611] -A-XG------- * ASG ref
[000610] D------N---- +--* LCL_VAR ref V43 tmp24
[000330] ---XG------- \--* FIELD ref chars
[000329] ---XG------- \--* ADDR byref
[000328] ---XG------- \--* FIELD struct _ps
[000327] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00117 (IL 0x253... ???)
[000596] -A-XG------- * ASG ref
[000595] ---XG--N---- +--* FIELD ref _value
[000593] ------------ | \--* LCL_VAR ref V42 tmp23
[000594] ------------ \--* CNS_INT ref null
***** BB27
STMT00118 (IL 0x253... ???)
[000600] -A-XG------- * ASG ref
[000599] ---XG--N---- +--* FIELD ref _chars
[000597] ------------ | \--* LCL_VAR ref V42 tmp23
[000598] ------------ \--* LCL_VAR ref V43 tmp24
***** BB27
STMT00119 (IL 0x253... ???)
[000603] -A-XG------- * ASG int
[000602] ---XG--N---- +--* FIELD int _valueStartPos
[000601] ------------ | \--* LCL_VAR ref V42 tmp23
[000331] ------------ \--* LCL_VAR int V06 loc5
***** BB27
STMT00120 (IL 0x253... ???)
[000607] -A-XG------- * ASG int
[000606] ---XG--N---- +--* FIELD int _valueLength
[000604] ------------ | \--* LCL_VAR ref V42 tmp23
[000334] ------------ \--* SUB int
[000332] ------------ +--* LCL_VAR int V07 loc6
[000333] ------------ \--* LCL_VAR int V06 loc5
***** BB27
STMT00127 (IL 0x270... ???)
[000634] -A-XG------- * ASG ref
[000633] D------N---- +--* LCL_VAR ref V45 tmp26
[000339] ---XG------- \--* FIELD ref chars
[000338] ---XG------- \--* ADDR byref
[000337] ---XG------- \--* FIELD struct _ps
[000336] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00128 (IL 0x270... ???)
[000636] -A-XG------- * ASG int
[000635] D------N---- +--* LCL_VAR int V46 tmp27
[000343] ---XG------- \--* SUB int
[000340] ------------ +--* LCL_VAR int V06 loc5
[000342] ---XG------- \--* FIELD int <charsRead>5__2
[000341] ------------ \--* LCL_VAR byref V00 this
***** BB27
STMT00129 (IL 0x270... ???)
[000638] -A-XG------- * ASG bool
[000637] D------N---- +--* LCL_VAR bool V49 tmp30
[000348] ---XG------- \--* FIELD bool eolNormalized
[000347] ---XG------- \--* ADDR byref
[000346] ---XG------- \--* FIELD struct _ps
[000345] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00130 (IL 0x270... ???)
[000640] -A-XG------- * ASG byref
[000639] D------N---- +--* LCL_VAR byref V50 tmp31
[000351] ---XG------- \--* ADDR byref
[000350] ---XG------- \--* FIELD struct _incReadLineInfo
[000349] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00123 (IL 0x270... ???)
[000618] -A-XG------- * ASG byref
[000617] D------N---- +--* LCL_VAR byref V47 tmp28
[000616] ---XG------- \--* ADDR byref
[000615] ---XG------- \--* INDEX ushort
[000613] ------------ +--* LCL_VAR ref V45 tmp26
[000614] ------------ \--* LCL_VAR int V46 tmp27
***** BB27
STMT00124 (IL 0x270... ???)
[000622] -A---------- * ASG long
[000621] D------N---- +--* LCL_VAR long V48 tmp29
[000620] ---------U-- \--* CAST long <- ulong <- byref
[000619] ------------ \--* LCL_VAR byref V47 tmp28
***** BB27
STMT00125 (IL 0x270... ???)
[000628] --C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.AdjustLineInfo
[000623] ------------ arg0 +--* LCL_VAR long V48 tmp29
[000625] ------------ arg1 +--* SUB int
[000344] ------------ | +--* LCL_VAR int V06 loc5
[000624] ------------ | \--* LCL_VAR int V46 tmp27
[000626] ------------ arg2 +--* LCL_VAR int V49 tmp30
[000627] ------------ arg3 \--* LCL_VAR byref V50 tmp31
***** BB27
STMT00126 (IL 0x270... ???)
[000632] -A---------- * ASG byref
[000631] D------N---- +--* LCL_VAR byref V47 tmp28
[000630] ---------U-- \--* CAST byref <- ulong <- uint
[000629] ------------ \--* CNS_INT int 0
***** BB27
STMT00131 (IL 0x270... ???)
[000643] -A---------- * ASG byref
[000642] D------N---- +--* LCL_VAR byref V47 tmp28
[000641] ------------ \--* CNS_INT byref 0
***** BB27
STMT00133 (IL 0x29C... ???)
[000654] -A-XG------- * ASG ref
[000653] D------N---- +--* LCL_VAR ref V51 tmp32
[000354] ---XG------- \--* FIELD ref _curNode
[000353] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00134 (IL 0x29C... ???)
[000656] -A-XG------- * ASG int
[000655] D------N---- +--* LCL_VAR int V52 tmp33
[000358] ---XG------- \--* FIELD int lineNo
[000357] ---XG------- \--* ADDR byref
[000356] ---XG------- \--* FIELD struct _incReadLineInfo
[000355] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00135 (IL 0x29C... ???)
[000658] -A-XG------- * ASG int
[000657] D------N---- +--* LCL_VAR int V53 tmp34
[000362] ---XG------- \--* FIELD int linePos
[000361] ---XG------- \--* ADDR byref
[000360] ---XG------- \--* FIELD struct _incReadLineInfo
[000359] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00136 (IL 0x29C... ???)
[000652] ---X-------- * NULLCHECK byte
[000651] ------------ \--* LCL_VAR ref V51 tmp32
***** BB27
STMT00139 (IL 0x29C... ???)
[000667] -A-XG------- * ASG byref
[000666] D------N---- +--* LCL_VAR byref V54 tmp35
[000647] ---XG------- \--* ADDR byref
[000646] ---XG------- \--* FIELD struct lineInfo
[000645] ------------ \--* LCL_VAR ref V51 tmp32
***** BB27
STMT00137 (IL 0x29C... ???)
[000662] -A-XG------- * ASG int
[000661] ---XG--N---- +--* FIELD int lineNo
[000660] ------------ | \--* LCL_VAR byref V54 tmp35
[000648] ------------ \--* LCL_VAR int V52 tmp33
***** BB27
STMT00138 (IL 0x29C... ???)
[000665] -A-XG------- * ASG int
[000664] ---XG--N---- +--* FIELD int linePos
[000663] ------------ | \--* LCL_VAR byref V54 tmp35
[000649] ------------ \--* LCL_VAR int V53 tmp34
***** BB27
STMT00068 (IL 0x2BD... ???)
[000368] -ACXG------- * ASG int
[000367] D------N---- +--* LCL_VAR int V03 loc2
[000366] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000365] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000364] ------------ \--* LCL_VAR ref V02 loc1
------------ BB28 [2CE..313) -> BB31 (cond), preds={} succs={BB29,BB31}
***** BB28
STMT00024 (IL 0x2CE...0x2D5)
[000130] -A-XG------- * ASG int
[000129] ---XG--N---- +--* FIELD int <tmp>5__3
[000126] ------------ | \--* LCL_VAR byref V00 this
[000128] ---XG------- \--* FIELD int _parsingFunction
[000127] ------------ \--* LCL_VAR ref V02 loc1
***** BB28
STMT00025 (IL 0x2DA...0x2E1)
[000135] -A-XG------- * ASG int
[000134] ---XG--N---- +--* FIELD int _parsingFunction
[000131] ------------ | \--* LCL_VAR ref V02 loc1
[000133] ---XG------- \--* FIELD int _nextParsingFunction
[000132] ------------ \--* LCL_VAR ref V02 loc1
***** BB28
STMT00026 (IL 0x2E6...0x2ED)
[000140] -A-XG------- * ASG int
[000139] ---XG--N---- +--* FIELD int _nextParsingFunction
[000136] ------------ | \--* LCL_VAR ref V02 loc1
[000138] ---XG------- \--* FIELD int _nextNextParsingFunction
[000137] ------------ \--* LCL_VAR ref V02 loc1
***** BB28
STMT00028 (IL ???... ???)
[000146] S-C-G------- * CALLV stub void System.Threading.Tasks.Task`1.ConfigureAwait
[000143] --C-G------- this in rcx +--* CALL r2r_ind ref System.Xml.XmlTextReaderImpl.MoveToNextContentNodeAsync
[000141] ------------ this in rcx | +--* LCL_VAR ref V02 loc1
[000142] ------------ arg1 | \--* CNS_INT int 1
[000148] ------------ arg1 +--* ADDR byref
[000147] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>, 16> V17 loc16
[000145] ------------ arg2 \--* CNS_INT int 0
***** BB28
STMT00029 (IL 0x301...0x308)
[000151] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter
[000150] ------------ this in rcx +--* ADDR byref
[000149] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>, 16> V17 loc16
[000153] ------------ arg1 \--* ADDR byref
[000152] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
***** BB28
STMT00030 (IL 0x30A...0x311)
[000160] --C-G------- * JTRUE void
[000159] --C-G------- \--* NE int
[000157] --C-G------- +--* CAST int <- bool <- int
[000156] --C-G------- | \--* CALL r2r_ind int ConfiguredTaskAwaiter.get_IsCompleted
[000155] ------------ this in rcx | \--* ADDR byref
[000154] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000158] ------------ \--* CNS_INT int 0
------------ BB29 [313..337) -> BB36 (always), preds={} succs={BB36}
***** BB29
STMT00060 (IL 0x313...0x316)
[000305] -A---------- * ASG int
[000304] D------N---- +--* LCL_VAR int V27 tmp8
[000303] ------------ \--* CNS_INT int 1
***** BB29
STMT00061 (IL ???... ???)
[000309] -A---------- * ASG int
[000308] D------N---- +--* LCL_VAR int V01 loc0
[000307] ------------ \--* LCL_VAR int V27 tmp8
***** BB29
STMT00062 (IL ???...0x317)
[000311] -A-XG------- * ASG int
[000310] ---XG--N---- +--* FIELD int <>1__state
[000302] ------------ | \--* LCL_VAR byref V00 this
[000306] ------------ \--* LCL_VAR int V27 tmp8
***** BB29
STMT00063 (IL 0x31C...0x31F)
[000317] -A-XG------- * ASG struct (copy)
[000316] ---XG------- +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>
[000315] ---XG------- | \--* ADDR byref
[000314] ---XG------- | \--* FIELD struct <>u__2
[000312] ------------ | \--* LCL_VAR byref V00 this
[000313] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
***** BB29
STMT00064 (IL 0x324...0x332)
[000324] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000320] ---XG------- this in rcx +--* ADDR byref
[000319] ---XG------- | \--* FIELD struct <>t__builder
[000318] ------------ | \--* LCL_VAR byref V00 this
[000322] ------------ arg1 +--* ADDR byref
[000321] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000323] ------------ arg2 \--* LCL_VAR byref V00 this
------------ BB30 [337..354), preds={} succs={BB31}
***** BB30
STMT00090 (IL 0x337...0x33D)
[000470] -A-XG------- * ASG struct (copy)
[000468] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000467] ---XG------- \--* FIELD struct <>u__2
[000466] ------------ \--* LCL_VAR byref V00 this
***** BB30
STMT00091 (IL 0x33F...0x346)
[000476] IA-XG------- * ASG struct (init)
[000475] ---XG--N---- +--* BLK struct<16>
[000473] ---XG------- | \--* ADDR byref
[000472] ---XG------- | \--* FIELD struct <>u__2
[000471] ------------ | \--* LCL_VAR byref V00 this
[000474] ------------ \--* CNS_INT int 0
***** BB30
STMT00092 (IL 0x34B...0x34E)
[000480] -A---------- * ASG int
[000479] D------N---- +--* LCL_VAR int V31 tmp12
[000478] ------------ \--* CNS_INT int -1
***** BB30
STMT00093 (IL ???... ???)
[000484] -A---------- * ASG int
[000483] D------N---- +--* LCL_VAR int V01 loc0
[000482] ------------ \--* LCL_VAR int V31 tmp12
***** BB30
STMT00094 (IL ???...0x34F)
[000486] -A-XG------- * ASG int
[000485] ---XG--N---- +--* FIELD int <>1__state
[000477] ------------ | \--* LCL_VAR byref V00 this
[000481] ------------ \--* LCL_VAR int V31 tmp12
------------ BB31 [354..361) -> BB33 (cond), preds={} succs={BB32,BB33}
***** BB31
STMT00031 (IL 0x354...0x35B)
[000166] -AC-G------- * ASG int
[000165] D------N---- +--* LCL_VAR int V15 loc14
[000164] --C-G------- \--* CAST int <- bool <- int
[000163] --C-G------- \--* CALL r2r_ind int ConfiguredTaskAwaiter.GetResult
[000162] ------------ this in rcx \--* ADDR byref
[000161] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
***** BB31
STMT00032 (IL 0x35D...0x35F)
[000170] ------------ * JTRUE void
[000169] ------------ \--* NE int
[000167] ------------ +--* LCL_VAR int V15 loc14
[000168] ------------ \--* CNS_INT int 0
------------ BB32 [361..383), preds={} succs={BB49}
***** BB32
STMT00147 (IL 0x361... ???)
[000702] -A-XG------- * ASG int
[000701] D------N---- +--* LCL_VAR int V55 tmp36
[000291] ---XG------- \--* FIELD int <tmp>5__3
[000290] ------------ \--* LCL_VAR byref V00 this
------------ BB49 [361..362) -> BB51 (cond), preds={} succs={BB50,BB51}
***** BB49
STMT00140 (IL 0x361... ???)
[000674] ---XG------- * JTRUE void
[000673] N--XG----U-- \--* NE int
[000671] ---XG------- +--* FIELD int _parsingFunction
[000289] ------------ | \--* LCL_VAR ref V02 loc1
[000672] ------------ \--* CNS_INT int 21
------------ BB50 [361..362) -> BB52 (always), preds={} succs={BB52}
***** BB50
STMT00146 (IL 0x361... ???)
[000700] -A-XG------- * ASG int
[000699] ---XG--N---- +--* FIELD int _incReadState
[000697] ------------ | \--* LCL_VAR ref V02 loc1
[000698] ------------ \--* CNS_INT int 13
------------ BB51 [361..362), preds={} succs={BB52}
***** BB51
STMT00141 (IL 0x361... ???)
[000678] -A-XG------- * ASG int
[000677] ---XG--N---- +--* FIELD int _incReadState
[000675] ------------ | \--* LCL_VAR ref V02 loc1
[000676] ------------ \--* CNS_INT int 12
***** BB51
STMT00142 (IL 0x361... ???)
[000683] -A-XG------- * ASG int
[000682] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000679] ------------ | \--* LCL_VAR ref V02 loc1
[000681] ---XG------- \--* FIELD int _nextParsingFunction
[000680] ------------ \--* LCL_VAR ref V02 loc1
***** BB51
STMT00143 (IL 0x361... ???)
[000688] -A-XG------- * ASG int
[000687] ---XG--N---- +--* FIELD int _nextParsingFunction
[000684] ------------ | \--* LCL_VAR ref V02 loc1
[000686] ---XG------- \--* FIELD int _parsingFunction
[000685] ------------ \--* LCL_VAR ref V02 loc1
------------ BB52 [361..362), preds={} succs={BB53}
***** BB52
STMT00144 (IL 0x361... ???)
[000692] -A-XG------- * ASG int
[000691] ---XG--N---- +--* FIELD int _readValueOffset
[000689] ------------ | \--* LCL_VAR ref V02 loc1
[000690] ------------ \--* CNS_INT int 0
***** BB52
STMT00145 (IL 0x361... ???)
[000696] -A-XG------- * ASG int
[000695] ---XG--N---- +--* FIELD int _parsingFunction
[000693] ------------ | \--* LCL_VAR ref V02 loc1
[000694] ------------ \--* LCL_VAR int V55 tmp36
------------ BB53 [???..???) -> BB35 (always), preds={} succs={BB35}
***** BB53
STMT00058 (IL 0x36D... ???)
[000296] -A-XG------- * ASG int
[000295] ---XG--N---- +--* FIELD int _incReadState
[000293] ------------ | \--* LCL_VAR ref V02 loc1
[000294] ------------ \--* CNS_INT int 14
***** BB53
STMT00059 (IL 0x375...0x380)
[000301] -ACXG------- * ASG int
[000300] D------N---- +--* LCL_VAR int V03 loc2
[000299] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000298] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000297] ------------ \--* LCL_VAR ref V02 loc1
------------ BB33 [383..3B5), preds={} succs={BB54}
***** BB33
STMT00155 (IL 0x383... ???)
[000735] -A-XG------- * ASG int
[000734] D------N---- +--* LCL_VAR int V56 tmp37
[000173] ---XG------- \--* FIELD int <tmp>5__3
[000172] ------------ \--* LCL_VAR byref V00 this
------------ BB54 [383..384) -> BB56 (cond), preds={} succs={BB55,BB56}
***** BB54
STMT00148 (IL 0x383... ???)
[000707] ---XG------- * JTRUE void
[000706] N--XG----U-- \--* NE int
[000704] ---XG------- +--* FIELD int _parsingFunction
[000171] ------------ | \--* LCL_VAR ref V02 loc1
[000705] ------------ \--* CNS_INT int 21
------------ BB55 [383..384) -> BB57 (always), preds={} succs={BB57}
***** BB55
STMT00154 (IL 0x383... ???)
[000733] -A-XG------- * ASG int
[000732] ---XG--N---- +--* FIELD int _incReadState
[000730] ------------ | \--* LCL_VAR ref V02 loc1
[000731] ------------ \--* CNS_INT int 13
------------ BB56 [383..384), preds={} succs={BB57}
***** BB56
STMT00149 (IL 0x383... ???)
[000711] -A-XG------- * ASG int
[000710] ---XG--N---- +--* FIELD int _incReadState
[000708] ------------ | \--* LCL_VAR ref V02 loc1
[000709] ------------ \--* CNS_INT int 12
***** BB56
STMT00150 (IL 0x383... ???)
[000716] -A-XG------- * ASG int
[000715] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000712] ------------ | \--* LCL_VAR ref V02 loc1
[000714] ---XG------- \--* FIELD int _nextParsingFunction
[000713] ------------ \--* LCL_VAR ref V02 loc1
***** BB56
STMT00151 (IL 0x383... ???)
[000721] -A-XG------- * ASG int
[000720] ---XG--N---- +--* FIELD int _nextParsingFunction
[000717] ------------ | \--* LCL_VAR ref V02 loc1
[000719] ---XG------- \--* FIELD int _parsingFunction
[000718] ------------ \--* LCL_VAR ref V02 loc1
------------ BB57 [383..384), preds={} succs={BB58}
***** BB57
STMT00152 (IL 0x383... ???)
[000725] -A-XG------- * ASG int
[000724] ---XG--N---- +--* FIELD int _readValueOffset
[000722] ------------ | \--* LCL_VAR ref V02 loc1
[000723] ------------ \--* CNS_INT int 0
***** BB57
STMT00153 (IL 0x383... ???)
[000729] -A-XG------- * ASG int
[000728] ---XG--N---- +--* FIELD int _parsingFunction
[000726] ------------ | \--* LCL_VAR ref V02 loc1
[000727] ------------ \--* LCL_VAR int V56 tmp37
------------ BB58 [???..???) -> BB07 (always), preds={} succs={BB07}
***** BB58
STMT00035 (IL 0x38F... ???)
[000182] -A-XG------- * ASG byref
[000181] D------N---- +--* LCL_VAR byref V24 tmp5
[000177] ---XG------- \--* ADDR byref
[000176] ---XG------- \--* FIELD struct _incReadLineInfo
[000175] ------------ \--* LCL_VAR ref V02 loc1
***** BB58
STMT00156 (IL 0x38F... ???)
[000744] -A-XG------- * ASG ref
[000743] D------N---- +--* LCL_VAR ref V57 tmp38
[000179] ---XG------- \--* FIELD ref _curNode
[000178] ------------ \--* LCL_VAR ref V02 loc1
***** BB58
STMT00157 (IL 0x38F... ???)
[000742] ---X-------- * NULLCHECK byte
[000741] ------------ \--* LCL_VAR ref V57 tmp38
***** BB58
STMT00037 (IL ???... ???)
[000189] -AC--------- * ASG int
[000188] D------N---- +--* LCL_VAR int V25 tmp6
[000740] ---XG------- \--* FIELD int lineNo
[000739] ---XG------- \--* ADDR byref
[000738] ---XG------- \--* FIELD struct lineInfo
[000737] ------------ \--* LCL_VAR ref V57 tmp38
***** BB58
STMT00158 (IL ???... ???)
[000753] -A-XG------- * ASG ref
[000752] D------N---- +--* LCL_VAR ref V58 tmp39
[000186] ---XG------- \--* FIELD ref _curNode
[000185] ------------ \--* LCL_VAR ref V02 loc1
***** BB58
STMT00159 (IL ???... ???)
[000751] ---X-------- * NULLCHECK byte
[000750] ------------ \--* LCL_VAR ref V58 tmp39
***** BB58
STMT00162 (IL ???... ???)
[000762] -A-XG------- * ASG int
[000761] D------N---- +--* LCL_VAR int V59 tmp40
[000749] ---XG------- \--* FIELD int linePos
[000748] ---XG------- \--* ADDR byref
[000747] ---XG------- \--* FIELD struct lineInfo
[000746] ------------ \--* LCL_VAR ref V58 tmp39
***** BB58
STMT00160 (IL ???... ???)
[000756] -A-XG------- * ASG int
[000755] ---XG--N---- +--* FIELD int lineNo
[000183] ------------ | \--* LCL_VAR byref V24 tmp5
[000190] ------------ \--* LCL_VAR int V25 tmp6
***** BB58
STMT00161 (IL ???... ???)
[000760] -A-XG------- * ASG int
[000759] ---XG--N---- +--* FIELD int linePos
[000757] ------------ | \--* LCL_VAR byref V24 tmp5
[000758] ------------ \--* LCL_VAR int V59 tmp40
------------ BB34 [3B5..3CE) -> BB36 (cret), preds={} succs={BB36}
***** BB34
STMT00098 (IL 0x3B5...0x3B5)
[000505] -A---O------ * ASG ref
[000504] D------N---- +--* LCL_VAR ref V32 tmp13
[000009] -----O------ \--* CATCH_ARG ref
***** BB34
STMT00099 (IL ???... ???)
[000508] -A---------- * ASG ref
[000507] D------N---- +--* LCL_VAR ref V18 loc17
[000506] ------------ \--* LCL_VAR ref V32 tmp13
***** BB34
STMT00100 (IL 0x3B7...0x3BA)
[000512] -A-XG------- * ASG int
[000511] ---XG--N---- +--* FIELD int <>1__state
[000509] ------------ | \--* LCL_VAR byref V00 this
[000510] ------------ \--* CNS_INT int -2
***** BB34
STMT00101 (IL 0x3BF...0x3CC)
[000517] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException
[000515] ---XG------- this in rcx +--* ADDR byref
[000514] ---XG------- | \--* FIELD struct <>t__builder
[000513] ------------ | \--* LCL_VAR byref V00 this
[000516] ------------ arg1 \--* LCL_VAR ref V18 loc17
------------ BB35 [3CE..3E2), preds={} succs={BB36}
***** BB35
STMT00050 (IL 0x3CE...0x3D1)
[000254] -A-XG------- * ASG int
[000253] ---XG--N---- +--* FIELD int <>1__state
[000251] ------------ | \--* LCL_VAR byref V00 this
[000252] ------------ \--* CNS_INT int -2
***** BB35
STMT00051 (IL 0x3D6...0x3DD)
[000259] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult
[000257] ---XG------- this in rcx +--* ADDR byref
[000256] ---XG------- | \--* FIELD struct <>t__builder
[000255] ------------ | \--* LCL_VAR byref V00 this
[000258] ------------ arg1 \--* LCL_VAR int V03 loc2
------------ BB36 [3E2..3E3) (return), preds={} succs={}
***** BB36
STMT00052 (IL 0x3E2...0x3E2)
[000260] ------------ * RETURN void
-------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB40 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB58 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
**************** Inline Tree
Inlines into 060013F7 <ReadContentAsBinaryAsync>d__588:MoveNext():this
[0 IL=0068 TR=000500 06000CED] [FAILED: target not direct] System.Xml.IncrementalReadDecoder:SetNextOutputBuffer([S.P.CoreLib]System.Array,int,int):this
[1 IL=0099 TR=000207 0600134E] [profitable inline] NodeData:CopyToBinary([S.P.Xml]System.Xml.IncrementalReadDecoder,int):int:this
[0 IL=0031 TR=000547 06000CEE] [FAILED: target not direct] System.Xml.IncrementalReadDecoder:Decode(char[],int,int):int:this
[0 IL=0058 TR=000532 06000CEF] [FAILED: target not direct] System.Xml.IncrementalReadDecoder:Decode(string,int,int):int:this
[0 IL=0141 TR=000277 0600134F] [FAILED: within catch region] NodeData:AdjustLineInfo(int,bool,byref):this
[0 IL=0170 TR=000288 060011E3] [FAILED: within catch region] System.Xml.XmlTextReaderImpl:ReThrow([S.P.CoreLib]System.Exception,int,int):this
[0 IL=0202 TR=000221 06000CEC] [FAILED: target not direct] System.Xml.IncrementalReadDecoder:get_IsFull():bool:this
[0 IL=0215 TR=000248 06000CEB] [FAILED: target not direct] System.Xml.IncrementalReadDecoder:get_DecodedCount():int:this
[2 IL=0250 TR=000236 06001349] [below ALWAYS_INLINE size] NodeData:SetValue(string):this
[3 IL=0284 TR=000389 06001301] [below ALWAYS_INLINE size] ParsingState:get_LineNo():int:this
[4 IL=0295 TR=000397 06001302] [below ALWAYS_INLINE size] ParsingState:get_LinePos():int:this
[5 IL=0300 TR=000402 06000B29] [below ALWAYS_INLINE size] System.Xml.LineInfo:Set(int,int):this
[0 IL=0308 TR=000405 060012CD] [FAILED: too many il bytes] System.Xml.XmlTextReaderImpl:ParseTextAsync(int):[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>:this
[0 IL=0318 TR=000411 0600268C] [FAILED: noinline per VM] System.Threading.Tasks.ValueTask`1:ConfigureAwait(bool):[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1<System.ValueTuple`4<int32,int32,int32,bool>>:this
[0 IL=0327 TR=000416 06003DB7] [FAILED: noinline per VM] System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1:GetAwaiter():[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>:this
[0 IL=0336 TR=000421 06003DB9] [FAILED: noinline per VM] ConfiguredValueTaskAwaiter:get_IsCompleted():bool:this
[0 IL=0369 TR=000445 06003D1F] [FAILED: noinline per VM] System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:AwaitUnsafeOnCompleted(byref,byref):this
[0 IL=0410 TR=000037 06003DBA] [FAILED: noinline per VM] ConfiguredValueTaskAwaiter:GetResult():[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>:this
[0 IL=0482 TR=000078 06000CEE] [FAILED: target not direct] System.Xml.IncrementalReadDecoder:Decode(char[],int,int):int:this
[0 IL=0521 TR=000461 060011E3] [FAILED: within catch region] System.Xml.XmlTextReaderImpl:ReThrow([S.P.CoreLib]System.Exception,int,int):this
[0 IL=0545 TR=000089 06000CEC] [FAILED: target not direct] System.Xml.IncrementalReadDecoder:get_IsFull():bool:this
[0 IL=0588 TR=000121 06000CEC] [FAILED: target not direct] System.Xml.IncrementalReadDecoder:get_IsFull():bool:this
[6 IL=0619 TR=000335 0600134A] [profitable inline] NodeData:SetValue(char[],int,int):this
[7 IL=0663 TR=000352 06001287] [profitable inline] System.Xml.XmlTextReaderImpl:AdjustLineInfo(char[],int,int,bool,byref)
[0 IL=0018 TR=000628 06001289] [FAILED: too many il bytes] System.Xml.XmlTextReaderImpl:AdjustLineInfo(long,int,bool,byref)
[8 IL=0696 TR=000363 06001343] [below ALWAYS_INLINE size] NodeData:SetLineInfo(int,int):this
[9 IL=0008 TR=000650 06000B29] [below ALWAYS_INLINE size] System.Xml.LineInfo:Set(int,int):this
[0 IL=0707 TR=000366 06000CEB] [FAILED: target not direct] System.Xml.IncrementalReadDecoder:get_DecodedCount():int:this
[0 IL=0756 TR=000143 060012FA] [FAILED: unprofitable inline] System.Xml.XmlTextReaderImpl:MoveToNextContentNodeAsync(bool):[S.P.CoreLib]System.Threading.Tasks.Task`1<bool>:this
[0 IL=0762 TR=000146 060023AB] [FAILED: target not direct] System.Threading.Tasks.Task`1:ConfigureAwait(bool):[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>:this
[0 IL=0771 TR=000151 06003E31] [FAILED: noinline per VM] System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1:GetAwaiter():[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>:this
[0 IL=0780 TR=000156 06003E33] [FAILED: noinline per VM] ConfiguredTaskAwaiter:get_IsCompleted():bool:this
[0 IL=0813 TR=000324 06003D1F] [FAILED: noinline per VM] System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:AwaitUnsafeOnCompleted(byref,byref):this
[0 IL=0854 TR=000163 06003E36] [FAILED: noinline per VM] ConfiguredTaskAwaiter:GetResult():bool:this
[10 IL=0872 TR=000292 0600126B] [profitable inline] System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this
[0 IL=0891 TR=000299 06000CEB] [FAILED: target not direct] System.Xml.IncrementalReadDecoder:get_DecodedCount():int:this
[11 IL=0906 TR=000174 0600126B] [profitable inline] System.Xml.XmlTextReaderImpl:SetupReadContentAsBinaryState(int):this
[12 IL=0923 TR=000180 06001338] [below ALWAYS_INLINE size] NodeData:get_LineNo():int:this
[13 IL=0934 TR=000187 06001339] [below ALWAYS_INLINE size] NodeData:get_LinePos():int:this
[14 IL=0939 TR=000192 06000B29] [below ALWAYS_INLINE size] System.Xml.LineInfo:Set(int,int):this
[0 IL=0967 TR=000517 06003D29] [FAILED: within catch region] System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetException([S.P.CoreLib]System.Exception):this
[0 IL=0989 TR=000259 06003D27] [FAILED: noinline per VM] System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetResult(int):this
Budget: initialTime=3045, finalTime=3505, initialBudget=30450, currentBudget=30450
Budget: initialSize=22817, finalSize=24488
*************** Finishing PHASE Morph - Inlining
Trees before Allocate Objects
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 1 [02C..049) T2 i
BB07 [0006] 2 2 1 [049..050) T2 i bwd
BB08 [0007] 1 0 1 [050..06F) T0 try { keep i try label bwd
BB37 [0036] 1 0 1 [050..051)-> BB39 ( cond ) T0 i bwd
BB38 [0037] 1 0 1 [050..051)-> BB40 (always) T0 i bwd
BB39 [0038] 1 0 1 [050..051) T0 i idxlen bwd
BB40 [0039] 1 0 1 [???..???)-> BB10 (always) T0 } keep internal label idxlen bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (always) T2 i idxlen nullcheck bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 1 [337..354) T2 i bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 1 [361..383) T2 i bwd
BB49 [0048] 1 2 1 [361..362)-> BB51 ( cond ) T2 i bwd
BB50 [0049] 1 2 0.50 [361..362)-> BB52 (always) T2 i bwd
BB51 [0050] 1 2 0.50 [361..362) T2 i bwd
BB52 [0051] 2 2 1 [361..362) T2 i bwd
BB53 [0052] 1 2 1 [???..???)-> BB35 (always) T2 internal bwd
BB33 [0032] 1 2 1 [383..3B5) T2 i bwd
BB54 [0053] 1 2 1 [383..384)-> BB56 ( cond ) T2 i bwd
BB55 [0054] 1 2 0.50 [383..384)-> BB57 (always) T2 i bwd
BB56 [0055] 1 2 0.50 [383..384) T2 i bwd
BB57 [0056] 2 2 1 [383..384) T2 i bwd
BB58 [0057] 1 2 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 ( cret ) H2 catch { } keep i label target
BB35 [0034] 4 1 [3CE..3E2) i
BB36 [0035] 4 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [000..00E), preds={} succs={BB02}
***** BB01
STMT00000 (IL 0x000...0x006)
[000003] -A-XG------- * ASG int
[000002] D------N---- +--* LCL_VAR int V01 loc0
[000001] ---XG------- \--* FIELD int <>1__state
[000000] ------------ \--* LCL_VAR byref V00 this
***** BB01
STMT00001 (IL 0x007...0x00D)
[000007] -A-XG------- * ASG ref
[000006] D------N---- +--* LCL_VAR ref V02 loc1
[000005] ---XG------- \--* FIELD ref <>4__this
[000004] ------------ \--* LCL_VAR byref V00 this
------------ BB02 [00E..014) -> BB16 (cond), preds={} succs={BB03,BB16}
***** BB02
STMT00002 (IL 0x00E...0x00F)
[000013] ------------ * JTRUE void
[000012] ------------ \--* EQ int
[000010] ------------ +--* LCL_VAR int V01 loc0
[000011] ------------ \--* CNS_INT int 0
------------ BB03 [014..01B) -> BB30 (cond), preds={} succs={BB04,BB30}
***** BB03
STMT00089 (IL 0x014...0x016)
[000465] ------------ * JTRUE void
[000464] ------------ \--* EQ int
[000462] ------------ +--* LCL_VAR int V01 loc0
[000463] ------------ \--* CNS_INT int 1
------------ BB04 [01B..025) -> BB06 (cond), preds={} succs={BB05,BB06}
***** BB04
STMT00095 (IL 0x01B...0x023)
[000491] ---XG------- * JTRUE void
[000490] N--XG----U-- \--* NE int
[000488] ---XG------- +--* FIELD int _incReadState
[000487] ------------ | \--* LCL_VAR ref V02 loc1
[000489] ------------ \--* CNS_INT int 14
------------ BB05 [025..02C) -> BB35 (always), preds={} succs={BB35}
***** BB05
STMT00097 (IL 0x025...0x026)
[000503] -A---------- * ASG int
[000502] D------N---- +--* LCL_VAR int V03 loc2
[000501] ------------ \--* CNS_INT int 0
------------ BB06 [02C..049), preds={} succs={BB07}
***** BB06
STMT00096 (IL 0x02C...0x044)
[000500] --CXG------- * CALLV stub void System.Xml.IncrementalReadDecoder.SetNextOutputBuffer
[000493] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000492] ------------ | \--* LCL_VAR ref V02 loc1
[000495] ---XG------- arg1 +--* FIELD ref buffer
[000494] ------------ | \--* LCL_VAR byref V00 this
[000497] ---XG------- arg2 +--* FIELD int index
[000496] ------------ | \--* LCL_VAR byref V00 this
[000499] ---XG------- arg3 \--* FIELD int count
[000498] ------------ \--* LCL_VAR byref V00 this
------------ BB07 [049..050), preds={} succs={BB08}
***** BB07
STMT00039 (IL 0x049...0x04B)
[000196] -A-XG------- * ASG int
[000195] ---XG--N---- +--* FIELD int <charsRead>5__2
[000193] ------------ | \--* LCL_VAR byref V00 this
[000194] ------------ \--* CNS_INT int 0
------------ BB08 [050..06F), preds={} succs={BB37}
***** BB08
STMT00105 (IL 0x050... ???)
[000552] -A-XG------- * ASG ref
[000551] D------N---- +--* LCL_VAR ref V34 tmp15
[000202] ---XG------- \--* FIELD ref _curNode
[000201] ------------ \--* LCL_VAR ref V02 loc1
***** BB08
STMT00106 (IL 0x050... ???)
[000554] -A-XG------- * ASG ref
[000553] D------N---- +--* LCL_VAR ref V35 tmp16
[000204] ---XG------- \--* FIELD ref _incReadDecoder
[000203] ------------ \--* LCL_VAR ref V02 loc1
***** BB08
STMT00107 (IL 0x050... ???)
[000556] -A-XG------- * ASG int
[000555] D------N---- +--* LCL_VAR int V36 tmp17
[000206] ---XG------- \--* FIELD int _readValueOffset
[000205] ------------ \--* LCL_VAR ref V02 loc1
------------ BB37 [050..051) -> BB39 (cond), preds={} succs={BB38,BB39}
***** BB37
STMT00102 (IL 0x050... ???)
[000522] ---XG------- * JTRUE void
[000521] ---XG------- \--* NE int
[000519] ---XG------- +--* FIELD ref _value
[000518] ------------ | \--* LCL_VAR ref V34 tmp15
[000520] ------------ \--* CNS_INT ref null
------------ BB38 [050..051) -> BB40 (always), preds={} succs={BB40}
***** BB38
STMT00104 (IL 0x050... ???)
[000549] -ACXG------- * ASG int
[000548] D------N---- +--* LCL_VAR int V33 tmp14
[000547] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000536] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000538] ---XG------- arg1 +--* FIELD ref _chars
[000537] ------------ | \--* LCL_VAR ref V34 tmp15
[000542] ---XG------- arg2 +--* ADD int
[000540] ---XG------- | +--* FIELD int _valueStartPos
[000539] ------------ | | \--* LCL_VAR ref V34 tmp15
[000541] ------------ | \--* LCL_VAR int V36 tmp17
[000546] ---XG------- arg3 \--* SUB int
[000544] ---XG------- +--* FIELD int _valueLength
[000543] ------------ | \--* LCL_VAR ref V34 tmp15
[000545] ------------ \--* LCL_VAR int V36 tmp17
------------ BB39 [050..051), preds={} succs={BB40}
***** BB39
STMT00103 (IL 0x050... ???)
[000534] -ACXG------- * ASG int
[000533] D------N---- +--* LCL_VAR int V33 tmp14
[000532] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000523] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000525] ---XG------- arg1 +--* FIELD ref _value
[000524] ------------ | \--* LCL_VAR ref V34 tmp15
[000526] ------------ arg2 +--* LCL_VAR int V36 tmp17
[000531] ---XG------- arg3 \--* SUB int
[000529] ---XG------- +--* ARR_LENGTH int
[000528] ---XG------- | \--* FIELD ref _value
[000527] ------------ | \--* LCL_VAR ref V34 tmp15
[000530] ------------ \--* LCL_VAR int V36 tmp17
------------ BB40 [???..???) -> BB10 (always), preds={} succs={BB10}
***** BB40
STMT00041 (IL ???... ???)
[000210] -ACXG------- * ASG int
[000209] ---XG--N---- +--* FIELD int <charsRead>5__2
[000200] ------------ | \--* LCL_VAR byref V00 this
[000550] ------------ \--* LCL_VAR int V33 tmp14
------------ BB09 [06F..0B1) -> BB10 (cret), preds={} succs={BB10}
***** BB09
STMT00053 (IL 0x06F...0x06F)
[000262] -A---O------ * ASG ref
[000261] D------N---- +--* LCL_VAR ref V26 tmp7
[000198] -----O------ \--* CATCH_ARG ref
***** BB09
STMT00054 (IL ???... ???)
[000265] -A---------- * ASG ref
[000264] D------N---- +--* LCL_VAR ref V04 loc3
[000263] ------------ \--* LCL_VAR ref V26 tmp7
***** BB09
STMT00055 (IL 0x070...0x0AF)
[000277] --CXG------- * CALL r2r_ind void NodeData.AdjustLineInfo
[000267] ---XG------- this in rcx +--* FIELD ref _curNode
[000266] ------------ | \--* LCL_VAR ref V02 loc1
[000269] ---XG------- arg1 +--* FIELD int _readValueOffset
[000268] ------------ | \--* LCL_VAR ref V02 loc1
[000273] ---XG------- arg2 +--* FIELD bool eolNormalized
[000272] ---XG------- | \--* ADDR byref
[000271] ---XG------- | \--* FIELD struct _ps
[000270] ------------ | \--* LCL_VAR ref V02 loc1
[000276] ---XG------- arg3 \--* ADDR byref
[000275] ---XG------- \--* FIELD struct _incReadLineInfo
[000274] ------------ \--* LCL_VAR ref V02 loc1
***** BB09
STMT00056 (IL 0x092... ???)
[000288] --CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
[000278] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000279] ------------ arg1 +--* LCL_VAR ref V04 loc3
[000283] ---XG------- arg2 +--* FIELD int lineNo
[000282] ---XG------- | \--* ADDR byref
[000281] ---XG------- | \--* FIELD struct _incReadLineInfo
[000280] ------------ | \--* LCL_VAR ref V02 loc1
[000287] ---XG------- arg3 \--* FIELD int linePos
[000286] ---XG------- \--* ADDR byref
[000285] ---XG------- \--* FIELD struct _incReadLineInfo
[000284] ------------ \--* LCL_VAR ref V02 loc1
------------ BB10 [0B1..0D1) -> BB12 (cond), preds={} succs={BB11,BB12}
***** BB10
STMT00042 (IL 0x0B1...0x0BF)
[000218] -A-XG------- * ASG int
[000217] ---XG--N---- +--* FIELD int _readValueOffset
[000211] ------------ | \--* LCL_VAR ref V02 loc1
[000216] ---XG------- \--* ADD int
[000213] ---XG------- +--* FIELD int _readValueOffset
[000212] ------------ | \--* LCL_VAR ref V02 loc1
[000215] ---XG------- \--* FIELD int <charsRead>5__2
[000214] ------------ \--* LCL_VAR byref V00 this
***** BB10
STMT00043 (IL 0x0C4...0x0CF)
[000225] --CXG------- * JTRUE void
[000224] --CXG------- \--* EQ int
[000222] --CXG------- +--* CAST int <- bool <- int
[000221] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000220] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000219] ------------ | \--* LCL_VAR ref V02 loc1
[000223] ------------ \--* CNS_INT int 0
------------ BB11 [0D1..0E2) -> BB35 (always), preds={} succs={BB35}
***** BB11
STMT00049 (IL 0x0D1...0x0DC)
[000250] -ACXG------- * ASG int
[000249] D------N---- +--* LCL_VAR int V03 loc2
[000248] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000247] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000246] ------------ \--* LCL_VAR ref V02 loc1
------------ BB12 [0E2..0EF) -> BB28 (cond), preds={} succs={BB13,BB28}
***** BB12
STMT00044 (IL 0x0E2...0x0EA)
[000230] ---XG------- * JTRUE void
[000229] N--XG----U-- \--* NE int
[000227] ---XG------- +--* FIELD int _incReadState
[000226] ------------ | \--* LCL_VAR ref V02 loc1
[000228] ------------ \--* CNS_INT int 13
------------ BB13 [0EF..10D) -> BB21 (always), preds={} succs={BB21}
***** BB13
STMT00110 (IL 0x0EF... ???)
[000567] -A-XG------- * ASG ref
[000566] D------N---- +--* LCL_VAR ref V37 tmp18
[000232] ---XG------- \--* FIELD ref _curNode
[000231] ------------ \--* LCL_VAR ref V02 loc1
***** BB13
STMT00111 (IL 0x0EF... ???)
[000569] -A--G------- * ASG ref
[000568] D------N---- +--* LCL_VAR ref V38 tmp19
[000235] n---G------- \--* IND ref
[000234] #----------- \--* IND long
[000233] ------------ \--* CNS_INT(h) long 0x4217B8 pstr
***** BB13
STMT00108 (IL 0x0EF... ???)
[000561] -A-XG------- * ASG int
[000560] ---XG--N---- +--* FIELD int _valueStartPos
[000558] ------------ | \--* LCL_VAR ref V37 tmp18
[000559] ------------ \--* CNS_INT int -1
***** BB13
STMT00109 (IL 0x0EF... ???)
[000565] -A-XG------- * ASG ref
[000564] ---XG--N---- +--* FIELD ref _value
[000562] ------------ | \--* LCL_VAR ref V37 tmp18
[000563] ------------ \--* LCL_VAR ref V38 tmp19
***** BB13
STMT00046 (IL 0x0FF... ???)
[000239] -A---------- * ASG int
[000238] D------N---- +--* LCL_VAR int V05 loc4
[000237] ------------ \--* CNS_INT int 0
***** BB13
STMT00047 (IL 0x102...0x103)
[000242] -A---------- * ASG int
[000241] D------N---- +--* LCL_VAR int V06 loc5
[000240] ------------ \--* CNS_INT int 0
***** BB13
STMT00048 (IL 0x105...0x106)
[000245] -A---------- * ASG int
[000244] D------N---- +--* LCL_VAR int V07 loc6
[000243] ------------ \--* CNS_INT int 0
------------ BB14 [10D..157) -> BB17 (cond), preds={} succs={BB15,BB17}
***** BB14
STMT00072 (IL 0x10D...0x10E)
[000382] -A---------- * ASG int
[000381] D------N---- +--* LCL_VAR int V08 loc7
[000380] ------------ \--* CNS_INT int 0
***** BB14
STMT00074 (IL 0x110...0x139)
[000391] -A-XG------- * ASG byref
[000390] D------N---- +--* LCL_VAR byref V28 tmp9
[000385] ---XG------- \--* ADDR byref
[000384] ---XG------- \--* FIELD struct _incReadLineInfo
[000383] ------------ \--* LCL_VAR ref V02 loc1
***** BB14
STMT00112 (IL 0x110... ???)
[000574] -A-XG------- * ASG byref
[000573] D------N---- +--* LCL_VAR byref V39 tmp20
[000388] ---XG------- \--* ADDR byref
[000387] ---XG------- \--* FIELD struct _ps
[000386] ------------ \--* LCL_VAR ref V02 loc1
***** BB14
STMT00076 (IL ???... ???)
[000399] -AC--------- * ASG int
[000398] D------N---- +--* LCL_VAR int V29 tmp10
[000572] ---XG------- \--* FIELD int lineNo
[000571] ------------ \--* LCL_VAR byref V39 tmp20
***** BB14
STMT00113 (IL ???... ???)
[000582] -A-XG------- * ASG byref
[000581] D------N---- +--* LCL_VAR byref V40 tmp21
[000396] ---XG------- \--* ADDR byref
[000395] ---XG------- \--* FIELD struct _ps
[000394] ------------ \--* LCL_VAR ref V02 loc1
***** BB14
STMT00116 (IL ???... ???)
[000591] -A-XG------- * ASG int
[000590] D------N---- +--* LCL_VAR int V41 tmp22
[000580] ---XG------- \--* SUB int
[000577] ---XG------- +--* FIELD int charPos
[000576] ------------ | \--* LCL_VAR byref V40 tmp21
[000579] ---XG------- \--* FIELD int lineStartPos
[000578] ------------ \--* LCL_VAR byref V40 tmp21
***** BB14
STMT00114 (IL ???... ???)
[000585] -A-XG------- * ASG int
[000584] ---XG--N---- +--* FIELD int lineNo
[000392] ------------ | \--* LCL_VAR byref V28 tmp9
[000400] ------------ \--* LCL_VAR int V29 tmp10
***** BB14
STMT00115 (IL ???... ???)
[000589] -A-XG------- * ASG int
[000588] ---XG--N---- +--* FIELD int linePos
[000586] ------------ | \--* LCL_VAR byref V28 tmp9
[000587] ------------ \--* LCL_VAR int V41 tmp22
***** BB14
STMT00078 (IL 0x131... ???)
[000405] S-C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ParseTextAsync
[000403] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000407] ------------ arg1 +--* ADDR byref
[000406] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V12 loc11
[000404] ------------ arg2 \--* LCL_VAR int V08 loc7
***** BB14
STMT00079 (IL 0x13B...0x143)
[000411] S-C-G------- * CALL r2r_ind void System.Threading.Tasks.ValueTask`1.ConfigureAwait
[000409] ------------ this in rcx +--* ADDR byref
[000408] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V12 loc11
[000413] ------------ arg1 +--* ADDR byref
[000412] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V13 loc12
[000410] ------------ arg2 \--* CNS_INT int 0
***** BB14
STMT00080 (IL 0x145...0x14C)
[000416] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter
[000415] ------------ this in rcx +--* ADDR byref
[000414] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V13 loc12
[000418] ------------ arg1 \--* ADDR byref
[000417] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
***** BB14
STMT00081 (IL 0x14E...0x155)
[000425] --C-G------- * JTRUE void
[000424] --C-G------- \--* NE int
[000422] --C-G------- +--* CAST int <- bool <- int
[000421] --C-G------- | \--* CALL r2r_ind int ConfiguredValueTaskAwaiter.get_IsCompleted
[000420] ------------ this in rcx | \--* ADDR byref
[000419] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000423] ------------ \--* CNS_INT int 0
------------ BB15 [157..17B) -> BB36 (always), preds={} succs={BB36}
***** BB15
STMT00082 (IL 0x157...0x15A)
[000430] -A---------- * ASG int
[000429] D------N---- +--* LCL_VAR int V01 loc0
[000428] ------------ \--* CNS_INT int 0
***** BB15
STMT00083 (IL ???...0x15B)
[000432] -A-XG------- * ASG int
[000431] ---XG--N---- +--* FIELD int <>1__state
[000426] ------------ | \--* LCL_VAR byref V00 this
[000427] ------------ \--* CNS_INT int 0
***** BB15
STMT00084 (IL 0x160...0x163)
[000438] -A-XG------- * ASG struct (copy)
[000437] ---XG------- +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>
[000436] ---XG------- | \--* ADDR byref
[000435] ---XG------- | \--* FIELD struct <>u__1
[000433] ------------ | \--* LCL_VAR byref V00 this
[000434] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
***** BB15
STMT00085 (IL 0x168...0x176)
[000445] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000441] ---XG------- this in rcx +--* ADDR byref
[000440] ---XG------- | \--* FIELD struct <>t__builder
[000439] ------------ | \--* LCL_VAR byref V00 this
[000443] ------------ arg1 +--* ADDR byref
[000442] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000444] ------------ arg2 \--* LCL_VAR byref V00 this
------------ BB16 [17B..198), preds={} succs={BB17}
***** BB16
STMT00003 (IL 0x17B...0x181)
[000018] -A-XG------- * ASG struct (copy)
[000016] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000015] ---XG------- \--* FIELD struct <>u__1
[000014] ------------ \--* LCL_VAR byref V00 this
***** BB16
STMT00004 (IL 0x183...0x18A)
[000024] IA-XG------- * ASG struct (init)
[000023] ---XG--N---- +--* BLK struct<32>
[000021] ---XG------- | \--* ADDR byref
[000020] ---XG------- | \--* FIELD struct <>u__1
[000019] ------------ | \--* LCL_VAR byref V00 this
[000022] ------------ \--* CNS_INT int 0
***** BB16
STMT00005 (IL 0x18F...0x192)
[000028] -A---------- * ASG int
[000027] D------N---- +--* LCL_VAR int V20 tmp1
[000026] ------------ \--* CNS_INT int -1
***** BB16
STMT00006 (IL ???... ???)
[000032] -A---------- * ASG int
[000031] D------N---- +--* LCL_VAR int V01 loc0
[000030] ------------ \--* LCL_VAR int V20 tmp1
***** BB16
STMT00007 (IL ???...0x193)
[000034] -A-XG------- * ASG int
[000033] ---XG--N---- +--* FIELD int <>1__state
[000025] ------------ | \--* LCL_VAR byref V00 this
[000029] ------------ \--* LCL_VAR int V20 tmp1
------------ BB17 [198..1C9), preds={} succs={BB18}
***** BB17
STMT00008 (IL 0x198...0x19F)
[000037] S-C-G------- * CALL r2r_ind void ConfiguredValueTaskAwaiter.GetResult
[000036] ------------ this in rcx +--* ADDR byref
[000035] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000039] ------------ arg1 \--* ADDR byref
[000038] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V10 loc9
***** BB17
STMT00009 (IL 0x1A1...0x1A3)
[000043] -A---------- * ASG struct (copy)
[000041] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
[000040] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V10 loc9
***** BB17
STMT00010 (IL 0x1A5...0x1AC)
[000048] -A---------- * ASG int
[000047] D------N---- +--* LCL_VAR int V06 loc5
[000046] ------------ \--* FIELD int Item1
[000045] ------------ \--* ADDR byref
[000044] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
***** BB17
STMT00011 (IL 0x1AE...0x1B5)
[000053] -A---------- * ASG int
[000052] D------N---- +--* LCL_VAR int V07 loc6
[000051] ------------ \--* FIELD int Item2
[000050] ------------ \--* ADDR byref
[000049] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
***** BB17
STMT00012 (IL 0x1B7...0x1BE)
[000058] -A---------- * ASG int
[000057] D------N---- +--* LCL_VAR int V08 loc7
[000056] ------------ \--* FIELD int Item3
[000055] ------------ \--* ADDR byref
[000054] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
***** BB17
STMT00013 (IL 0x1C0...0x1C7)
[000063] -A---------- * ASG int
[000062] D------N---- +--* LCL_VAR int V05 loc4
[000061] ------------ \--* FIELD bool Item4
[000060] ------------ \--* ADDR byref
[000059] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
------------ BB18 [1C9..1EE) -> BB20 (always), preds={} succs={BB20}
***** BB18
STMT00014 (IL 0x1C9...0x1E7)
[000080] -ACXG------- * ASG int
[000079] ---XG--N---- +--* FIELD int <charsRead>5__2
[000067] ------------ | \--* LCL_VAR byref V00 this
[000078] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000069] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000068] ------------ | \--* LCL_VAR ref V02 loc1
[000073] ---XG------- arg1 +--* FIELD ref chars
[000072] ---XG------- | \--* ADDR byref
[000071] ---XG------- | \--* FIELD struct _ps
[000070] ------------ | \--* LCL_VAR ref V02 loc1
[000074] ------------ arg2 +--* LCL_VAR int V06 loc5
[000077] ------------ arg3 \--* SUB int
[000075] ------------ +--* LCL_VAR int V07 loc6
[000076] ------------ \--* LCL_VAR int V06 loc5
------------ BB19 [1EE..210) -> BB20 (cret), preds={} succs={BB20}
***** BB19
STMT00086 (IL 0x1EE...0x1EE)
[000447] -A---O------ * ASG ref
[000446] D------N---- +--* LCL_VAR ref V30 tmp11
[000065] -----O------ \--* CATCH_ARG ref
***** BB19
STMT00087 (IL ???... ???)
[000450] -A---------- * ASG ref
[000449] D------N---- +--* LCL_VAR ref V14 loc13
[000448] ------------ \--* LCL_VAR ref V30 tmp11
***** BB19
STMT00088 (IL 0x1F0...0x20E)
[000461] --CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
[000451] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000452] ------------ arg1 +--* LCL_VAR ref V14 loc13
[000456] ---XG------- arg2 +--* FIELD int lineNo
[000455] ---XG------- | \--* ADDR byref
[000454] ---XG------- | \--* FIELD struct _incReadLineInfo
[000453] ------------ | \--* LCL_VAR ref V02 loc1
[000460] ---XG------- arg3 \--* FIELD int linePos
[000459] ---XG------- \--* ADDR byref
[000458] ---XG------- \--* FIELD struct _incReadLineInfo
[000457] ------------ \--* LCL_VAR ref V02 loc1
------------ BB20 [210..21B), preds={} succs={BB21}
***** BB20
STMT00015 (IL 0x210...0x219)
[000086] -A-XG------- * ASG int
[000085] D------N---- +--* LCL_VAR int V06 loc5
[000084] ---XG------- \--* ADD int
[000081] ------------ +--* LCL_VAR int V06 loc5
[000083] ---XG------- \--* FIELD int <charsRead>5__2
[000082] ------------ \--* LCL_VAR byref V00 this
------------ BB21 [21B..228) -> BB23 (cond), preds={} succs={BB22,BB23}
***** BB21
STMT00016 (IL 0x21B...0x226)
[000093] --CXG------- * JTRUE void
[000092] --CXG------- \--* NE int
[000090] --CXG------- +--* CAST int <- bool <- int
[000089] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000088] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000087] ------------ | \--* LCL_VAR ref V02 loc1
[000091] ------------ \--* CNS_INT int 0
------------ BB22 [228..22F) -> BB14 (cond), preds={} succs={BB23,BB14}
***** BB22
STMT00071 (IL 0x228...0x22A)
[000379] ------------ * JTRUE void
[000378] ------------ \--* EQ int
[000376] ------------ +--* LCL_VAR int V05 loc4
[000377] ------------ \--* CNS_INT int 0
------------ BB23 [22F..234) -> BB25 (cond), preds={} succs={BB24,BB25}
***** BB23
STMT00018 (IL ???...0x232)
[000100] -A---------- * ASG ref
[000099] D------N---- +--* LCL_VAR ref V21 tmp2
[000094] ------------ \--* LCL_VAR ref V02 loc1
***** BB23
STMT00017 (IL 0x22F...0x232)
[000098] ------------ * JTRUE void
[000097] ------------ \--* NE int
[000095] ------------ +--* LCL_VAR int V05 loc4
[000096] ------------ \--* CNS_INT int 0
------------ BB24 [234..238) -> BB26 (always), preds={} succs={BB26}
***** BB24
STMT00069 (IL ???...0x236)
[000371] -A---------- * ASG ref
[000370] D------N---- +--* LCL_VAR ref V22 tmp3
[000102] ------------ \--* LCL_VAR ref V21 tmp2
***** BB24
STMT00070 (IL ???... ???)
[000374] -A---------- * ASG int
[000373] D------N---- +--* LCL_VAR int V23 tmp4
[000369] ------------ \--* CNS_INT int 13
------------ BB25 [238..23A), preds={} succs={BB26}
***** BB25
STMT00019 (IL ???...0x238)
[000106] -A---------- * ASG ref
[000105] D------N---- +--* LCL_VAR ref V22 tmp3
[000103] ------------ \--* LCL_VAR ref V21 tmp2
***** BB25
STMT00020 (IL ???... ???)
[000109] -A---------- * ASG int
[000108] D------N---- +--* LCL_VAR int V23 tmp4
[000104] ------------ \--* CNS_INT int 12
------------ BB26 [23A..253) -> BB28 (cond), preds={} succs={BB27,BB28}
***** BB26
STMT00021 (IL ???...0x23A)
[000114] -A-XG------- * ASG int
[000113] ---XG--N---- +--* FIELD int _incReadState
[000111] ------------ | \--* LCL_VAR ref V22 tmp3
[000112] ------------ \--* LCL_VAR int V23 tmp4
***** BB26
STMT00022 (IL 0x23F...0x241)
[000118] -A-XG------- * ASG int
[000117] ---XG--N---- +--* FIELD int _readValueOffset
[000115] ------------ | \--* LCL_VAR ref V02 loc1
[000116] ------------ \--* CNS_INT int 0
***** BB26
STMT00023 (IL 0x246...0x251)
[000125] --CXG------- * JTRUE void
[000124] --CXG------- \--* EQ int
[000122] --CXG------- +--* CAST int <- bool <- int
[000121] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000120] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000119] ------------ | \--* LCL_VAR ref V02 loc1
[000123] ------------ \--* CNS_INT int 0
------------ BB27 [253..2CE) -> BB35 (always), preds={} succs={BB35}
***** BB27
STMT00121 (IL 0x253... ???)
[000609] -A-XG------- * ASG ref
[000608] D------N---- +--* LCL_VAR ref V42 tmp23
[000326] ---XG------- \--* FIELD ref _curNode
[000325] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00122 (IL 0x253... ???)
[000611] -A-XG------- * ASG ref
[000610] D------N---- +--* LCL_VAR ref V43 tmp24
[000330] ---XG------- \--* FIELD ref chars
[000329] ---XG------- \--* ADDR byref
[000328] ---XG------- \--* FIELD struct _ps
[000327] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00117 (IL 0x253... ???)
[000596] -A-XG------- * ASG ref
[000595] ---XG--N---- +--* FIELD ref _value
[000593] ------------ | \--* LCL_VAR ref V42 tmp23
[000594] ------------ \--* CNS_INT ref null
***** BB27
STMT00118 (IL 0x253... ???)
[000600] -A-XG------- * ASG ref
[000599] ---XG--N---- +--* FIELD ref _chars
[000597] ------------ | \--* LCL_VAR ref V42 tmp23
[000598] ------------ \--* LCL_VAR ref V43 tmp24
***** BB27
STMT00119 (IL 0x253... ???)
[000603] -A-XG------- * ASG int
[000602] ---XG--N---- +--* FIELD int _valueStartPos
[000601] ------------ | \--* LCL_VAR ref V42 tmp23
[000331] ------------ \--* LCL_VAR int V06 loc5
***** BB27
STMT00120 (IL 0x253... ???)
[000607] -A-XG------- * ASG int
[000606] ---XG--N---- +--* FIELD int _valueLength
[000604] ------------ | \--* LCL_VAR ref V42 tmp23
[000334] ------------ \--* SUB int
[000332] ------------ +--* LCL_VAR int V07 loc6
[000333] ------------ \--* LCL_VAR int V06 loc5
***** BB27
STMT00127 (IL 0x270... ???)
[000634] -A-XG------- * ASG ref
[000633] D------N---- +--* LCL_VAR ref V45 tmp26
[000339] ---XG------- \--* FIELD ref chars
[000338] ---XG------- \--* ADDR byref
[000337] ---XG------- \--* FIELD struct _ps
[000336] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00128 (IL 0x270... ???)
[000636] -A-XG------- * ASG int
[000635] D------N---- +--* LCL_VAR int V46 tmp27
[000343] ---XG------- \--* SUB int
[000340] ------------ +--* LCL_VAR int V06 loc5
[000342] ---XG------- \--* FIELD int <charsRead>5__2
[000341] ------------ \--* LCL_VAR byref V00 this
***** BB27
STMT00129 (IL 0x270... ???)
[000638] -A-XG------- * ASG bool
[000637] D------N---- +--* LCL_VAR bool V49 tmp30
[000348] ---XG------- \--* FIELD bool eolNormalized
[000347] ---XG------- \--* ADDR byref
[000346] ---XG------- \--* FIELD struct _ps
[000345] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00130 (IL 0x270... ???)
[000640] -A-XG------- * ASG byref
[000639] D------N---- +--* LCL_VAR byref V50 tmp31
[000351] ---XG------- \--* ADDR byref
[000350] ---XG------- \--* FIELD struct _incReadLineInfo
[000349] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00123 (IL 0x270... ???)
[000618] -A-XG------- * ASG byref
[000617] D------N---- +--* LCL_VAR byref V47 tmp28
[000616] ---XG------- \--* ADDR byref
[000615] ---XG------- \--* INDEX ushort
[000613] ------------ +--* LCL_VAR ref V45 tmp26
[000614] ------------ \--* LCL_VAR int V46 tmp27
***** BB27
STMT00124 (IL 0x270... ???)
[000622] -A---------- * ASG long
[000621] D------N---- +--* LCL_VAR long V48 tmp29
[000620] ---------U-- \--* CAST long <- ulong <- byref
[000619] ------------ \--* LCL_VAR byref V47 tmp28
***** BB27
STMT00125 (IL 0x270... ???)
[000628] --C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.AdjustLineInfo
[000623] ------------ arg0 +--* LCL_VAR long V48 tmp29
[000625] ------------ arg1 +--* SUB int
[000344] ------------ | +--* LCL_VAR int V06 loc5
[000624] ------------ | \--* LCL_VAR int V46 tmp27
[000626] ------------ arg2 +--* LCL_VAR int V49 tmp30
[000627] ------------ arg3 \--* LCL_VAR byref V50 tmp31
***** BB27
STMT00126 (IL 0x270... ???)
[000632] -A---------- * ASG byref
[000631] D------N---- +--* LCL_VAR byref V47 tmp28
[000630] ---------U-- \--* CAST byref <- ulong <- uint
[000629] ------------ \--* CNS_INT int 0
***** BB27
STMT00131 (IL 0x270... ???)
[000643] -A---------- * ASG byref
[000642] D------N---- +--* LCL_VAR byref V47 tmp28
[000641] ------------ \--* CNS_INT byref 0
***** BB27
STMT00133 (IL 0x29C... ???)
[000654] -A-XG------- * ASG ref
[000653] D------N---- +--* LCL_VAR ref V51 tmp32
[000354] ---XG------- \--* FIELD ref _curNode
[000353] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00134 (IL 0x29C... ???)
[000656] -A-XG------- * ASG int
[000655] D------N---- +--* LCL_VAR int V52 tmp33
[000358] ---XG------- \--* FIELD int lineNo
[000357] ---XG------- \--* ADDR byref
[000356] ---XG------- \--* FIELD struct _incReadLineInfo
[000355] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00135 (IL 0x29C... ???)
[000658] -A-XG------- * ASG int
[000657] D------N---- +--* LCL_VAR int V53 tmp34
[000362] ---XG------- \--* FIELD int linePos
[000361] ---XG------- \--* ADDR byref
[000360] ---XG------- \--* FIELD struct _incReadLineInfo
[000359] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00136 (IL 0x29C... ???)
[000652] ---X-------- * NULLCHECK byte
[000651] ------------ \--* LCL_VAR ref V51 tmp32
***** BB27
STMT00139 (IL 0x29C... ???)
[000667] -A-XG------- * ASG byref
[000666] D------N---- +--* LCL_VAR byref V54 tmp35
[000647] ---XG------- \--* ADDR byref
[000646] ---XG------- \--* FIELD struct lineInfo
[000645] ------------ \--* LCL_VAR ref V51 tmp32
***** BB27
STMT00137 (IL 0x29C... ???)
[000662] -A-XG------- * ASG int
[000661] ---XG--N---- +--* FIELD int lineNo
[000660] ------------ | \--* LCL_VAR byref V54 tmp35
[000648] ------------ \--* LCL_VAR int V52 tmp33
***** BB27
STMT00138 (IL 0x29C... ???)
[000665] -A-XG------- * ASG int
[000664] ---XG--N---- +--* FIELD int linePos
[000663] ------------ | \--* LCL_VAR byref V54 tmp35
[000649] ------------ \--* LCL_VAR int V53 tmp34
***** BB27
STMT00068 (IL 0x2BD... ???)
[000368] -ACXG------- * ASG int
[000367] D------N---- +--* LCL_VAR int V03 loc2
[000366] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000365] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000364] ------------ \--* LCL_VAR ref V02 loc1
------------ BB28 [2CE..313) -> BB31 (cond), preds={} succs={BB29,BB31}
***** BB28
STMT00024 (IL 0x2CE...0x2D5)
[000130] -A-XG------- * ASG int
[000129] ---XG--N---- +--* FIELD int <tmp>5__3
[000126] ------------ | \--* LCL_VAR byref V00 this
[000128] ---XG------- \--* FIELD int _parsingFunction
[000127] ------------ \--* LCL_VAR ref V02 loc1
***** BB28
STMT00025 (IL 0x2DA...0x2E1)
[000135] -A-XG------- * ASG int
[000134] ---XG--N---- +--* FIELD int _parsingFunction
[000131] ------------ | \--* LCL_VAR ref V02 loc1
[000133] ---XG------- \--* FIELD int _nextParsingFunction
[000132] ------------ \--* LCL_VAR ref V02 loc1
***** BB28
STMT00026 (IL 0x2E6...0x2ED)
[000140] -A-XG------- * ASG int
[000139] ---XG--N---- +--* FIELD int _nextParsingFunction
[000136] ------------ | \--* LCL_VAR ref V02 loc1
[000138] ---XG------- \--* FIELD int _nextNextParsingFunction
[000137] ------------ \--* LCL_VAR ref V02 loc1
***** BB28
STMT00028 (IL ???... ???)
[000146] S-C-G------- * CALLV stub void System.Threading.Tasks.Task`1.ConfigureAwait
[000143] --C-G------- this in rcx +--* CALL r2r_ind ref System.Xml.XmlTextReaderImpl.MoveToNextContentNodeAsync
[000141] ------------ this in rcx | +--* LCL_VAR ref V02 loc1
[000142] ------------ arg1 | \--* CNS_INT int 1
[000148] ------------ arg1 +--* ADDR byref
[000147] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>, 16> V17 loc16
[000145] ------------ arg2 \--* CNS_INT int 0
***** BB28
STMT00029 (IL 0x301...0x308)
[000151] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter
[000150] ------------ this in rcx +--* ADDR byref
[000149] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>, 16> V17 loc16
[000153] ------------ arg1 \--* ADDR byref
[000152] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
***** BB28
STMT00030 (IL 0x30A...0x311)
[000160] --C-G------- * JTRUE void
[000159] --C-G------- \--* NE int
[000157] --C-G------- +--* CAST int <- bool <- int
[000156] --C-G------- | \--* CALL r2r_ind int ConfiguredTaskAwaiter.get_IsCompleted
[000155] ------------ this in rcx | \--* ADDR byref
[000154] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000158] ------------ \--* CNS_INT int 0
------------ BB29 [313..337) -> BB36 (always), preds={} succs={BB36}
***** BB29
STMT00060 (IL 0x313...0x316)
[000305] -A---------- * ASG int
[000304] D------N---- +--* LCL_VAR int V27 tmp8
[000303] ------------ \--* CNS_INT int 1
***** BB29
STMT00061 (IL ???... ???)
[000309] -A---------- * ASG int
[000308] D------N---- +--* LCL_VAR int V01 loc0
[000307] ------------ \--* LCL_VAR int V27 tmp8
***** BB29
STMT00062 (IL ???...0x317)
[000311] -A-XG------- * ASG int
[000310] ---XG--N---- +--* FIELD int <>1__state
[000302] ------------ | \--* LCL_VAR byref V00 this
[000306] ------------ \--* LCL_VAR int V27 tmp8
***** BB29
STMT00063 (IL 0x31C...0x31F)
[000317] -A-XG------- * ASG struct (copy)
[000316] ---XG------- +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>
[000315] ---XG------- | \--* ADDR byref
[000314] ---XG------- | \--* FIELD struct <>u__2
[000312] ------------ | \--* LCL_VAR byref V00 this
[000313] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
***** BB29
STMT00064 (IL 0x324...0x332)
[000324] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000320] ---XG------- this in rcx +--* ADDR byref
[000319] ---XG------- | \--* FIELD struct <>t__builder
[000318] ------------ | \--* LCL_VAR byref V00 this
[000322] ------------ arg1 +--* ADDR byref
[000321] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000323] ------------ arg2 \--* LCL_VAR byref V00 this
------------ BB30 [337..354), preds={} succs={BB31}
***** BB30
STMT00090 (IL 0x337...0x33D)
[000470] -A-XG------- * ASG struct (copy)
[000468] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000467] ---XG------- \--* FIELD struct <>u__2
[000466] ------------ \--* LCL_VAR byref V00 this
***** BB30
STMT00091 (IL 0x33F...0x346)
[000476] IA-XG------- * ASG struct (init)
[000475] ---XG--N---- +--* BLK struct<16>
[000473] ---XG------- | \--* ADDR byref
[000472] ---XG------- | \--* FIELD struct <>u__2
[000471] ------------ | \--* LCL_VAR byref V00 this
[000474] ------------ \--* CNS_INT int 0
***** BB30
STMT00092 (IL 0x34B...0x34E)
[000480] -A---------- * ASG int
[000479] D------N---- +--* LCL_VAR int V31 tmp12
[000478] ------------ \--* CNS_INT int -1
***** BB30
STMT00093 (IL ???... ???)
[000484] -A---------- * ASG int
[000483] D------N---- +--* LCL_VAR int V01 loc0
[000482] ------------ \--* LCL_VAR int V31 tmp12
***** BB30
STMT00094 (IL ???...0x34F)
[000486] -A-XG------- * ASG int
[000485] ---XG--N---- +--* FIELD int <>1__state
[000477] ------------ | \--* LCL_VAR byref V00 this
[000481] ------------ \--* LCL_VAR int V31 tmp12
------------ BB31 [354..361) -> BB33 (cond), preds={} succs={BB32,BB33}
***** BB31
STMT00031 (IL 0x354...0x35B)
[000166] -AC-G------- * ASG int
[000165] D------N---- +--* LCL_VAR int V15 loc14
[000164] --C-G------- \--* CAST int <- bool <- int
[000163] --C-G------- \--* CALL r2r_ind int ConfiguredTaskAwaiter.GetResult
[000162] ------------ this in rcx \--* ADDR byref
[000161] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
***** BB31
STMT00032 (IL 0x35D...0x35F)
[000170] ------------ * JTRUE void
[000169] ------------ \--* NE int
[000167] ------------ +--* LCL_VAR int V15 loc14
[000168] ------------ \--* CNS_INT int 0
------------ BB32 [361..383), preds={} succs={BB49}
***** BB32
STMT00147 (IL 0x361... ???)
[000702] -A-XG------- * ASG int
[000701] D------N---- +--* LCL_VAR int V55 tmp36
[000291] ---XG------- \--* FIELD int <tmp>5__3
[000290] ------------ \--* LCL_VAR byref V00 this
------------ BB49 [361..362) -> BB51 (cond), preds={} succs={BB50,BB51}
***** BB49
STMT00140 (IL 0x361... ???)
[000674] ---XG------- * JTRUE void
[000673] N--XG----U-- \--* NE int
[000671] ---XG------- +--* FIELD int _parsingFunction
[000289] ------------ | \--* LCL_VAR ref V02 loc1
[000672] ------------ \--* CNS_INT int 21
------------ BB50 [361..362) -> BB52 (always), preds={} succs={BB52}
***** BB50
STMT00146 (IL 0x361... ???)
[000700] -A-XG------- * ASG int
[000699] ---XG--N---- +--* FIELD int _incReadState
[000697] ------------ | \--* LCL_VAR ref V02 loc1
[000698] ------------ \--* CNS_INT int 13
------------ BB51 [361..362), preds={} succs={BB52}
***** BB51
STMT00141 (IL 0x361... ???)
[000678] -A-XG------- * ASG int
[000677] ---XG--N---- +--* FIELD int _incReadState
[000675] ------------ | \--* LCL_VAR ref V02 loc1
[000676] ------------ \--* CNS_INT int 12
***** BB51
STMT00142 (IL 0x361... ???)
[000683] -A-XG------- * ASG int
[000682] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000679] ------------ | \--* LCL_VAR ref V02 loc1
[000681] ---XG------- \--* FIELD int _nextParsingFunction
[000680] ------------ \--* LCL_VAR ref V02 loc1
***** BB51
STMT00143 (IL 0x361... ???)
[000688] -A-XG------- * ASG int
[000687] ---XG--N---- +--* FIELD int _nextParsingFunction
[000684] ------------ | \--* LCL_VAR ref V02 loc1
[000686] ---XG------- \--* FIELD int _parsingFunction
[000685] ------------ \--* LCL_VAR ref V02 loc1
------------ BB52 [361..362), preds={} succs={BB53}
***** BB52
STMT00144 (IL 0x361... ???)
[000692] -A-XG------- * ASG int
[000691] ---XG--N---- +--* FIELD int _readValueOffset
[000689] ------------ | \--* LCL_VAR ref V02 loc1
[000690] ------------ \--* CNS_INT int 0
***** BB52
STMT00145 (IL 0x361... ???)
[000696] -A-XG------- * ASG int
[000695] ---XG--N---- +--* FIELD int _parsingFunction
[000693] ------------ | \--* LCL_VAR ref V02 loc1
[000694] ------------ \--* LCL_VAR int V55 tmp36
------------ BB53 [???..???) -> BB35 (always), preds={} succs={BB35}
***** BB53
STMT00058 (IL 0x36D... ???)
[000296] -A-XG------- * ASG int
[000295] ---XG--N---- +--* FIELD int _incReadState
[000293] ------------ | \--* LCL_VAR ref V02 loc1
[000294] ------------ \--* CNS_INT int 14
***** BB53
STMT00059 (IL 0x375...0x380)
[000301] -ACXG------- * ASG int
[000300] D------N---- +--* LCL_VAR int V03 loc2
[000299] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000298] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000297] ------------ \--* LCL_VAR ref V02 loc1
------------ BB33 [383..3B5), preds={} succs={BB54}
***** BB33
STMT00155 (IL 0x383... ???)
[000735] -A-XG------- * ASG int
[000734] D------N---- +--* LCL_VAR int V56 tmp37
[000173] ---XG------- \--* FIELD int <tmp>5__3
[000172] ------------ \--* LCL_VAR byref V00 this
------------ BB54 [383..384) -> BB56 (cond), preds={} succs={BB55,BB56}
***** BB54
STMT00148 (IL 0x383... ???)
[000707] ---XG------- * JTRUE void
[000706] N--XG----U-- \--* NE int
[000704] ---XG------- +--* FIELD int _parsingFunction
[000171] ------------ | \--* LCL_VAR ref V02 loc1
[000705] ------------ \--* CNS_INT int 21
------------ BB55 [383..384) -> BB57 (always), preds={} succs={BB57}
***** BB55
STMT00154 (IL 0x383... ???)
[000733] -A-XG------- * ASG int
[000732] ---XG--N---- +--* FIELD int _incReadState
[000730] ------------ | \--* LCL_VAR ref V02 loc1
[000731] ------------ \--* CNS_INT int 13
------------ BB56 [383..384), preds={} succs={BB57}
***** BB56
STMT00149 (IL 0x383... ???)
[000711] -A-XG------- * ASG int
[000710] ---XG--N---- +--* FIELD int _incReadState
[000708] ------------ | \--* LCL_VAR ref V02 loc1
[000709] ------------ \--* CNS_INT int 12
***** BB56
STMT00150 (IL 0x383... ???)
[000716] -A-XG------- * ASG int
[000715] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000712] ------------ | \--* LCL_VAR ref V02 loc1
[000714] ---XG------- \--* FIELD int _nextParsingFunction
[000713] ------------ \--* LCL_VAR ref V02 loc1
***** BB56
STMT00151 (IL 0x383... ???)
[000721] -A-XG------- * ASG int
[000720] ---XG--N---- +--* FIELD int _nextParsingFunction
[000717] ------------ | \--* LCL_VAR ref V02 loc1
[000719] ---XG------- \--* FIELD int _parsingFunction
[000718] ------------ \--* LCL_VAR ref V02 loc1
------------ BB57 [383..384), preds={} succs={BB58}
***** BB57
STMT00152 (IL 0x383... ???)
[000725] -A-XG------- * ASG int
[000724] ---XG--N---- +--* FIELD int _readValueOffset
[000722] ------------ | \--* LCL_VAR ref V02 loc1
[000723] ------------ \--* CNS_INT int 0
***** BB57
STMT00153 (IL 0x383... ???)
[000729] -A-XG------- * ASG int
[000728] ---XG--N---- +--* FIELD int _parsingFunction
[000726] ------------ | \--* LCL_VAR ref V02 loc1
[000727] ------------ \--* LCL_VAR int V56 tmp37
------------ BB58 [???..???) -> BB07 (always), preds={} succs={BB07}
***** BB58
STMT00035 (IL 0x38F... ???)
[000182] -A-XG------- * ASG byref
[000181] D------N---- +--* LCL_VAR byref V24 tmp5
[000177] ---XG------- \--* ADDR byref
[000176] ---XG------- \--* FIELD struct _incReadLineInfo
[000175] ------------ \--* LCL_VAR ref V02 loc1
***** BB58
STMT00156 (IL 0x38F... ???)
[000744] -A-XG------- * ASG ref
[000743] D------N---- +--* LCL_VAR ref V57 tmp38
[000179] ---XG------- \--* FIELD ref _curNode
[000178] ------------ \--* LCL_VAR ref V02 loc1
***** BB58
STMT00157 (IL 0x38F... ???)
[000742] ---X-------- * NULLCHECK byte
[000741] ------------ \--* LCL_VAR ref V57 tmp38
***** BB58
STMT00037 (IL ???... ???)
[000189] -AC--------- * ASG int
[000188] D------N---- +--* LCL_VAR int V25 tmp6
[000740] ---XG------- \--* FIELD int lineNo
[000739] ---XG------- \--* ADDR byref
[000738] ---XG------- \--* FIELD struct lineInfo
[000737] ------------ \--* LCL_VAR ref V57 tmp38
***** BB58
STMT00158 (IL ???... ???)
[000753] -A-XG------- * ASG ref
[000752] D------N---- +--* LCL_VAR ref V58 tmp39
[000186] ---XG------- \--* FIELD ref _curNode
[000185] ------------ \--* LCL_VAR ref V02 loc1
***** BB58
STMT00159 (IL ???... ???)
[000751] ---X-------- * NULLCHECK byte
[000750] ------------ \--* LCL_VAR ref V58 tmp39
***** BB58
STMT00162 (IL ???... ???)
[000762] -A-XG------- * ASG int
[000761] D------N---- +--* LCL_VAR int V59 tmp40
[000749] ---XG------- \--* FIELD int linePos
[000748] ---XG------- \--* ADDR byref
[000747] ---XG------- \--* FIELD struct lineInfo
[000746] ------------ \--* LCL_VAR ref V58 tmp39
***** BB58
STMT00160 (IL ???... ???)
[000756] -A-XG------- * ASG int
[000755] ---XG--N---- +--* FIELD int lineNo
[000183] ------------ | \--* LCL_VAR byref V24 tmp5
[000190] ------------ \--* LCL_VAR int V25 tmp6
***** BB58
STMT00161 (IL ???... ???)
[000760] -A-XG------- * ASG int
[000759] ---XG--N---- +--* FIELD int linePos
[000757] ------------ | \--* LCL_VAR byref V24 tmp5
[000758] ------------ \--* LCL_VAR int V59 tmp40
------------ BB34 [3B5..3CE) -> BB36 (cret), preds={} succs={BB36}
***** BB34
STMT00098 (IL 0x3B5...0x3B5)
[000505] -A---O------ * ASG ref
[000504] D------N---- +--* LCL_VAR ref V32 tmp13
[000009] -----O------ \--* CATCH_ARG ref
***** BB34
STMT00099 (IL ???... ???)
[000508] -A---------- * ASG ref
[000507] D------N---- +--* LCL_VAR ref V18 loc17
[000506] ------------ \--* LCL_VAR ref V32 tmp13
***** BB34
STMT00100 (IL 0x3B7...0x3BA)
[000512] -A-XG------- * ASG int
[000511] ---XG--N---- +--* FIELD int <>1__state
[000509] ------------ | \--* LCL_VAR byref V00 this
[000510] ------------ \--* CNS_INT int -2
***** BB34
STMT00101 (IL 0x3BF...0x3CC)
[000517] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException
[000515] ---XG------- this in rcx +--* ADDR byref
[000514] ---XG------- | \--* FIELD struct <>t__builder
[000513] ------------ | \--* LCL_VAR byref V00 this
[000516] ------------ arg1 \--* LCL_VAR ref V18 loc17
------------ BB35 [3CE..3E2), preds={} succs={BB36}
***** BB35
STMT00050 (IL 0x3CE...0x3D1)
[000254] -A-XG------- * ASG int
[000253] ---XG--N---- +--* FIELD int <>1__state
[000251] ------------ | \--* LCL_VAR byref V00 this
[000252] ------------ \--* CNS_INT int -2
***** BB35
STMT00051 (IL 0x3D6...0x3DD)
[000259] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult
[000257] ---XG------- this in rcx +--* ADDR byref
[000256] ---XG------- | \--* FIELD struct <>t__builder
[000255] ------------ | \--* LCL_VAR byref V00 this
[000258] ------------ arg1 \--* LCL_VAR int V03 loc2
------------ BB36 [3E2..3E3) (return), preds={} succs={}
***** BB36
STMT00052 (IL 0x3E2...0x3E2)
[000260] ------------ * RETURN void
-------------------------------------------------------------------------------------------------------------------
*************** Starting PHASE Allocate Objects
*** ObjectAllocationPhase: no newobjs in this method; punting
*************** Finishing PHASE Allocate Objects
Trees after Allocate Objects
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 1 [02C..049) T2 i
BB07 [0006] 2 2 1 [049..050) T2 i bwd
BB08 [0007] 1 0 1 [050..06F) T0 try { keep i try label bwd
BB37 [0036] 1 0 1 [050..051)-> BB39 ( cond ) T0 i bwd
BB38 [0037] 1 0 1 [050..051)-> BB40 (always) T0 i bwd
BB39 [0038] 1 0 1 [050..051) T0 i idxlen bwd
BB40 [0039] 1 0 1 [???..???)-> BB10 (always) T0 } keep internal label idxlen bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (always) T2 i idxlen nullcheck bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 1 [337..354) T2 i bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 1 [361..383) T2 i bwd
BB49 [0048] 1 2 1 [361..362)-> BB51 ( cond ) T2 i bwd
BB50 [0049] 1 2 0.50 [361..362)-> BB52 (always) T2 i bwd
BB51 [0050] 1 2 0.50 [361..362) T2 i bwd
BB52 [0051] 2 2 1 [361..362) T2 i bwd
BB53 [0052] 1 2 1 [???..???)-> BB35 (always) T2 internal bwd
BB33 [0032] 1 2 1 [383..3B5) T2 i bwd
BB54 [0053] 1 2 1 [383..384)-> BB56 ( cond ) T2 i bwd
BB55 [0054] 1 2 0.50 [383..384)-> BB57 (always) T2 i bwd
BB56 [0055] 1 2 0.50 [383..384) T2 i bwd
BB57 [0056] 2 2 1 [383..384) T2 i bwd
BB58 [0057] 1 2 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 ( cret ) H2 catch { } keep i label target
BB35 [0034] 4 1 [3CE..3E2) i
BB36 [0035] 4 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
------------ BB01 [000..00E), preds={} succs={BB02}
***** BB01
STMT00000 (IL 0x000...0x006)
[000003] -A-XG------- * ASG int
[000002] D------N---- +--* LCL_VAR int V01 loc0
[000001] ---XG------- \--* FIELD int <>1__state
[000000] ------------ \--* LCL_VAR byref V00 this
***** BB01
STMT00001 (IL 0x007...0x00D)
[000007] -A-XG------- * ASG ref
[000006] D------N---- +--* LCL_VAR ref V02 loc1
[000005] ---XG------- \--* FIELD ref <>4__this
[000004] ------------ \--* LCL_VAR byref V00 this
------------ BB02 [00E..014) -> BB16 (cond), preds={} succs={BB03,BB16}
***** BB02
STMT00002 (IL 0x00E...0x00F)
[000013] ------------ * JTRUE void
[000012] ------------ \--* EQ int
[000010] ------------ +--* LCL_VAR int V01 loc0
[000011] ------------ \--* CNS_INT int 0
------------ BB03 [014..01B) -> BB30 (cond), preds={} succs={BB04,BB30}
***** BB03
STMT00089 (IL 0x014...0x016)
[000465] ------------ * JTRUE void
[000464] ------------ \--* EQ int
[000462] ------------ +--* LCL_VAR int V01 loc0
[000463] ------------ \--* CNS_INT int 1
------------ BB04 [01B..025) -> BB06 (cond), preds={} succs={BB05,BB06}
***** BB04
STMT00095 (IL 0x01B...0x023)
[000491] ---XG------- * JTRUE void
[000490] N--XG----U-- \--* NE int
[000488] ---XG------- +--* FIELD int _incReadState
[000487] ------------ | \--* LCL_VAR ref V02 loc1
[000489] ------------ \--* CNS_INT int 14
------------ BB05 [025..02C) -> BB35 (always), preds={} succs={BB35}
***** BB05
STMT00097 (IL 0x025...0x026)
[000503] -A---------- * ASG int
[000502] D------N---- +--* LCL_VAR int V03 loc2
[000501] ------------ \--* CNS_INT int 0
------------ BB06 [02C..049), preds={} succs={BB07}
***** BB06
STMT00096 (IL 0x02C...0x044)
[000500] --CXG------- * CALLV stub void System.Xml.IncrementalReadDecoder.SetNextOutputBuffer
[000493] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000492] ------------ | \--* LCL_VAR ref V02 loc1
[000495] ---XG------- arg1 +--* FIELD ref buffer
[000494] ------------ | \--* LCL_VAR byref V00 this
[000497] ---XG------- arg2 +--* FIELD int index
[000496] ------------ | \--* LCL_VAR byref V00 this
[000499] ---XG------- arg3 \--* FIELD int count
[000498] ------------ \--* LCL_VAR byref V00 this
------------ BB07 [049..050), preds={} succs={BB08}
***** BB07
STMT00039 (IL 0x049...0x04B)
[000196] -A-XG------- * ASG int
[000195] ---XG--N---- +--* FIELD int <charsRead>5__2
[000193] ------------ | \--* LCL_VAR byref V00 this
[000194] ------------ \--* CNS_INT int 0
------------ BB08 [050..06F), preds={} succs={BB37}
***** BB08
STMT00105 (IL 0x050... ???)
[000552] -A-XG------- * ASG ref
[000551] D------N---- +--* LCL_VAR ref V34 tmp15
[000202] ---XG------- \--* FIELD ref _curNode
[000201] ------------ \--* LCL_VAR ref V02 loc1
***** BB08
STMT00106 (IL 0x050... ???)
[000554] -A-XG------- * ASG ref
[000553] D------N---- +--* LCL_VAR ref V35 tmp16
[000204] ---XG------- \--* FIELD ref _incReadDecoder
[000203] ------------ \--* LCL_VAR ref V02 loc1
***** BB08
STMT00107 (IL 0x050... ???)
[000556] -A-XG------- * ASG int
[000555] D------N---- +--* LCL_VAR int V36 tmp17
[000206] ---XG------- \--* FIELD int _readValueOffset
[000205] ------------ \--* LCL_VAR ref V02 loc1
------------ BB37 [050..051) -> BB39 (cond), preds={} succs={BB38,BB39}
***** BB37
STMT00102 (IL 0x050... ???)
[000522] ---XG------- * JTRUE void
[000521] ---XG------- \--* NE int
[000519] ---XG------- +--* FIELD ref _value
[000518] ------------ | \--* LCL_VAR ref V34 tmp15
[000520] ------------ \--* CNS_INT ref null
------------ BB38 [050..051) -> BB40 (always), preds={} succs={BB40}
***** BB38
STMT00104 (IL 0x050... ???)
[000549] -ACXG------- * ASG int
[000548] D------N---- +--* LCL_VAR int V33 tmp14
[000547] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000536] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000538] ---XG------- arg1 +--* FIELD ref _chars
[000537] ------------ | \--* LCL_VAR ref V34 tmp15
[000542] ---XG------- arg2 +--* ADD int
[000540] ---XG------- | +--* FIELD int _valueStartPos
[000539] ------------ | | \--* LCL_VAR ref V34 tmp15
[000541] ------------ | \--* LCL_VAR int V36 tmp17
[000546] ---XG------- arg3 \--* SUB int
[000544] ---XG------- +--* FIELD int _valueLength
[000543] ------------ | \--* LCL_VAR ref V34 tmp15
[000545] ------------ \--* LCL_VAR int V36 tmp17
------------ BB39 [050..051), preds={} succs={BB40}
***** BB39
STMT00103 (IL 0x050... ???)
[000534] -ACXG------- * ASG int
[000533] D------N---- +--* LCL_VAR int V33 tmp14
[000532] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000523] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000525] ---XG------- arg1 +--* FIELD ref _value
[000524] ------------ | \--* LCL_VAR ref V34 tmp15
[000526] ------------ arg2 +--* LCL_VAR int V36 tmp17
[000531] ---XG------- arg3 \--* SUB int
[000529] ---XG------- +--* ARR_LENGTH int
[000528] ---XG------- | \--* FIELD ref _value
[000527] ------------ | \--* LCL_VAR ref V34 tmp15
[000530] ------------ \--* LCL_VAR int V36 tmp17
------------ BB40 [???..???) -> BB10 (always), preds={} succs={BB10}
***** BB40
STMT00041 (IL ???... ???)
[000210] -ACXG------- * ASG int
[000209] ---XG--N---- +--* FIELD int <charsRead>5__2
[000200] ------------ | \--* LCL_VAR byref V00 this
[000550] ------------ \--* LCL_VAR int V33 tmp14
------------ BB09 [06F..0B1) -> BB10 (cret), preds={} succs={BB10}
***** BB09
STMT00053 (IL 0x06F...0x06F)
[000262] -A---O------ * ASG ref
[000261] D------N---- +--* LCL_VAR ref V26 tmp7
[000198] -----O------ \--* CATCH_ARG ref
***** BB09
STMT00054 (IL ???... ???)
[000265] -A---------- * ASG ref
[000264] D------N---- +--* LCL_VAR ref V04 loc3
[000263] ------------ \--* LCL_VAR ref V26 tmp7
***** BB09
STMT00055 (IL 0x070...0x0AF)
[000277] --CXG------- * CALL r2r_ind void NodeData.AdjustLineInfo
[000267] ---XG------- this in rcx +--* FIELD ref _curNode
[000266] ------------ | \--* LCL_VAR ref V02 loc1
[000269] ---XG------- arg1 +--* FIELD int _readValueOffset
[000268] ------------ | \--* LCL_VAR ref V02 loc1
[000273] ---XG------- arg2 +--* FIELD bool eolNormalized
[000272] ---XG------- | \--* ADDR byref
[000271] ---XG------- | \--* FIELD struct _ps
[000270] ------------ | \--* LCL_VAR ref V02 loc1
[000276] ---XG------- arg3 \--* ADDR byref
[000275] ---XG------- \--* FIELD struct _incReadLineInfo
[000274] ------------ \--* LCL_VAR ref V02 loc1
***** BB09
STMT00056 (IL 0x092... ???)
[000288] --CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
[000278] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000279] ------------ arg1 +--* LCL_VAR ref V04 loc3
[000283] ---XG------- arg2 +--* FIELD int lineNo
[000282] ---XG------- | \--* ADDR byref
[000281] ---XG------- | \--* FIELD struct _incReadLineInfo
[000280] ------------ | \--* LCL_VAR ref V02 loc1
[000287] ---XG------- arg3 \--* FIELD int linePos
[000286] ---XG------- \--* ADDR byref
[000285] ---XG------- \--* FIELD struct _incReadLineInfo
[000284] ------------ \--* LCL_VAR ref V02 loc1
------------ BB10 [0B1..0D1) -> BB12 (cond), preds={} succs={BB11,BB12}
***** BB10
STMT00042 (IL 0x0B1...0x0BF)
[000218] -A-XG------- * ASG int
[000217] ---XG--N---- +--* FIELD int _readValueOffset
[000211] ------------ | \--* LCL_VAR ref V02 loc1
[000216] ---XG------- \--* ADD int
[000213] ---XG------- +--* FIELD int _readValueOffset
[000212] ------------ | \--* LCL_VAR ref V02 loc1
[000215] ---XG------- \--* FIELD int <charsRead>5__2
[000214] ------------ \--* LCL_VAR byref V00 this
***** BB10
STMT00043 (IL 0x0C4...0x0CF)
[000225] --CXG------- * JTRUE void
[000224] --CXG------- \--* EQ int
[000222] --CXG------- +--* CAST int <- bool <- int
[000221] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000220] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000219] ------------ | \--* LCL_VAR ref V02 loc1
[000223] ------------ \--* CNS_INT int 0
------------ BB11 [0D1..0E2) -> BB35 (always), preds={} succs={BB35}
***** BB11
STMT00049 (IL 0x0D1...0x0DC)
[000250] -ACXG------- * ASG int
[000249] D------N---- +--* LCL_VAR int V03 loc2
[000248] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000247] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000246] ------------ \--* LCL_VAR ref V02 loc1
------------ BB12 [0E2..0EF) -> BB28 (cond), preds={} succs={BB13,BB28}
***** BB12
STMT00044 (IL 0x0E2...0x0EA)
[000230] ---XG------- * JTRUE void
[000229] N--XG----U-- \--* NE int
[000227] ---XG------- +--* FIELD int _incReadState
[000226] ------------ | \--* LCL_VAR ref V02 loc1
[000228] ------------ \--* CNS_INT int 13
------------ BB13 [0EF..10D) -> BB21 (always), preds={} succs={BB21}
***** BB13
STMT00110 (IL 0x0EF... ???)
[000567] -A-XG------- * ASG ref
[000566] D------N---- +--* LCL_VAR ref V37 tmp18
[000232] ---XG------- \--* FIELD ref _curNode
[000231] ------------ \--* LCL_VAR ref V02 loc1
***** BB13
STMT00111 (IL 0x0EF... ???)
[000569] -A--G------- * ASG ref
[000568] D------N---- +--* LCL_VAR ref V38 tmp19
[000235] n---G------- \--* IND ref
[000234] #----------- \--* IND long
[000233] ------------ \--* CNS_INT(h) long 0x4217B8 pstr
***** BB13
STMT00108 (IL 0x0EF... ???)
[000561] -A-XG------- * ASG int
[000560] ---XG--N---- +--* FIELD int _valueStartPos
[000558] ------------ | \--* LCL_VAR ref V37 tmp18
[000559] ------------ \--* CNS_INT int -1
***** BB13
STMT00109 (IL 0x0EF... ???)
[000565] -A-XG------- * ASG ref
[000564] ---XG--N---- +--* FIELD ref _value
[000562] ------------ | \--* LCL_VAR ref V37 tmp18
[000563] ------------ \--* LCL_VAR ref V38 tmp19
***** BB13
STMT00046 (IL 0x0FF... ???)
[000239] -A---------- * ASG int
[000238] D------N---- +--* LCL_VAR int V05 loc4
[000237] ------------ \--* CNS_INT int 0
***** BB13
STMT00047 (IL 0x102...0x103)
[000242] -A---------- * ASG int
[000241] D------N---- +--* LCL_VAR int V06 loc5
[000240] ------------ \--* CNS_INT int 0
***** BB13
STMT00048 (IL 0x105...0x106)
[000245] -A---------- * ASG int
[000244] D------N---- +--* LCL_VAR int V07 loc6
[000243] ------------ \--* CNS_INT int 0
------------ BB14 [10D..157) -> BB17 (cond), preds={} succs={BB15,BB17}
***** BB14
STMT00072 (IL 0x10D...0x10E)
[000382] -A---------- * ASG int
[000381] D------N---- +--* LCL_VAR int V08 loc7
[000380] ------------ \--* CNS_INT int 0
***** BB14
STMT00074 (IL 0x110...0x139)
[000391] -A-XG------- * ASG byref
[000390] D------N---- +--* LCL_VAR byref V28 tmp9
[000385] ---XG------- \--* ADDR byref
[000384] ---XG------- \--* FIELD struct _incReadLineInfo
[000383] ------------ \--* LCL_VAR ref V02 loc1
***** BB14
STMT00112 (IL 0x110... ???)
[000574] -A-XG------- * ASG byref
[000573] D------N---- +--* LCL_VAR byref V39 tmp20
[000388] ---XG------- \--* ADDR byref
[000387] ---XG------- \--* FIELD struct _ps
[000386] ------------ \--* LCL_VAR ref V02 loc1
***** BB14
STMT00076 (IL ???... ???)
[000399] -AC--------- * ASG int
[000398] D------N---- +--* LCL_VAR int V29 tmp10
[000572] ---XG------- \--* FIELD int lineNo
[000571] ------------ \--* LCL_VAR byref V39 tmp20
***** BB14
STMT00113 (IL ???... ???)
[000582] -A-XG------- * ASG byref
[000581] D------N---- +--* LCL_VAR byref V40 tmp21
[000396] ---XG------- \--* ADDR byref
[000395] ---XG------- \--* FIELD struct _ps
[000394] ------------ \--* LCL_VAR ref V02 loc1
***** BB14
STMT00116 (IL ???... ???)
[000591] -A-XG------- * ASG int
[000590] D------N---- +--* LCL_VAR int V41 tmp22
[000580] ---XG------- \--* SUB int
[000577] ---XG------- +--* FIELD int charPos
[000576] ------------ | \--* LCL_VAR byref V40 tmp21
[000579] ---XG------- \--* FIELD int lineStartPos
[000578] ------------ \--* LCL_VAR byref V40 tmp21
***** BB14
STMT00114 (IL ???... ???)
[000585] -A-XG------- * ASG int
[000584] ---XG--N---- +--* FIELD int lineNo
[000392] ------------ | \--* LCL_VAR byref V28 tmp9
[000400] ------------ \--* LCL_VAR int V29 tmp10
***** BB14
STMT00115 (IL ???... ???)
[000589] -A-XG------- * ASG int
[000588] ---XG--N---- +--* FIELD int linePos
[000586] ------------ | \--* LCL_VAR byref V28 tmp9
[000587] ------------ \--* LCL_VAR int V41 tmp22
***** BB14
STMT00078 (IL 0x131... ???)
[000405] S-C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ParseTextAsync
[000403] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000407] ------------ arg1 +--* ADDR byref
[000406] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V12 loc11
[000404] ------------ arg2 \--* LCL_VAR int V08 loc7
***** BB14
STMT00079 (IL 0x13B...0x143)
[000411] S-C-G------- * CALL r2r_ind void System.Threading.Tasks.ValueTask`1.ConfigureAwait
[000409] ------------ this in rcx +--* ADDR byref
[000408] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V12 loc11
[000413] ------------ arg1 +--* ADDR byref
[000412] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V13 loc12
[000410] ------------ arg2 \--* CNS_INT int 0
***** BB14
STMT00080 (IL 0x145...0x14C)
[000416] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter
[000415] ------------ this in rcx +--* ADDR byref
[000414] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V13 loc12
[000418] ------------ arg1 \--* ADDR byref
[000417] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
***** BB14
STMT00081 (IL 0x14E...0x155)
[000425] --C-G------- * JTRUE void
[000424] --C-G------- \--* NE int
[000422] --C-G------- +--* CAST int <- bool <- int
[000421] --C-G------- | \--* CALL r2r_ind int ConfiguredValueTaskAwaiter.get_IsCompleted
[000420] ------------ this in rcx | \--* ADDR byref
[000419] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000423] ------------ \--* CNS_INT int 0
------------ BB15 [157..17B) -> BB36 (always), preds={} succs={BB36}
***** BB15
STMT00082 (IL 0x157...0x15A)
[000430] -A---------- * ASG int
[000429] D------N---- +--* LCL_VAR int V01 loc0
[000428] ------------ \--* CNS_INT int 0
***** BB15
STMT00083 (IL ???...0x15B)
[000432] -A-XG------- * ASG int
[000431] ---XG--N---- +--* FIELD int <>1__state
[000426] ------------ | \--* LCL_VAR byref V00 this
[000427] ------------ \--* CNS_INT int 0
***** BB15
STMT00084 (IL 0x160...0x163)
[000438] -A-XG------- * ASG struct (copy)
[000437] ---XG------- +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>
[000436] ---XG------- | \--* ADDR byref
[000435] ---XG------- | \--* FIELD struct <>u__1
[000433] ------------ | \--* LCL_VAR byref V00 this
[000434] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
***** BB15
STMT00085 (IL 0x168...0x176)
[000445] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000441] ---XG------- this in rcx +--* ADDR byref
[000440] ---XG------- | \--* FIELD struct <>t__builder
[000439] ------------ | \--* LCL_VAR byref V00 this
[000443] ------------ arg1 +--* ADDR byref
[000442] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000444] ------------ arg2 \--* LCL_VAR byref V00 this
------------ BB16 [17B..198), preds={} succs={BB17}
***** BB16
STMT00003 (IL 0x17B...0x181)
[000018] -A-XG------- * ASG struct (copy)
[000016] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000015] ---XG------- \--* FIELD struct <>u__1
[000014] ------------ \--* LCL_VAR byref V00 this
***** BB16
STMT00004 (IL 0x183...0x18A)
[000024] IA-XG------- * ASG struct (init)
[000023] ---XG--N---- +--* BLK struct<32>
[000021] ---XG------- | \--* ADDR byref
[000020] ---XG------- | \--* FIELD struct <>u__1
[000019] ------------ | \--* LCL_VAR byref V00 this
[000022] ------------ \--* CNS_INT int 0
***** BB16
STMT00005 (IL 0x18F...0x192)
[000028] -A---------- * ASG int
[000027] D------N---- +--* LCL_VAR int V20 tmp1
[000026] ------------ \--* CNS_INT int -1
***** BB16
STMT00006 (IL ???... ???)
[000032] -A---------- * ASG int
[000031] D------N---- +--* LCL_VAR int V01 loc0
[000030] ------------ \--* LCL_VAR int V20 tmp1
***** BB16
STMT00007 (IL ???...0x193)
[000034] -A-XG------- * ASG int
[000033] ---XG--N---- +--* FIELD int <>1__state
[000025] ------------ | \--* LCL_VAR byref V00 this
[000029] ------------ \--* LCL_VAR int V20 tmp1
------------ BB17 [198..1C9), preds={} succs={BB18}
***** BB17
STMT00008 (IL 0x198...0x19F)
[000037] S-C-G------- * CALL r2r_ind void ConfiguredValueTaskAwaiter.GetResult
[000036] ------------ this in rcx +--* ADDR byref
[000035] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
[000039] ------------ arg1 \--* ADDR byref
[000038] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V10 loc9
***** BB17
STMT00009 (IL 0x1A1...0x1A3)
[000043] -A---------- * ASG struct (copy)
[000041] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
[000040] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V10 loc9
***** BB17
STMT00010 (IL 0x1A5...0x1AC)
[000048] -A---------- * ASG int
[000047] D------N---- +--* LCL_VAR int V06 loc5
[000046] ------------ \--* FIELD int Item1
[000045] ------------ \--* ADDR byref
[000044] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
***** BB17
STMT00011 (IL 0x1AE...0x1B5)
[000053] -A---------- * ASG int
[000052] D------N---- +--* LCL_VAR int V07 loc6
[000051] ------------ \--* FIELD int Item2
[000050] ------------ \--* ADDR byref
[000049] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
***** BB17
STMT00012 (IL 0x1B7...0x1BE)
[000058] -A---------- * ASG int
[000057] D------N---- +--* LCL_VAR int V08 loc7
[000056] ------------ \--* FIELD int Item3
[000055] ------------ \--* ADDR byref
[000054] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
***** BB17
STMT00013 (IL 0x1C0...0x1C7)
[000063] -A---------- * ASG int
[000062] D------N---- +--* LCL_VAR int V05 loc4
[000061] ------------ \--* FIELD bool Item4
[000060] ------------ \--* ADDR byref
[000059] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V09 loc8
------------ BB18 [1C9..1EE) -> BB20 (always), preds={} succs={BB20}
***** BB18
STMT00014 (IL 0x1C9...0x1E7)
[000080] -ACXG------- * ASG int
[000079] ---XG--N---- +--* FIELD int <charsRead>5__2
[000067] ------------ | \--* LCL_VAR byref V00 this
[000078] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000069] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000068] ------------ | \--* LCL_VAR ref V02 loc1
[000073] ---XG------- arg1 +--* FIELD ref chars
[000072] ---XG------- | \--* ADDR byref
[000071] ---XG------- | \--* FIELD struct _ps
[000070] ------------ | \--* LCL_VAR ref V02 loc1
[000074] ------------ arg2 +--* LCL_VAR int V06 loc5
[000077] ------------ arg3 \--* SUB int
[000075] ------------ +--* LCL_VAR int V07 loc6
[000076] ------------ \--* LCL_VAR int V06 loc5
------------ BB19 [1EE..210) -> BB20 (cret), preds={} succs={BB20}
***** BB19
STMT00086 (IL 0x1EE...0x1EE)
[000447] -A---O------ * ASG ref
[000446] D------N---- +--* LCL_VAR ref V30 tmp11
[000065] -----O------ \--* CATCH_ARG ref
***** BB19
STMT00087 (IL ???... ???)
[000450] -A---------- * ASG ref
[000449] D------N---- +--* LCL_VAR ref V14 loc13
[000448] ------------ \--* LCL_VAR ref V30 tmp11
***** BB19
STMT00088 (IL 0x1F0...0x20E)
[000461] --CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
[000451] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000452] ------------ arg1 +--* LCL_VAR ref V14 loc13
[000456] ---XG------- arg2 +--* FIELD int lineNo
[000455] ---XG------- | \--* ADDR byref
[000454] ---XG------- | \--* FIELD struct _incReadLineInfo
[000453] ------------ | \--* LCL_VAR ref V02 loc1
[000460] ---XG------- arg3 \--* FIELD int linePos
[000459] ---XG------- \--* ADDR byref
[000458] ---XG------- \--* FIELD struct _incReadLineInfo
[000457] ------------ \--* LCL_VAR ref V02 loc1
------------ BB20 [210..21B), preds={} succs={BB21}
***** BB20
STMT00015 (IL 0x210...0x219)
[000086] -A-XG------- * ASG int
[000085] D------N---- +--* LCL_VAR int V06 loc5
[000084] ---XG------- \--* ADD int
[000081] ------------ +--* LCL_VAR int V06 loc5
[000083] ---XG------- \--* FIELD int <charsRead>5__2
[000082] ------------ \--* LCL_VAR byref V00 this
------------ BB21 [21B..228) -> BB23 (cond), preds={} succs={BB22,BB23}
***** BB21
STMT00016 (IL 0x21B...0x226)
[000093] --CXG------- * JTRUE void
[000092] --CXG------- \--* NE int
[000090] --CXG------- +--* CAST int <- bool <- int
[000089] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000088] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000087] ------------ | \--* LCL_VAR ref V02 loc1
[000091] ------------ \--* CNS_INT int 0
------------ BB22 [228..22F) -> BB14 (cond), preds={} succs={BB23,BB14}
***** BB22
STMT00071 (IL 0x228...0x22A)
[000379] ------------ * JTRUE void
[000378] ------------ \--* EQ int
[000376] ------------ +--* LCL_VAR int V05 loc4
[000377] ------------ \--* CNS_INT int 0
------------ BB23 [22F..234) -> BB25 (cond), preds={} succs={BB24,BB25}
***** BB23
STMT00018 (IL ???...0x232)
[000100] -A---------- * ASG ref
[000099] D------N---- +--* LCL_VAR ref V21 tmp2
[000094] ------------ \--* LCL_VAR ref V02 loc1
***** BB23
STMT00017 (IL 0x22F...0x232)
[000098] ------------ * JTRUE void
[000097] ------------ \--* NE int
[000095] ------------ +--* LCL_VAR int V05 loc4
[000096] ------------ \--* CNS_INT int 0
------------ BB24 [234..238) -> BB26 (always), preds={} succs={BB26}
***** BB24
STMT00069 (IL ???...0x236)
[000371] -A---------- * ASG ref
[000370] D------N---- +--* LCL_VAR ref V22 tmp3
[000102] ------------ \--* LCL_VAR ref V21 tmp2
***** BB24
STMT00070 (IL ???... ???)
[000374] -A---------- * ASG int
[000373] D------N---- +--* LCL_VAR int V23 tmp4
[000369] ------------ \--* CNS_INT int 13
------------ BB25 [238..23A), preds={} succs={BB26}
***** BB25
STMT00019 (IL ???...0x238)
[000106] -A---------- * ASG ref
[000105] D------N---- +--* LCL_VAR ref V22 tmp3
[000103] ------------ \--* LCL_VAR ref V21 tmp2
***** BB25
STMT00020 (IL ???... ???)
[000109] -A---------- * ASG int
[000108] D------N---- +--* LCL_VAR int V23 tmp4
[000104] ------------ \--* CNS_INT int 12
------------ BB26 [23A..253) -> BB28 (cond), preds={} succs={BB27,BB28}
***** BB26
STMT00021 (IL ???...0x23A)
[000114] -A-XG------- * ASG int
[000113] ---XG--N---- +--* FIELD int _incReadState
[000111] ------------ | \--* LCL_VAR ref V22 tmp3
[000112] ------------ \--* LCL_VAR int V23 tmp4
***** BB26
STMT00022 (IL 0x23F...0x241)
[000118] -A-XG------- * ASG int
[000117] ---XG--N---- +--* FIELD int _readValueOffset
[000115] ------------ | \--* LCL_VAR ref V02 loc1
[000116] ------------ \--* CNS_INT int 0
***** BB26
STMT00023 (IL 0x246...0x251)
[000125] --CXG------- * JTRUE void
[000124] --CXG------- \--* EQ int
[000122] --CXG------- +--* CAST int <- bool <- int
[000121] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000120] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000119] ------------ | \--* LCL_VAR ref V02 loc1
[000123] ------------ \--* CNS_INT int 0
------------ BB27 [253..2CE) -> BB35 (always), preds={} succs={BB35}
***** BB27
STMT00121 (IL 0x253... ???)
[000609] -A-XG------- * ASG ref
[000608] D------N---- +--* LCL_VAR ref V42 tmp23
[000326] ---XG------- \--* FIELD ref _curNode
[000325] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00122 (IL 0x253... ???)
[000611] -A-XG------- * ASG ref
[000610] D------N---- +--* LCL_VAR ref V43 tmp24
[000330] ---XG------- \--* FIELD ref chars
[000329] ---XG------- \--* ADDR byref
[000328] ---XG------- \--* FIELD struct _ps
[000327] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00117 (IL 0x253... ???)
[000596] -A-XG------- * ASG ref
[000595] ---XG--N---- +--* FIELD ref _value
[000593] ------------ | \--* LCL_VAR ref V42 tmp23
[000594] ------------ \--* CNS_INT ref null
***** BB27
STMT00118 (IL 0x253... ???)
[000600] -A-XG------- * ASG ref
[000599] ---XG--N---- +--* FIELD ref _chars
[000597] ------------ | \--* LCL_VAR ref V42 tmp23
[000598] ------------ \--* LCL_VAR ref V43 tmp24
***** BB27
STMT00119 (IL 0x253... ???)
[000603] -A-XG------- * ASG int
[000602] ---XG--N---- +--* FIELD int _valueStartPos
[000601] ------------ | \--* LCL_VAR ref V42 tmp23
[000331] ------------ \--* LCL_VAR int V06 loc5
***** BB27
STMT00120 (IL 0x253... ???)
[000607] -A-XG------- * ASG int
[000606] ---XG--N---- +--* FIELD int _valueLength
[000604] ------------ | \--* LCL_VAR ref V42 tmp23
[000334] ------------ \--* SUB int
[000332] ------------ +--* LCL_VAR int V07 loc6
[000333] ------------ \--* LCL_VAR int V06 loc5
***** BB27
STMT00127 (IL 0x270... ???)
[000634] -A-XG------- * ASG ref
[000633] D------N---- +--* LCL_VAR ref V45 tmp26
[000339] ---XG------- \--* FIELD ref chars
[000338] ---XG------- \--* ADDR byref
[000337] ---XG------- \--* FIELD struct _ps
[000336] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00128 (IL 0x270... ???)
[000636] -A-XG------- * ASG int
[000635] D------N---- +--* LCL_VAR int V46 tmp27
[000343] ---XG------- \--* SUB int
[000340] ------------ +--* LCL_VAR int V06 loc5
[000342] ---XG------- \--* FIELD int <charsRead>5__2
[000341] ------------ \--* LCL_VAR byref V00 this
***** BB27
STMT00129 (IL 0x270... ???)
[000638] -A-XG------- * ASG bool
[000637] D------N---- +--* LCL_VAR bool V49 tmp30
[000348] ---XG------- \--* FIELD bool eolNormalized
[000347] ---XG------- \--* ADDR byref
[000346] ---XG------- \--* FIELD struct _ps
[000345] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00130 (IL 0x270... ???)
[000640] -A-XG------- * ASG byref
[000639] D------N---- +--* LCL_VAR byref V50 tmp31
[000351] ---XG------- \--* ADDR byref
[000350] ---XG------- \--* FIELD struct _incReadLineInfo
[000349] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00123 (IL 0x270... ???)
[000618] -A-XG------- * ASG byref
[000617] D------N---- +--* LCL_VAR byref V47 tmp28
[000616] ---XG------- \--* ADDR byref
[000615] ---XG------- \--* INDEX ushort
[000613] ------------ +--* LCL_VAR ref V45 tmp26
[000614] ------------ \--* LCL_VAR int V46 tmp27
***** BB27
STMT00124 (IL 0x270... ???)
[000622] -A---------- * ASG long
[000621] D------N---- +--* LCL_VAR long V48 tmp29
[000620] ---------U-- \--* CAST long <- ulong <- byref
[000619] ------------ \--* LCL_VAR byref V47 tmp28
***** BB27
STMT00125 (IL 0x270... ???)
[000628] --C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.AdjustLineInfo
[000623] ------------ arg0 +--* LCL_VAR long V48 tmp29
[000625] ------------ arg1 +--* SUB int
[000344] ------------ | +--* LCL_VAR int V06 loc5
[000624] ------------ | \--* LCL_VAR int V46 tmp27
[000626] ------------ arg2 +--* LCL_VAR int V49 tmp30
[000627] ------------ arg3 \--* LCL_VAR byref V50 tmp31
***** BB27
STMT00126 (IL 0x270... ???)
[000632] -A---------- * ASG byref
[000631] D------N---- +--* LCL_VAR byref V47 tmp28
[000630] ---------U-- \--* CAST byref <- ulong <- uint
[000629] ------------ \--* CNS_INT int 0
***** BB27
STMT00131 (IL 0x270... ???)
[000643] -A---------- * ASG byref
[000642] D------N---- +--* LCL_VAR byref V47 tmp28
[000641] ------------ \--* CNS_INT byref 0
***** BB27
STMT00133 (IL 0x29C... ???)
[000654] -A-XG------- * ASG ref
[000653] D------N---- +--* LCL_VAR ref V51 tmp32
[000354] ---XG------- \--* FIELD ref _curNode
[000353] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00134 (IL 0x29C... ???)
[000656] -A-XG------- * ASG int
[000655] D------N---- +--* LCL_VAR int V52 tmp33
[000358] ---XG------- \--* FIELD int lineNo
[000357] ---XG------- \--* ADDR byref
[000356] ---XG------- \--* FIELD struct _incReadLineInfo
[000355] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00135 (IL 0x29C... ???)
[000658] -A-XG------- * ASG int
[000657] D------N---- +--* LCL_VAR int V53 tmp34
[000362] ---XG------- \--* FIELD int linePos
[000361] ---XG------- \--* ADDR byref
[000360] ---XG------- \--* FIELD struct _incReadLineInfo
[000359] ------------ \--* LCL_VAR ref V02 loc1
***** BB27
STMT00136 (IL 0x29C... ???)
[000652] ---X-------- * NULLCHECK byte
[000651] ------------ \--* LCL_VAR ref V51 tmp32
***** BB27
STMT00139 (IL 0x29C... ???)
[000667] -A-XG------- * ASG byref
[000666] D------N---- +--* LCL_VAR byref V54 tmp35
[000647] ---XG------- \--* ADDR byref
[000646] ---XG------- \--* FIELD struct lineInfo
[000645] ------------ \--* LCL_VAR ref V51 tmp32
***** BB27
STMT00137 (IL 0x29C... ???)
[000662] -A-XG------- * ASG int
[000661] ---XG--N---- +--* FIELD int lineNo
[000660] ------------ | \--* LCL_VAR byref V54 tmp35
[000648] ------------ \--* LCL_VAR int V52 tmp33
***** BB27
STMT00138 (IL 0x29C... ???)
[000665] -A-XG------- * ASG int
[000664] ---XG--N---- +--* FIELD int linePos
[000663] ------------ | \--* LCL_VAR byref V54 tmp35
[000649] ------------ \--* LCL_VAR int V53 tmp34
***** BB27
STMT00068 (IL 0x2BD... ???)
[000368] -ACXG------- * ASG int
[000367] D------N---- +--* LCL_VAR int V03 loc2
[000366] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000365] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000364] ------------ \--* LCL_VAR ref V02 loc1
------------ BB28 [2CE..313) -> BB31 (cond), preds={} succs={BB29,BB31}
***** BB28
STMT00024 (IL 0x2CE...0x2D5)
[000130] -A-XG------- * ASG int
[000129] ---XG--N---- +--* FIELD int <tmp>5__3
[000126] ------------ | \--* LCL_VAR byref V00 this
[000128] ---XG------- \--* FIELD int _parsingFunction
[000127] ------------ \--* LCL_VAR ref V02 loc1
***** BB28
STMT00025 (IL 0x2DA...0x2E1)
[000135] -A-XG------- * ASG int
[000134] ---XG--N---- +--* FIELD int _parsingFunction
[000131] ------------ | \--* LCL_VAR ref V02 loc1
[000133] ---XG------- \--* FIELD int _nextParsingFunction
[000132] ------------ \--* LCL_VAR ref V02 loc1
***** BB28
STMT00026 (IL 0x2E6...0x2ED)
[000140] -A-XG------- * ASG int
[000139] ---XG--N---- +--* FIELD int _nextParsingFunction
[000136] ------------ | \--* LCL_VAR ref V02 loc1
[000138] ---XG------- \--* FIELD int _nextNextParsingFunction
[000137] ------------ \--* LCL_VAR ref V02 loc1
***** BB28
STMT00028 (IL ???... ???)
[000146] S-C-G------- * CALLV stub void System.Threading.Tasks.Task`1.ConfigureAwait
[000143] --C-G------- this in rcx +--* CALL r2r_ind ref System.Xml.XmlTextReaderImpl.MoveToNextContentNodeAsync
[000141] ------------ this in rcx | +--* LCL_VAR ref V02 loc1
[000142] ------------ arg1 | \--* CNS_INT int 1
[000148] ------------ arg1 +--* ADDR byref
[000147] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>, 16> V17 loc16
[000145] ------------ arg2 \--* CNS_INT int 0
***** BB28
STMT00029 (IL 0x301...0x308)
[000151] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter
[000150] ------------ this in rcx +--* ADDR byref
[000149] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>, 16> V17 loc16
[000153] ------------ arg1 \--* ADDR byref
[000152] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
***** BB28
STMT00030 (IL 0x30A...0x311)
[000160] --C-G------- * JTRUE void
[000159] --C-G------- \--* NE int
[000157] --C-G------- +--* CAST int <- bool <- int
[000156] --C-G------- | \--* CALL r2r_ind int ConfiguredTaskAwaiter.get_IsCompleted
[000155] ------------ this in rcx | \--* ADDR byref
[000154] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000158] ------------ \--* CNS_INT int 0
------------ BB29 [313..337) -> BB36 (always), preds={} succs={BB36}
***** BB29
STMT00060 (IL 0x313...0x316)
[000305] -A---------- * ASG int
[000304] D------N---- +--* LCL_VAR int V27 tmp8
[000303] ------------ \--* CNS_INT int 1
***** BB29
STMT00061 (IL ???... ???)
[000309] -A---------- * ASG int
[000308] D------N---- +--* LCL_VAR int V01 loc0
[000307] ------------ \--* LCL_VAR int V27 tmp8
***** BB29
STMT00062 (IL ???...0x317)
[000311] -A-XG------- * ASG int
[000310] ---XG--N---- +--* FIELD int <>1__state
[000302] ------------ | \--* LCL_VAR byref V00 this
[000306] ------------ \--* LCL_VAR int V27 tmp8
***** BB29
STMT00063 (IL 0x31C...0x31F)
[000317] -A-XG------- * ASG struct (copy)
[000316] ---XG------- +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>
[000315] ---XG------- | \--* ADDR byref
[000314] ---XG------- | \--* FIELD struct <>u__2
[000312] ------------ | \--* LCL_VAR byref V00 this
[000313] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
***** BB29
STMT00064 (IL 0x324...0x332)
[000324] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000320] ---XG------- this in rcx +--* ADDR byref
[000319] ---XG------- | \--* FIELD struct <>t__builder
[000318] ------------ | \--* LCL_VAR byref V00 this
[000322] ------------ arg1 +--* ADDR byref
[000321] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000323] ------------ arg2 \--* LCL_VAR byref V00 this
------------ BB30 [337..354), preds={} succs={BB31}
***** BB30
STMT00090 (IL 0x337...0x33D)
[000470] -A-XG------- * ASG struct (copy)
[000468] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
[000467] ---XG------- \--* FIELD struct <>u__2
[000466] ------------ \--* LCL_VAR byref V00 this
***** BB30
STMT00091 (IL 0x33F...0x346)
[000476] IA-XG------- * ASG struct (init)
[000475] ---XG--N---- +--* BLK struct<16>
[000473] ---XG------- | \--* ADDR byref
[000472] ---XG------- | \--* FIELD struct <>u__2
[000471] ------------ | \--* LCL_VAR byref V00 this
[000474] ------------ \--* CNS_INT int 0
***** BB30
STMT00092 (IL 0x34B...0x34E)
[000480] -A---------- * ASG int
[000479] D------N---- +--* LCL_VAR int V31 tmp12
[000478] ------------ \--* CNS_INT int -1
***** BB30
STMT00093 (IL ???... ???)
[000484] -A---------- * ASG int
[000483] D------N---- +--* LCL_VAR int V01 loc0
[000482] ------------ \--* LCL_VAR int V31 tmp12
***** BB30
STMT00094 (IL ???...0x34F)
[000486] -A-XG------- * ASG int
[000485] ---XG--N---- +--* FIELD int <>1__state
[000477] ------------ | \--* LCL_VAR byref V00 this
[000481] ------------ \--* LCL_VAR int V31 tmp12
------------ BB31 [354..361) -> BB33 (cond), preds={} succs={BB32,BB33}
***** BB31
STMT00031 (IL 0x354...0x35B)
[000166] -AC-G------- * ASG int
[000165] D------N---- +--* LCL_VAR int V15 loc14
[000164] --C-G------- \--* CAST int <- bool <- int
[000163] --C-G------- \--* CALL r2r_ind int ConfiguredTaskAwaiter.GetResult
[000162] ------------ this in rcx \--* ADDR byref
[000161] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16> V16 loc15
***** BB31
STMT00032 (IL 0x35D...0x35F)
[000170] ------------ * JTRUE void
[000169] ------------ \--* NE int
[000167] ------------ +--* LCL_VAR int V15 loc14
[000168] ------------ \--* CNS_INT int 0
------------ BB32 [361..383), preds={} succs={BB49}
***** BB32
STMT00147 (IL 0x361... ???)
[000702] -A-XG------- * ASG int
[000701] D------N---- +--* LCL_VAR int V55 tmp36
[000291] ---XG------- \--* FIELD int <tmp>5__3
[000290] ------------ \--* LCL_VAR byref V00 this
------------ BB49 [361..362) -> BB51 (cond), preds={} succs={BB50,BB51}
***** BB49
STMT00140 (IL 0x361... ???)
[000674] ---XG------- * JTRUE void
[000673] N--XG----U-- \--* NE int
[000671] ---XG------- +--* FIELD int _parsingFunction
[000289] ------------ | \--* LCL_VAR ref V02 loc1
[000672] ------------ \--* CNS_INT int 21
------------ BB50 [361..362) -> BB52 (always), preds={} succs={BB52}
***** BB50
STMT00146 (IL 0x361... ???)
[000700] -A-XG------- * ASG int
[000699] ---XG--N---- +--* FIELD int _incReadState
[000697] ------------ | \--* LCL_VAR ref V02 loc1
[000698] ------------ \--* CNS_INT int 13
------------ BB51 [361..362), preds={} succs={BB52}
***** BB51
STMT00141 (IL 0x361... ???)
[000678] -A-XG------- * ASG int
[000677] ---XG--N---- +--* FIELD int _incReadState
[000675] ------------ | \--* LCL_VAR ref V02 loc1
[000676] ------------ \--* CNS_INT int 12
***** BB51
STMT00142 (IL 0x361... ???)
[000683] -A-XG------- * ASG int
[000682] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000679] ------------ | \--* LCL_VAR ref V02 loc1
[000681] ---XG------- \--* FIELD int _nextParsingFunction
[000680] ------------ \--* LCL_VAR ref V02 loc1
***** BB51
STMT00143 (IL 0x361... ???)
[000688] -A-XG------- * ASG int
[000687] ---XG--N---- +--* FIELD int _nextParsingFunction
[000684] ------------ | \--* LCL_VAR ref V02 loc1
[000686] ---XG------- \--* FIELD int _parsingFunction
[000685] ------------ \--* LCL_VAR ref V02 loc1
------------ BB52 [361..362), preds={} succs={BB53}
***** BB52
STMT00144 (IL 0x361... ???)
[000692] -A-XG------- * ASG int
[000691] ---XG--N---- +--* FIELD int _readValueOffset
[000689] ------------ | \--* LCL_VAR ref V02 loc1
[000690] ------------ \--* CNS_INT int 0
***** BB52
STMT00145 (IL 0x361... ???)
[000696] -A-XG------- * ASG int
[000695] ---XG--N---- +--* FIELD int _parsingFunction
[000693] ------------ | \--* LCL_VAR ref V02 loc1
[000694] ------------ \--* LCL_VAR int V55 tmp36
------------ BB53 [???..???) -> BB35 (always), preds={} succs={BB35}
***** BB53
STMT00058 (IL 0x36D... ???)
[000296] -A-XG------- * ASG int
[000295] ---XG--N---- +--* FIELD int _incReadState
[000293] ------------ | \--* LCL_VAR ref V02 loc1
[000294] ------------ \--* CNS_INT int 14
***** BB53
STMT00059 (IL 0x375...0x380)
[000301] -ACXG------- * ASG int
[000300] D------N---- +--* LCL_VAR int V03 loc2
[000299] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000298] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000297] ------------ \--* LCL_VAR ref V02 loc1
------------ BB33 [383..3B5), preds={} succs={BB54}
***** BB33
STMT00155 (IL 0x383... ???)
[000735] -A-XG------- * ASG int
[000734] D------N---- +--* LCL_VAR int V56 tmp37
[000173] ---XG------- \--* FIELD int <tmp>5__3
[000172] ------------ \--* LCL_VAR byref V00 this
------------ BB54 [383..384) -> BB56 (cond), preds={} succs={BB55,BB56}
***** BB54
STMT00148 (IL 0x383... ???)
[000707] ---XG------- * JTRUE void
[000706] N--XG----U-- \--* NE int
[000704] ---XG------- +--* FIELD int _parsingFunction
[000171] ------------ | \--* LCL_VAR ref V02 loc1
[000705] ------------ \--* CNS_INT int 21
------------ BB55 [383..384) -> BB57 (always), preds={} succs={BB57}
***** BB55
STMT00154 (IL 0x383... ???)
[000733] -A-XG------- * ASG int
[000732] ---XG--N---- +--* FIELD int _incReadState
[000730] ------------ | \--* LCL_VAR ref V02 loc1
[000731] ------------ \--* CNS_INT int 13
------------ BB56 [383..384), preds={} succs={BB57}
***** BB56
STMT00149 (IL 0x383... ???)
[000711] -A-XG------- * ASG int
[000710] ---XG--N---- +--* FIELD int _incReadState
[000708] ------------ | \--* LCL_VAR ref V02 loc1
[000709] ------------ \--* CNS_INT int 12
***** BB56
STMT00150 (IL 0x383... ???)
[000716] -A-XG------- * ASG int
[000715] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000712] ------------ | \--* LCL_VAR ref V02 loc1
[000714] ---XG------- \--* FIELD int _nextParsingFunction
[000713] ------------ \--* LCL_VAR ref V02 loc1
***** BB56
STMT00151 (IL 0x383... ???)
[000721] -A-XG------- * ASG int
[000720] ---XG--N---- +--* FIELD int _nextParsingFunction
[000717] ------------ | \--* LCL_VAR ref V02 loc1
[000719] ---XG------- \--* FIELD int _parsingFunction
[000718] ------------ \--* LCL_VAR ref V02 loc1
------------ BB57 [383..384), preds={} succs={BB58}
***** BB57
STMT00152 (IL 0x383... ???)
[000725] -A-XG------- * ASG int
[000724] ---XG--N---- +--* FIELD int _readValueOffset
[000722] ------------ | \--* LCL_VAR ref V02 loc1
[000723] ------------ \--* CNS_INT int 0
***** BB57
STMT00153 (IL 0x383... ???)
[000729] -A-XG------- * ASG int
[000728] ---XG--N---- +--* FIELD int _parsingFunction
[000726] ------------ | \--* LCL_VAR ref V02 loc1
[000727] ------------ \--* LCL_VAR int V56 tmp37
------------ BB58 [???..???) -> BB07 (always), preds={} succs={BB07}
***** BB58
STMT00035 (IL 0x38F... ???)
[000182] -A-XG------- * ASG byref
[000181] D------N---- +--* LCL_VAR byref V24 tmp5
[000177] ---XG------- \--* ADDR byref
[000176] ---XG------- \--* FIELD struct _incReadLineInfo
[000175] ------------ \--* LCL_VAR ref V02 loc1
***** BB58
STMT00156 (IL 0x38F... ???)
[000744] -A-XG------- * ASG ref
[000743] D------N---- +--* LCL_VAR ref V57 tmp38
[000179] ---XG------- \--* FIELD ref _curNode
[000178] ------------ \--* LCL_VAR ref V02 loc1
***** BB58
STMT00157 (IL 0x38F... ???)
[000742] ---X-------- * NULLCHECK byte
[000741] ------------ \--* LCL_VAR ref V57 tmp38
***** BB58
STMT00037 (IL ???... ???)
[000189] -AC--------- * ASG int
[000188] D------N---- +--* LCL_VAR int V25 tmp6
[000740] ---XG------- \--* FIELD int lineNo
[000739] ---XG------- \--* ADDR byref
[000738] ---XG------- \--* FIELD struct lineInfo
[000737] ------------ \--* LCL_VAR ref V57 tmp38
***** BB58
STMT00158 (IL ???... ???)
[000753] -A-XG------- * ASG ref
[000752] D------N---- +--* LCL_VAR ref V58 tmp39
[000186] ---XG------- \--* FIELD ref _curNode
[000185] ------------ \--* LCL_VAR ref V02 loc1
***** BB58
STMT00159 (IL ???... ???)
[000751] ---X-------- * NULLCHECK byte
[000750] ------------ \--* LCL_VAR ref V58 tmp39
***** BB58
STMT00162 (IL ???... ???)
[000762] -A-XG------- * ASG int
[000761] D------N---- +--* LCL_VAR int V59 tmp40
[000749] ---XG------- \--* FIELD int linePos
[000748] ---XG------- \--* ADDR byref
[000747] ---XG------- \--* FIELD struct lineInfo
[000746] ------------ \--* LCL_VAR ref V58 tmp39
***** BB58
STMT00160 (IL ???... ???)
[000756] -A-XG------- * ASG int
[000755] ---XG--N---- +--* FIELD int lineNo
[000183] ------------ | \--* LCL_VAR byref V24 tmp5
[000190] ------------ \--* LCL_VAR int V25 tmp6
***** BB58
STMT00161 (IL ???... ???)
[000760] -A-XG------- * ASG int
[000759] ---XG--N---- +--* FIELD int linePos
[000757] ------------ | \--* LCL_VAR byref V24 tmp5
[000758] ------------ \--* LCL_VAR int V59 tmp40
------------ BB34 [3B5..3CE) -> BB36 (cret), preds={} succs={BB36}
***** BB34
STMT00098 (IL 0x3B5...0x3B5)
[000505] -A---O------ * ASG ref
[000504] D------N---- +--* LCL_VAR ref V32 tmp13
[000009] -----O------ \--* CATCH_ARG ref
***** BB34
STMT00099 (IL ???... ???)
[000508] -A---------- * ASG ref
[000507] D------N---- +--* LCL_VAR ref V18 loc17
[000506] ------------ \--* LCL_VAR ref V32 tmp13
***** BB34
STMT00100 (IL 0x3B7...0x3BA)
[000512] -A-XG------- * ASG int
[000511] ---XG--N---- +--* FIELD int <>1__state
[000509] ------------ | \--* LCL_VAR byref V00 this
[000510] ------------ \--* CNS_INT int -2
***** BB34
STMT00101 (IL 0x3BF...0x3CC)
[000517] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException
[000515] ---XG------- this in rcx +--* ADDR byref
[000514] ---XG------- | \--* FIELD struct <>t__builder
[000513] ------------ | \--* LCL_VAR byref V00 this
[000516] ------------ arg1 \--* LCL_VAR ref V18 loc17
------------ BB35 [3CE..3E2), preds={} succs={BB36}
***** BB35
STMT00050 (IL 0x3CE...0x3D1)
[000254] -A-XG------- * ASG int
[000253] ---XG--N---- +--* FIELD int <>1__state
[000251] ------------ | \--* LCL_VAR byref V00 this
[000252] ------------ \--* CNS_INT int -2
***** BB35
STMT00051 (IL 0x3D6...0x3DD)
[000259] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult
[000257] ---XG------- this in rcx +--* ADDR byref
[000256] ---XG------- | \--* FIELD struct <>t__builder
[000255] ------------ | \--* LCL_VAR byref V00 this
[000258] ------------ arg1 \--* LCL_VAR int V03 loc2
------------ BB36 [3E2..3E3) (return), preds={} succs={}
***** BB36
STMT00052 (IL 0x3E2...0x3E2)
[000260] ------------ * RETURN void
-------------------------------------------------------------------------------------------------------------------
*************** 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 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 1 [02C..049) T2 i
BB07 [0006] 2 2 1 [049..050) T2 i bwd
BB08 [0007] 1 0 1 [050..06F) T0 try { keep i try label bwd
BB37 [0036] 1 0 1 [050..051)-> BB39 ( cond ) T0 i bwd
BB38 [0037] 1 0 1 [050..051)-> BB40 (always) T0 i bwd
BB39 [0038] 1 0 1 [050..051) T0 i idxlen bwd
BB40 [0039] 1 0 1 [???..???)-> BB10 (always) T0 } keep internal label idxlen bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (always) T2 i idxlen nullcheck bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 1 [337..354) T2 i bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 1 [361..383) T2 i bwd
BB49 [0048] 1 2 1 [361..362)-> BB51 ( cond ) T2 i bwd
BB50 [0049] 1 2 0.50 [361..362)-> BB52 (always) T2 i bwd
BB51 [0050] 1 2 0.50 [361..362) T2 i bwd
BB52 [0051] 2 2 1 [361..362) T2 i bwd
BB53 [0052] 1 2 1 [???..???)-> BB35 (always) T2 internal bwd
BB33 [0032] 1 2 1 [383..3B5) T2 i bwd
BB54 [0053] 1 2 1 [383..384)-> BB56 ( cond ) T2 i bwd
BB55 [0054] 1 2 0.50 [383..384)-> BB57 (always) T2 i bwd
BB56 [0055] 1 2 0.50 [383..384) T2 i bwd
BB57 [0056] 2 2 1 [383..384) T2 i bwd
BB58 [0057] 1 2 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 ( cret ) H2 catch { } keep i label target
BB35 [0034] 4 1 [3CE..3E2) i
BB36 [0035] 4 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB40 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB58 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
*************** Finishing PHASE Morph - Add internal blocks
*************** Starting PHASE Remove empty try
*************** In fgRemoveEmptyTry()
*************** Before fgRemoveEmptyTry()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 1 [02C..049) T2 i
BB07 [0006] 2 2 1 [049..050) T2 i bwd
BB08 [0007] 1 0 1 [050..06F) T0 try { keep i try label bwd
BB37 [0036] 1 0 1 [050..051)-> BB39 ( cond ) T0 i bwd
BB38 [0037] 1 0 1 [050..051)-> BB40 (always) T0 i bwd
BB39 [0038] 1 0 1 [050..051) T0 i idxlen bwd
BB40 [0039] 1 0 1 [???..???)-> BB10 (always) T0 } keep internal label idxlen bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (always) T2 i idxlen nullcheck bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 1 [337..354) T2 i bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 1 [361..383) T2 i bwd
BB49 [0048] 1 2 1 [361..362)-> BB51 ( cond ) T2 i bwd
BB50 [0049] 1 2 0.50 [361..362)-> BB52 (always) T2 i bwd
BB51 [0050] 1 2 0.50 [361..362) T2 i bwd
BB52 [0051] 2 2 1 [361..362) T2 i bwd
BB53 [0052] 1 2 1 [???..???)-> BB35 (always) T2 internal bwd
BB33 [0032] 1 2 1 [383..3B5) T2 i bwd
BB54 [0053] 1 2 1 [383..384)-> BB56 ( cond ) T2 i bwd
BB55 [0054] 1 2 0.50 [383..384)-> BB57 (always) T2 i bwd
BB56 [0055] 1 2 0.50 [383..384) T2 i bwd
BB57 [0056] 2 2 1 [383..384) T2 i bwd
BB58 [0057] 1 2 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 ( cret ) H2 catch { } keep i label target
BB35 [0034] 4 1 [3CE..3E2) i
BB36 [0035] 4 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB40 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB58 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
EH#0 is not a try-finally; skipping.
EH#1 is not a try-finally; skipping.
EH#2 is not a try-finally; skipping.
*************** Finishing PHASE Remove empty try
*************** Starting PHASE Remove empty finally
*************** In fgRemoveEmptyFinally()
*************** Before fgRemoveEmptyFinally()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 1 [02C..049) T2 i
BB07 [0006] 2 2 1 [049..050) T2 i bwd
BB08 [0007] 1 0 1 [050..06F) T0 try { keep i try label bwd
BB37 [0036] 1 0 1 [050..051)-> BB39 ( cond ) T0 i bwd
BB38 [0037] 1 0 1 [050..051)-> BB40 (always) T0 i bwd
BB39 [0038] 1 0 1 [050..051) T0 i idxlen bwd
BB40 [0039] 1 0 1 [???..???)-> BB10 (always) T0 } keep internal label idxlen bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (always) T2 i idxlen nullcheck bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 1 [337..354) T2 i bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 1 [361..383) T2 i bwd
BB49 [0048] 1 2 1 [361..362)-> BB51 ( cond ) T2 i bwd
BB50 [0049] 1 2 0.50 [361..362)-> BB52 (always) T2 i bwd
BB51 [0050] 1 2 0.50 [361..362) T2 i bwd
BB52 [0051] 2 2 1 [361..362) T2 i bwd
BB53 [0052] 1 2 1 [???..???)-> BB35 (always) T2 internal bwd
BB33 [0032] 1 2 1 [383..3B5) T2 i bwd
BB54 [0053] 1 2 1 [383..384)-> BB56 ( cond ) T2 i bwd
BB55 [0054] 1 2 0.50 [383..384)-> BB57 (always) T2 i bwd
BB56 [0055] 1 2 0.50 [383..384) T2 i bwd
BB57 [0056] 2 2 1 [383..384) T2 i bwd
BB58 [0057] 1 2 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 ( cret ) H2 catch { } keep i label target
BB35 [0034] 4 1 [3CE..3E2) i
BB36 [0035] 4 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB40 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB58 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
EH#0 is not a try-finally; skipping.
EH#1 is not a try-finally; skipping.
EH#2 is not a try-finally; skipping.
*************** Finishing PHASE Remove empty finally
*************** Starting PHASE Merge callfinally chains
*************** In fgMergeFinallyChains()
*************** Before fgMergeFinallyChains()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 1 [02C..049) T2 i
BB07 [0006] 2 2 1 [049..050) T2 i bwd
BB08 [0007] 1 0 1 [050..06F) T0 try { keep i try label bwd
BB37 [0036] 1 0 1 [050..051)-> BB39 ( cond ) T0 i bwd
BB38 [0037] 1 0 1 [050..051)-> BB40 (always) T0 i bwd
BB39 [0038] 1 0 1 [050..051) T0 i idxlen bwd
BB40 [0039] 1 0 1 [???..???)-> BB10 (always) T0 } keep internal label idxlen bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (always) T2 i idxlen nullcheck bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 1 [337..354) T2 i bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 1 [361..383) T2 i bwd
BB49 [0048] 1 2 1 [361..362)-> BB51 ( cond ) T2 i bwd
BB50 [0049] 1 2 0.50 [361..362)-> BB52 (always) T2 i bwd
BB51 [0050] 1 2 0.50 [361..362) T2 i bwd
BB52 [0051] 2 2 1 [361..362) T2 i bwd
BB53 [0052] 1 2 1 [???..???)-> BB35 (always) T2 internal bwd
BB33 [0032] 1 2 1 [383..3B5) T2 i bwd
BB54 [0053] 1 2 1 [383..384)-> BB56 ( cond ) T2 i bwd
BB55 [0054] 1 2 0.50 [383..384)-> BB57 (always) T2 i bwd
BB56 [0055] 1 2 0.50 [383..384) T2 i bwd
BB57 [0056] 2 2 1 [383..384) T2 i bwd
BB58 [0057] 1 2 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 ( cret ) H2 catch { } keep i label target
BB35 [0034] 4 1 [3CE..3E2) i
BB36 [0035] 4 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB40 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB58 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
Method does not have any try-finallys; no merging.
*************** Finishing PHASE Merge callfinally chains
*************** Starting PHASE Clone finally
*************** In fgCloneFinally()
*************** Before fgCloneFinally()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 1 [02C..049) T2 i
BB07 [0006] 2 2 1 [049..050) T2 i bwd
BB08 [0007] 1 0 1 [050..06F) T0 try { keep i try label bwd
BB37 [0036] 1 0 1 [050..051)-> BB39 ( cond ) T0 i bwd
BB38 [0037] 1 0 1 [050..051)-> BB40 (always) T0 i bwd
BB39 [0038] 1 0 1 [050..051) T0 i idxlen bwd
BB40 [0039] 1 0 1 [???..???)-> BB10 (always) T0 } keep internal label idxlen bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (always) T2 i idxlen nullcheck bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 1 [337..354) T2 i bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 1 [361..383) T2 i bwd
BB49 [0048] 1 2 1 [361..362)-> BB51 ( cond ) T2 i bwd
BB50 [0049] 1 2 0.50 [361..362)-> BB52 (always) T2 i bwd
BB51 [0050] 1 2 0.50 [361..362) T2 i bwd
BB52 [0051] 2 2 1 [361..362) T2 i bwd
BB53 [0052] 1 2 1 [???..???)-> BB35 (always) T2 internal bwd
BB33 [0032] 1 2 1 [383..3B5) T2 i bwd
BB54 [0053] 1 2 1 [383..384)-> BB56 ( cond ) T2 i bwd
BB55 [0054] 1 2 0.50 [383..384)-> BB57 (always) T2 i bwd
BB56 [0055] 1 2 0.50 [383..384) T2 i bwd
BB57 [0056] 2 2 1 [383..384) T2 i bwd
BB58 [0057] 1 2 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 ( cret ) H2 catch { } keep i label target
BB35 [0034] 4 1 [3CE..3E2) i
BB36 [0035] 4 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB40 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB58 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
EH#0 is not a try-finally; skipping.
EH#1 is not a try-finally; skipping.
EH#2 is not a try-finally; skipping.
*************** Finishing PHASE Clone finally
*************** 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 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB16 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB30 ( cond ) T2 i
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 1 [025..02C)-> BB35 (always) T2 i
BB06 [0005] 1 2 1 [02C..049) T2 i
BB07 [0006] 2 2 1 [049..050) T2 i bwd
BB08 [0007] 1 0 1 [050..06F) T0 try { keep i try label bwd
BB37 [0036] 1 0 1 [050..051)-> BB39 ( cond ) T0 i bwd
BB38 [0037] 1 0 1 [050..051)-> BB40 (always) T0 i bwd
BB39 [0038] 1 0 1 [050..051) T0 i idxlen bwd
BB40 [0039] 1 0 1 [???..???)-> BB10 (always) T0 } keep internal label idxlen bwd
BB09 [0008] 1 2 0 1 [06F..0B1)-> BB10 ( cret ) T2 H0 catch { } keep i label target bwd
BB10 [0009] 2 2 1 [0B1..0D1)-> BB12 ( cond ) T2 i bwd
BB11 [0010] 1 2 1 [0D1..0E2)-> BB35 (always) T2 i bwd
BB12 [0011] 1 2 1 [0E2..0EF)-> BB28 ( cond ) T2 i bwd
BB13 [0012] 1 2 1 [0EF..10D)-> BB21 (always) T2 i bwd
BB14 [0013] 1 2 1 [10D..157)-> BB17 ( cond ) T2 i bwd
BB15 [0014] 1 2 1 [157..17B)-> BB36 (always) T2 i bwd
BB16 [0015] 1 2 1 [17B..198) T2 i bwd
BB17 [0016] 2 2 1 [198..1C9) T2 i bwd
BB18 [0017] 1 1 1 [1C9..1EE)-> BB20 (always) T1 try { } keep i try label bwd
BB19 [0018] 1 2 1 1 [1EE..210)-> BB20 ( cret ) T2 H1 catch { } keep i label target bwd
BB20 [0019] 2 2 1 [210..21B) T2 i bwd
BB21 [0020] 2 2 1 [21B..228)-> BB23 ( cond ) T2 i bwd
BB22 [0021] 1 2 1 [228..22F)-> BB14 ( cond ) T2 i bwd
BB23 [0022] 2 2 1 [22F..234)-> BB25 ( cond ) T2 i bwd
BB24 [0023] 1 2 1 [234..238)-> BB26 (always) T2 i bwd
BB25 [0024] 1 2 1 [238..23A) T2 i bwd
BB26 [0025] 2 2 1 [23A..253)-> BB28 ( cond ) T2 i bwd
BB27 [0026] 1 2 1 [253..2CE)-> BB35 (always) T2 i idxlen nullcheck bwd
BB28 [0027] 2 2 1 [2CE..313)-> BB31 ( cond ) T2 i bwd
BB29 [0028] 1 2 1 [313..337)-> BB36 (always) T2 i bwd
BB30 [0029] 1 2 1 [337..354) T2 i bwd
BB31 [0030] 2 2 1 [354..361)-> BB33 ( cond ) T2 i bwd
BB32 [0031] 1 2 1 [361..383) T2 i bwd
BB49 [0048] 1 2 1 [361..362)-> BB51 ( cond ) T2 i bwd
BB50 [0049] 1 2 0.50 [361..362)-> BB52 (always) T2 i bwd
BB51 [0050] 1 2 0.50 [361..362) T2 i bwd
BB52 [0051] 2 2 1 [361..362) T2 i bwd
BB53 [0052] 1 2 1 [???..???)-> BB35 (always) T2 internal bwd
BB33 [0032] 1 2 1 [383..3B5) T2 i bwd
BB54 [0053] 1 2 1 [383..384)-> BB56 ( cond ) T2 i bwd
BB55 [0054] 1 2 0.50 [383..384)-> BB57 (always) T2 i bwd
BB56 [0055] 1 2 0.50 [383..384) T2 i bwd
BB57 [0056] 2 2 1 [383..384) T2 i bwd
BB58 [0057] 1 2 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB34 [0033] 1 2 1 [3B5..3CE)-> BB36 ( cret ) H2 catch { } keep i label target
BB35 [0034] 4 1 [3CE..3E2) i
BB36 [0035] 4 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB40 [050..06F), Handler at BB09..BB09 [06F..0B1)
1 :: 2 - Try at BB18..BB18 [1C9..1EE), Handler at BB19..BB19 [1EE..210)
2 :: - Try at BB02..BB58 [00E..3B5), Handler at BB34..BB34 [3B5..3CE)
Renumber BB37 to BB09
Renumber BB38 to BB10
Renumber BB39 to BB11
Renumber BB40 to BB12
Renumber BB09 to BB13
Renumber BB10 to BB14
Renumber BB11 to BB15
Renumber BB12 to BB16
Renumber BB13 to BB17
Renumber BB14 to BB18
Renumber BB15 to BB19
Renumber BB16 to BB20
Renumber BB17 to BB21
Renumber BB18 to BB22
Renumber BB19 to BB23
Renumber BB20 to BB24
Renumber BB21 to BB25
Renumber BB22 to BB26
Renumber BB23 to BB27
Renumber BB24 to BB28
Renumber BB25 to BB29
Renumber BB26 to BB30
Renumber BB27 to BB31
Renumber BB28 to BB32
Renumber BB29 to BB33
Renumber BB30 to BB34
Renumber BB31 to BB35
Renumber BB32 to BB36
Renumber BB49 to BB37
Renumber BB50 to BB38
Renumber BB51 to BB39
Renumber BB52 to BB40
Renumber BB53 to BB41
Renumber BB33 to BB42
Renumber BB54 to BB43
Renumber BB55 to BB44
Renumber BB56 to BB45
Renumber BB57 to BB46
Renumber BB58 to BB47
Renumber BB34 to BB48
Renumber BB35 to BB49
Renumber BB36 to BB50
*************** After renumbering the basic blocks
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB20 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB34 ( cond ) T2 i
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 1 [025..02C)-> BB49 (always) T2 i
BB06 [0005] 1 2 1 [02C..049) T2 i
BB07 [0006] 2 2 1 [049..050) T2 i bwd
BB08 [0007] 1 0 1 [050..06F) T0 try { keep i try label bwd
BB09 [0036] 1 0 1 [050..051)-> BB11 ( cond ) T0 i bwd
BB10 [0037] 1 0 1 [050..051)-> BB12 (always) T0 i bwd
BB11 [0038] 1 0 1 [050..051) T0 i idxlen bwd
BB12 [0039] 1 0 1 [???..???)-> BB14 (always) T0 } keep internal label idxlen bwd
BB13 [0008] 1 2 0 1 [06F..0B1)-> BB14 ( cret ) T2 H0 catch { } keep i label target bwd
BB14 [0009] 2 2 1 [0B1..0D1)-> BB16 ( cond ) T2 i bwd
BB15 [0010] 1 2 1 [0D1..0E2)-> BB49 (always) T2 i bwd
BB16 [0011] 1 2 1 [0E2..0EF)-> BB32 ( cond ) T2 i bwd
BB17 [0012] 1 2 1 [0EF..10D)-> BB25 (always) T2 i bwd
BB18 [0013] 1 2 1 [10D..157)-> BB21 ( cond ) T2 i bwd
BB19 [0014] 1 2 1 [157..17B)-> BB50 (always) T2 i bwd
BB20 [0015] 1 2 1 [17B..198) T2 i bwd
BB21 [0016] 2 2 1 [198..1C9) T2 i bwd
BB22 [0017] 1 1 1 [1C9..1EE)-> BB24 (always) T1 try { } keep i try label bwd
BB23 [0018] 1 2 1 1 [1EE..210)-> BB24 ( cret ) T2 H1 catch { } keep i label target bwd
BB24 [0019] 2 2 1 [210..21B) T2 i bwd
BB25 [0020] 2 2 1 [21B..228)-> BB27 ( cond ) T2 i bwd
BB26 [0021] 1 2 1 [228..22F)-> BB18 ( cond ) T2 i bwd
BB27 [0022] 2 2 1 [22F..234)-> BB29 ( cond ) T2 i bwd
BB28 [0023] 1 2 1 [234..238)-> BB30 (always) T2 i bwd
BB29 [0024] 1 2 1 [238..23A) T2 i bwd
BB30 [0025] 2 2 1 [23A..253)-> BB32 ( cond ) T2 i bwd
BB31 [0026] 1 2 1 [253..2CE)-> BB49 (always) T2 i idxlen nullcheck bwd
BB32 [0027] 2 2 1 [2CE..313)-> BB35 ( cond ) T2 i bwd
BB33 [0028] 1 2 1 [313..337)-> BB50 (always) T2 i bwd
BB34 [0029] 1 2 1 [337..354) T2 i bwd
BB35 [0030] 2 2 1 [354..361)-> BB42 ( cond ) T2 i bwd
BB36 [0031] 1 2 1 [361..383) T2 i bwd
BB37 [0048] 1 2 1 [361..362)-> BB39 ( cond ) T2 i bwd
BB38 [0049] 1 2 0.50 [361..362)-> BB40 (always) T2 i bwd
BB39 [0050] 1 2 0.50 [361..362) T2 i bwd
BB40 [0051] 2 2 1 [361..362) T2 i bwd
BB41 [0052] 1 2 1 [???..???)-> BB49 (always) T2 internal bwd
BB42 [0032] 1 2 1 [383..3B5) T2 i bwd
BB43 [0053] 1 2 1 [383..384)-> BB45 ( cond ) T2 i bwd
BB44 [0054] 1 2 0.50 [383..384)-> BB46 (always) T2 i bwd
BB45 [0055] 1 2 0.50 [383..384) T2 i bwd
BB46 [0056] 2 2 1 [383..384) T2 i bwd
BB47 [0057] 1 2 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB48 [0033] 1 2 1 [3B5..3CE)-> BB50 ( cret ) H2 catch { } keep i label target
BB49 [0034] 4 1 [3CE..3E2) i
BB50 [0035] 4 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB12 [050..06F), Handler at BB13..BB13 [06F..0B1)
1 :: 2 - Try at BB22..BB22 [1C9..1EE), Handler at BB23..BB23 [1EE..210)
2 :: - Try at BB02..BB47 [00E..3B5), Handler at BB48..BB48 [3B5..3CE)
New BlockSet epoch 2, # of blocks (including unused BB00): 51, bitset array size: 1 (short)
*************** In fgComputePreds()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i
BB02 [0001] 1 2 1 [00E..014)-> BB20 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 1 [014..01B)-> BB34 ( cond ) T2 i
BB04 [0003] 1 2 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 1 [025..02C)-> BB49 (always) T2 i
BB06 [0005] 1 2 1 [02C..049) T2 i
BB07 [0006] 2 2 1 [049..050) T2 i bwd
BB08 [0007] 1 0 1 [050..06F) T0 try { keep i try label bwd
BB09 [0036] 1 0 1 [050..051)-> BB11 ( cond ) T0 i bwd
BB10 [0037] 1 0 1 [050..051)-> BB12 (always) T0 i bwd
BB11 [0038] 1 0 1 [050..051) T0 i idxlen bwd
BB12 [0039] 1 0 1 [???..???)-> BB14 (always) T0 } keep internal label idxlen bwd
BB13 [0008] 1 2 0 1 [06F..0B1)-> BB14 ( cret ) T2 H0 catch { } keep i label target bwd
BB14 [0009] 2 2 1 [0B1..0D1)-> BB16 ( cond ) T2 i bwd
BB15 [0010] 1 2 1 [0D1..0E2)-> BB49 (always) T2 i bwd
BB16 [0011] 1 2 1 [0E2..0EF)-> BB32 ( cond ) T2 i bwd
BB17 [0012] 1 2 1 [0EF..10D)-> BB25 (always) T2 i bwd
BB18 [0013] 1 2 1 [10D..157)-> BB21 ( cond ) T2 i bwd
BB19 [0014] 1 2 1 [157..17B)-> BB50 (always) T2 i bwd
BB20 [0015] 1 2 1 [17B..198) T2 i bwd
BB21 [0016] 2 2 1 [198..1C9) T2 i bwd
BB22 [0017] 1 1 1 [1C9..1EE)-> BB24 (always) T1 try { } keep i try label bwd
BB23 [0018] 1 2 1 1 [1EE..210)-> BB24 ( cret ) T2 H1 catch { } keep i label target bwd
BB24 [0019] 2 2 1 [210..21B) T2 i bwd
BB25 [0020] 2 2 1 [21B..228)-> BB27 ( cond ) T2 i bwd
BB26 [0021] 1 2 1 [228..22F)-> BB18 ( cond ) T2 i bwd
BB27 [0022] 2 2 1 [22F..234)-> BB29 ( cond ) T2 i bwd
BB28 [0023] 1 2 1 [234..238)-> BB30 (always) T2 i bwd
BB29 [0024] 1 2 1 [238..23A) T2 i bwd
BB30 [0025] 2 2 1 [23A..253)-> BB32 ( cond ) T2 i bwd
BB31 [0026] 1 2 1 [253..2CE)-> BB49 (always) T2 i idxlen nullcheck bwd
BB32 [0027] 2 2 1 [2CE..313)-> BB35 ( cond ) T2 i bwd
BB33 [0028] 1 2 1 [313..337)-> BB50 (always) T2 i bwd
BB34 [0029] 1 2 1 [337..354) T2 i bwd
BB35 [0030] 2 2 1 [354..361)-> BB42 ( cond ) T2 i bwd
BB36 [0031] 1 2 1 [361..383) T2 i bwd
BB37 [0048] 1 2 1 [361..362)-> BB39 ( cond ) T2 i bwd
BB38 [0049] 1 2 0.50 [361..362)-> BB40 (always) T2 i bwd
BB39 [0050] 1 2 0.50 [361..362) T2 i bwd
BB40 [0051] 2 2 1 [361..362) T2 i bwd
BB41 [0052] 1 2 1 [???..???)-> BB49 (always) T2 internal bwd
BB42 [0032] 1 2 1 [383..3B5) T2 i bwd
BB43 [0053] 1 2 1 [383..384)-> BB45 ( cond ) T2 i bwd
BB44 [0054] 1 2 0.50 [383..384)-> BB46 (always) T2 i bwd
BB45 [0055] 1 2 0.50 [383..384) T2 i bwd
BB46 [0056] 2 2 1 [383..384) T2 i bwd
BB47 [0057] 1 2 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB48 [0033] 1 2 1 [3B5..3CE)-> BB50 ( cret ) H2 catch { } keep i label target
BB49 [0034] 4 1 [3CE..3E2) i
BB50 [0035] 4 1 [3E2..3E3) (return) i
-----------------------------------------------------------------------------------------------------------------------------------------
*************** After fgComputePreds()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i label target
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB20 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB34 ( cond ) T2 i
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB49 (always) T2 i
BB06 [0005] 1 2 BB04 1 [02C..049) T2 i label target
BB07 [0006] 2 2 BB06,BB47 1 [049..050) T2 i label target bwd
BB08 [0007] 1 0 BB07 1 [050..06F) T0 try { keep i try label bwd
BB09 [0036] 1 0 BB08 1 [050..051)-> BB11 ( cond ) T0 i bwd
BB10 [0037] 1 0 BB09 1 [050..051)-> BB12 (always) T0 i bwd
BB11 [0038] 1 0 BB09 1 [050..051) T0 i label target idxlen bwd
BB12 [0039] 2 0 BB10,BB11 1 [???..???)-> BB14 (always) T0 } keep internal label target idxlen bwd
BB13 [0008] 1 2 0 1 [06F..0B1)-> BB14 ( cret ) T2 H0 catch { } keep i label target bwd
BB14 [0009] 2 2 BB12,BB13 1 [0B1..0D1)-> BB16 ( cond ) T2 i label target bwd
BB15 [0010] 1 2 BB14 1 [0D1..0E2)-> BB49 (always) T2 i bwd
BB16 [0011] 1 2 BB14 1 [0E2..0EF)-> BB32 ( cond ) T2 i label target bwd
BB17 [0012] 1 2 BB16 1 [0EF..10D)-> BB25 (always) T2 i bwd
BB18 [0013] 1 2 BB26 1 [10D..157)-> BB21 ( cond ) T2 i label target bwd
BB19 [0014] 1 2 BB18 1 [157..17B)-> BB50 (always) T2 i bwd
BB20 [0015] 1 2 BB02 1 [17B..198) T2 i label target bwd
BB21 [0016] 2 2 BB18,BB20 1 [198..1C9) T2 i label target bwd
BB22 [0017] 1 1 BB21 1 [1C9..1EE)-> BB24 (always) T1 try { } keep i try label bwd
BB23 [0018] 1 2 1 1 [1EE..210)-> BB24 ( cret ) T2 H1 catch { } keep i label target bwd
BB24 [0019] 2 2 BB22,BB23 1 [210..21B) T2 i label target bwd
BB25 [0020] 2 2 BB17,BB24 1 [21B..228)-> BB27 ( cond ) T2 i label target bwd
BB26 [0021] 1 2 BB25 1 [228..22F)-> BB18 ( cond ) T2 i bwd
BB27 [0022] 2 2 BB25,BB26 1 [22F..234)-> BB29 ( cond ) T2 i label target bwd
BB28 [0023] 1 2 BB27 1 [234..238)-> BB30 (always) T2 i bwd
BB29 [0024] 1 2 BB27 1 [238..23A) T2 i label target bwd
BB30 [0025] 2 2 BB28,BB29 1 [23A..253)-> BB32 ( cond ) T2 i label target bwd
BB31 [0026] 1 2 BB30 1 [253..2CE)-> BB49 (always) T2 i idxlen nullcheck bwd
BB32 [0027] 2 2 BB16,BB30 1 [2CE..313)-> BB35 ( cond ) T2 i label target bwd
BB33 [0028] 1 2 BB32 1 [313..337)-> BB50 (always) T2 i bwd
BB34 [0029] 1 2 BB03 1 [337..354) T2 i label target bwd
BB35 [0030] 2 2 BB32,BB34 1 [354..361)-> BB42 ( cond ) T2 i label target bwd
BB36 [0031] 1 2 BB35 1 [361..383) T2 i bwd
BB37 [0048] 1 2 BB36 1 [361..362)-> BB39 ( cond ) T2 i bwd
BB38 [0049] 1 2 BB37 0.50 [361..362)-> BB40 (always) T2 i bwd
BB39 [0050] 1 2 BB37 0.50 [361..362) T2 i label target bwd
BB40 [0051] 2 2 BB38,BB39 1 [361..362) T2 i label target bwd
BB41 [0052] 1 2 BB40 1 [???..???)-> BB49 (always) T2 internal bwd
BB42 [0032] 1 2 BB35 1 [383..3B5) T2 i label target bwd
BB43 [0053] 1 2 BB42 1 [383..384)-> BB45 ( cond ) T2 i bwd
BB44 [0054] 1 2 BB43 0.50 [383..384)-> BB46 (always) T2 i bwd
BB45 [0055] 1 2 BB43 0.50 [383..384) T2 i label target bwd
BB46 [0056] 2 2 BB44,BB45 1 [383..384) T2 i label target bwd
BB47 [0057] 1 2 BB46 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB48 [0033] 1 2 1 [3B5..3CE)-> BB50 ( cret ) H2 catch { } keep i label target
BB49 [0034] 4 BB05,BB15,BB31,BB41 1 [3CE..3E2) i label target
BB50 [0035] 4 BB19,BB33,BB48,BB49 1 [3E2..3E3) (return) i label target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Finishing PHASE Compute preds
*************** Starting PHASE Update flow graph early pass
*************** In fgUpdateFlowGraph()
Before updating the flow graph:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i label target
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB20 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB34 ( cond ) T2 i
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB49 (always) T2 i
BB06 [0005] 1 2 BB04 1 [02C..049) T2 i label target
BB07 [0006] 2 2 BB06,BB47 1 [049..050) T2 i label target bwd
BB08 [0007] 1 0 BB07 1 [050..06F) T0 try { keep i try label bwd
BB09 [0036] 1 0 BB08 1 [050..051)-> BB11 ( cond ) T0 i bwd
BB10 [0037] 1 0 BB09 1 [050..051)-> BB12 (always) T0 i bwd
BB11 [0038] 1 0 BB09 1 [050..051) T0 i label target idxlen bwd
BB12 [0039] 2 0 BB10,BB11 1 [???..???)-> BB14 (always) T0 } keep internal label target idxlen bwd
BB13 [0008] 1 2 0 1 [06F..0B1)-> BB14 ( cret ) T2 H0 catch { } keep i label target bwd
BB14 [0009] 2 2 BB12,BB13 1 [0B1..0D1)-> BB16 ( cond ) T2 i label target bwd
BB15 [0010] 1 2 BB14 1 [0D1..0E2)-> BB49 (always) T2 i bwd
BB16 [0011] 1 2 BB14 1 [0E2..0EF)-> BB32 ( cond ) T2 i label target bwd
BB17 [0012] 1 2 BB16 1 [0EF..10D)-> BB25 (always) T2 i bwd
BB18 [0013] 1 2 BB26 1 [10D..157)-> BB21 ( cond ) T2 i label target bwd
BB19 [0014] 1 2 BB18 1 [157..17B)-> BB50 (always) T2 i bwd
BB20 [0015] 1 2 BB02 1 [17B..198) T2 i label target bwd
BB21 [0016] 2 2 BB18,BB20 1 [198..1C9) T2 i label target bwd
BB22 [0017] 1 1 BB21 1 [1C9..1EE)-> BB24 (always) T1 try { } keep i try label bwd
BB23 [0018] 1 2 1 1 [1EE..210)-> BB24 ( cret ) T2 H1 catch { } keep i label target bwd
BB24 [0019] 2 2 BB22,BB23 1 [210..21B) T2 i label target bwd
BB25 [0020] 2 2 BB17,BB24 1 [21B..228)-> BB27 ( cond ) T2 i label target bwd
BB26 [0021] 1 2 BB25 1 [228..22F)-> BB18 ( cond ) T2 i bwd
BB27 [0022] 2 2 BB25,BB26 1 [22F..234)-> BB29 ( cond ) T2 i label target bwd
BB28 [0023] 1 2 BB27 1 [234..238)-> BB30 (always) T2 i bwd
BB29 [0024] 1 2 BB27 1 [238..23A) T2 i label target bwd
BB30 [0025] 2 2 BB28,BB29 1 [23A..253)-> BB32 ( cond ) T2 i label target bwd
BB31 [0026] 1 2 BB30 1 [253..2CE)-> BB49 (always) T2 i idxlen nullcheck bwd
BB32 [0027] 2 2 BB16,BB30 1 [2CE..313)-> BB35 ( cond ) T2 i label target bwd
BB33 [0028] 1 2 BB32 1 [313..337)-> BB50 (always) T2 i bwd
BB34 [0029] 1 2 BB03 1 [337..354) T2 i label target bwd
BB35 [0030] 2 2 BB32,BB34 1 [354..361)-> BB42 ( cond ) T2 i label target bwd
BB36 [0031] 1 2 BB35 1 [361..383) T2 i bwd
BB37 [0048] 1 2 BB36 1 [361..362)-> BB39 ( cond ) T2 i bwd
BB38 [0049] 1 2 BB37 0.50 [361..362)-> BB40 (always) T2 i bwd
BB39 [0050] 1 2 BB37 0.50 [361..362) T2 i label target bwd
BB40 [0051] 2 2 BB38,BB39 1 [361..362) T2 i label target bwd
BB41 [0052] 1 2 BB40 1 [???..???)-> BB49 (always) T2 internal bwd
BB42 [0032] 1 2 BB35 1 [383..3B5) T2 i label target bwd
BB43 [0053] 1 2 BB42 1 [383..384)-> BB45 ( cond ) T2 i bwd
BB44 [0054] 1 2 BB43 0.50 [383..384)-> BB46 (always) T2 i bwd
BB45 [0055] 1 2 BB43 0.50 [383..384) T2 i label target bwd
BB46 [0056] 2 2 BB44,BB45 1 [383..384) T2 i label target bwd
BB47 [0057] 1 2 BB46 1 [???..???)-> BB07 (always) T2 } i internal nullcheck bwd
BB48 [0033] 1 2 1 [3B5..3CE)-> BB50 ( cret ) H2 catch { } keep i label target
BB49 [0034] 4 BB05,BB15,BB31,BB41 1 [3CE..3E2) i label target
BB50 [0035] 4 BB19,BB33,BB48,BB49 1 [3E2..3E3) (return) i label target
-----------------------------------------------------------------------------------------------------------------------------------------
Compacting blocks BB08 and BB09:
*************** In fgDebugCheckBBlist
Compacting blocks BB36 and BB37:
*************** In fgDebugCheckBBlist
Compacting blocks BB40 and BB41:
*************** In fgDebugCheckBBlist
Compacting blocks BB42 and BB43:
*************** In fgDebugCheckBBlist
Compacting blocks BB46 and BB47:
EH#2: New last block of try: BB46
*************** In fgDebugCheckBBlist
After updating the flow graph:
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds weight lp [IL range] [jump] [EH region] [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000] 1 1 [000..00E) i label target
BB02 [0001] 1 2 BB01 1 [00E..014)-> BB20 ( cond ) T2 try { keep i try label
BB03 [0002] 1 2 BB02 1 [014..01B)-> BB34 ( cond ) T2 i
BB04 [0003] 1 2 BB03 1 [01B..025)-> BB06 ( cond ) T2 i
BB05 [0004] 1 2 BB04 1 [025..02C)-> BB49 (always) T2 i
BB06 [0005] 1 2 BB04 1 [02C..049) T2 i label target
BB07 [0006] 2 2 BB06,BB46 1 [049..050) T2 i label target bwd
BB08 [0007] 1 0 BB07 1 [050..06F)-> BB11 ( cond ) T0 try { keep i try label bwd
BB10 [0037] 1 0 BB08 1 [050..051)-> BB12 (always) T0 i bwd
BB11 [0038] 1 0 BB08 1 [050..051) T0 i label target idxlen bwd
BB12 [0039] 2 0 BB10,BB11 1 [???..???)-> BB14 (always) T0 } keep internal label target idxlen bwd
BB13 [0008] 1 2 0 1 [06F..0B1)-> BB14 ( cret ) T2 H0 catch { } keep i label target bwd
BB14 [0009] 2 2 BB12,BB13 1 [0B1..0D1)-> BB16 ( cond ) T2 i label target bwd
BB15 [0010] 1 2 BB14 1 [0D1..0E2)-> BB49 (always) T2 i bwd
BB16 [0011] 1 2 BB14 1 [0E2..0EF)-> BB32 ( cond ) T2 i label target bwd
BB17 [0012] 1 2 BB16 1 [0EF..10D)-> BB25 (always) T2 i bwd
BB18 [0013] 1 2 BB26 1 [10D..157)-> BB21 ( cond ) T2 i label target bwd
BB19 [0014] 1 2 BB18 1 [157..17B)-> BB50 (always) T2 i bwd
BB20 [0015] 1 2 BB02 1 [17B..198) T2 i label target bwd
BB21 [0016] 2 2 BB18,BB20 1 [198..1C9) T2 i label target bwd
BB22 [0017] 1 1 BB21 1 [1C9..1EE)-> BB24 (always) T1 try { } keep i try label bwd
BB23 [0018] 1 2 1 1 [1EE..210)-> BB24 ( cret ) T2 H1 catch { } keep i label target bwd
BB24 [0019] 2 2 BB22,BB23 1 [210..21B) T2 i label target bwd
BB25 [0020] 2 2 BB17,BB24 1 [21B..228)-> BB27 ( cond ) T2 i label target bwd
BB26 [0021] 1 2 BB25 1 [228..22F)-> BB18 ( cond ) T2 i bwd
BB27 [0022] 2 2 BB25,BB26 1 [22F..234)-> BB29 ( cond ) T2 i label target bwd
BB28 [0023] 1 2 BB27 1 [234..238)-> BB30 (always) T2 i bwd
BB29 [0024] 1 2 BB27 1 [238..23A) T2 i label target bwd
BB30 [0025] 2 2 BB28,BB29 1 [23A..253)-> BB32 ( cond ) T2 i label target bwd
BB31 [0026] 1 2 BB30 1 [253..2CE)-> BB49 (always) T2 i idxlen nullcheck bwd
BB32 [0027] 2 2 BB16,BB30 1 [2CE..313)-> BB35 ( cond ) T2 i label target bwd
BB33 [0028] 1 2 BB32 1 [313..337)-> BB50 (always) T2 i bwd
BB34 [0029] 1 2 BB03 1 [337..354) T2 i label target bwd
BB35 [0030] 2 2 BB32,BB34 1 [354..361)-> BB42 ( cond ) T2 i label target bwd
BB36 [0031] 1 2 BB35 1 [361..383)-> BB39 ( cond ) T2 i bwd
BB38 [0049] 1 2 BB36 0.50 [361..362)-> BB40 (always) T2 i bwd
BB39 [0050] 1 2 BB36 0.50 [361..362) T2 i label target bwd
BB40 [0051] 2 2 BB38,BB39 1 [361..362)-> BB49 (always) T2 i label target bwd
BB42 [0032] 1 2 BB35 1 [383..3B5)-> BB45 ( cond ) T2 i label target bwd
BB44 [0054] 1 2 BB42 0.50 [383..384)-> BB46 (always) T2 i bwd
BB45 [0055] 1 2 BB42 0.50 [383..384) T2 i label target bwd
BB46 [0056] 2 2 BB44,BB45 1 [383..384)-> BB07 (always) T2 } i label target nullcheck bwd
BB48 [0033] 1 2 1 [3B5..3CE)-> BB50 ( cret ) H2 catch { } keep i label target
BB49 [0034] 4 BB05,BB15,BB31,BB40 1 [3CE..3E2) i label target
BB50 [0035] 4 BB19,BB33,BB48,BB49 1 [3E2..3E3) (return) i label target
-----------------------------------------------------------------------------------------------------------------------------------------
*************** Exception Handling table
index eTry, eHnd
0 :: 2 - Try at BB08..BB12 [050..06F), Handler at BB13..BB13 [06F..0B1)
1 :: 2 - Try at BB22..BB22 [1C9..1EE), Handler at BB23..BB23 [1EE..210)
2 :: - Try at BB02..BB46 [00E..3B5), Handler at BB48..BB48 [3B5..3CE)
*************** In fgDebugCheckBBlist
*************** Finishing PHASE Update flow graph early pass
*************** Starting PHASE Morph - Promote Structs
*************** In fgResetImplicitByRefRefCount()
*************** In fgPromoteStructs()
lvaTable before fgPromoteStructs
; Initial local variable assignments
;
; V00 this byref this
; V01 loc0 int
; V02 loc1 ref class-hnd
; V03 loc2 int
; V04 loc3 ref class-hnd
; V05 loc4 bool
; V06 loc5 int
; V07 loc6 int
; V08 loc7 int
; V09 loc8 struct (16)
; V10 loc9 struct (16)
; V11 loc10 struct (32) ld-addr-op
; V12 loc11 struct (32) ld-addr-op
; V13 loc12 struct (32) ld-addr-op
; V14 loc13 ref class-hnd
; V15 loc14 bool
; V16 loc15 struct (16) ld-addr-op
; V17 loc16 struct (16) ld-addr-op
; V18 loc17 ref class-hnd
; V19 OutArgs lclBlk (na) "OutgoingArgSpace"
; V20 tmp1 int "dup spill"
; V21 tmp2 ref
; V22 tmp3 ref
; V23 tmp4 int
; V24 tmp5 byref "impAppendStmt"
; V25 tmp6 int "impAppendStmt"
; V26 tmp7 ref class-hnd "impSpillSpecialSideEff"
; V27 tmp8 int "dup spill"
; V28 tmp9 byref "impAppendStmt"
; V29 tmp10 int "impAppendStmt"
; V30 tmp11 ref class-hnd "impSpillSpecialSideEff"
; V31 tmp12 int "dup spill"
; V32 tmp13 ref class-hnd "impSpillSpecialSideEff"
; V33 tmp14 int "Inline return value spill temp"
; V34 tmp15 ref class-hnd "Inlining Arg"
; V35 tmp16 ref class-hnd "Inlining Arg"
; V36 tmp17 int "Inlining Arg"
; V37 tmp18 ref class-hnd "Inlining Arg"
; V38 tmp19 ref class-hnd "Inlining Arg"
; V39 tmp20 byref "Inlining Arg"
; V40 tmp21 byref "Inlining Arg"
; V41 tmp22 int "Inlining Arg"
; V42 tmp23 ref class-hnd "Inlining Arg"
; V43 tmp24 ref class-hnd "Inlining Arg"
; V44 tmp25 int "Inlining Arg"
; V45 tmp26 ref class-hnd "Inlining Arg"
; V46 tmp27 int "Inlining Arg"
; V47 tmp28 byref pinned "Inline stloc first use temp"
; V48 tmp29 long "Inline stloc first use temp"
; V49 tmp30 bool "Inlining Arg"
; V50 tmp31 byref "Inlining Arg"
; V51 tmp32 ref class-hnd "Inlining Arg"
; V52 tmp33 int "Inlining Arg"
; V53 tmp34 int "Inlining Arg"
; V54 tmp35 byref "Inlining Arg"
; V55 tmp36 int "Inlining Arg"
; V56 tmp37 int "Inlining Arg"
; V57 tmp38 ref class-hnd "Inlining Arg"
; V58 tmp39 ref class-hnd "Inlining Arg"
; V59 tmp40 int "Inlining Arg"
Promoting struct local V09 ([S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>):
lvaGrabTemp returning 60 (V60 tmp41) (a long lifetime temp) called for field V09.Item1 (fldOffset=0x0).
lvaGrabTemp returning 61 (V61 tmp42) (a long lifetime temp) called for field V09.Item2 (fldOffset=0x4).
lvaGrabTemp returning 62 (V62 tmp43) (a long lifetime temp) called for field V09.Item3 (fldOffset=0x8).
lvaGrabTemp returning 63 (V63 tmp44) (a long lifetime temp) called for field V09.Item4 (fldOffset=0xc).
Not promoting promotable struct local V10: #fields = 4, fieldAccessed = 0.
Promoting struct local V16 ([S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>):
lvaGrabTemp returning 64 (V64 tmp45) (a long lifetime temp) called for field V16.m_task (fldOffset=0x0).
lvaGrabTemp returning 65 (V65 tmp46) (a long lifetime temp) called for field V16.m_continueOnCapturedContext (fldOffset=0x8).
lvaTable after fgPromoteStructs
; Initial local variable assignments
;
; V00 this byref this
; V01 loc0 int
; V02 loc1 ref class-hnd
; V03 loc2 int
; V04 loc3 ref class-hnd
; V05 loc4 bool
; V06 loc5 int
; V07 loc6 int
; V08 loc7 int
; V09 loc8 struct (16)
; V10 loc9 struct (16)
; V11 loc10 struct (32) ld-addr-op
; V12 loc11 struct (32) ld-addr-op
; V13 loc12 struct (32) ld-addr-op
; V14 loc13 ref class-hnd
; V15 loc14 bool
; V16 loc15 struct (16) ld-addr-op
; V17 loc16 struct (16) ld-addr-op
; V18 loc17 ref class-hnd
; V19 OutArgs lclBlk (na) "OutgoingArgSpace"
; V20 tmp1 int "dup spill"
; V21 tmp2 ref
; V22 tmp3 ref
; V23 tmp4 int
; V24 tmp5 byref "impAppendStmt"
; V25 tmp6 int "impAppendStmt"
; V26 tmp7 ref class-hnd "impSpillSpecialSideEff"
; V27 tmp8 int "dup spill"
; V28 tmp9 byref "impAppendStmt"
; V29 tmp10 int "impAppendStmt"
; V30 tmp11 ref class-hnd "impSpillSpecialSideEff"
; V31 tmp12 int "dup spill"
; V32 tmp13 ref class-hnd "impSpillSpecialSideEff"
; V33 tmp14 int "Inline return value spill temp"
; V34 tmp15 ref class-hnd "Inlining Arg"
; V35 tmp16 ref class-hnd "Inlining Arg"
; V36 tmp17 int "Inlining Arg"
; V37 tmp18 ref class-hnd "Inlining Arg"
; V38 tmp19 ref class-hnd "Inlining Arg"
; V39 tmp20 byref "Inlining Arg"
; V40 tmp21 byref "Inlining Arg"
; V41 tmp22 int "Inlining Arg"
; V42 tmp23 ref class-hnd "Inlining Arg"
; V43 tmp24 ref class-hnd "Inlining Arg"
; V44 tmp25 int "Inlining Arg"
; V45 tmp26 ref class-hnd "Inlining Arg"
; V46 tmp27 int "Inlining Arg"
; V47 tmp28 byref pinned "Inline stloc first use temp"
; V48 tmp29 long "Inline stloc first use temp"
; V49 tmp30 bool "Inlining Arg"
; V50 tmp31 byref "Inlining Arg"
; V51 tmp32 ref class-hnd "Inlining Arg"
; V52 tmp33 int "Inlining Arg"
; V53 tmp34 int "Inlining Arg"
; V54 tmp35 byref "Inlining Arg"
; V55 tmp36 int "Inlining Arg"
; V56 tmp37 int "Inlining Arg"
; V57 tmp38 ref class-hnd "Inlining Arg"
; V58 tmp39 ref class-hnd "Inlining Arg"
; V59 tmp40 int "Inlining Arg"
; V60 tmp41 int V09.Item1(offs=0x00) P-INDEP "field V09.Item1 (fldOffset=0x0)"
; V61 tmp42 int V09.Item2(offs=0x04) P-INDEP "field V09.Item2 (fldOffset=0x4)"
; V62 tmp43 int V09.Item3(offs=0x08) P-INDEP "field V09.Item3 (fldOffset=0x8)"
; V63 tmp44 bool V09.Item4(offs=0x0c) P-INDEP "field V09.Item4 (fldOffset=0xc)"
; V64 tmp45 ref V16.m_task(offs=0x00) P-INDEP "field V16.m_task (fldOffset=0x0)"
; V65 tmp46 bool V16.m_continueOnCapturedContext(offs=0x08) P-INDEP "field V16.m_continueOnCapturedContext (fldOffset=0x8)"
*************** Finishing PHASE Morph - Promote Structs
*************** Starting PHASE Morph - Structs/AddrExp
*************** In fgMarkAddressExposedLocals()
LocalAddressVisitor visiting statement:
STMT00000 (IL 0x000...0x006)
[000003] -A-XG------- * ASG int
[000002] D------N---- +--* LCL_VAR int V01 loc0
[000001] ---XG------- \--* FIELD int <>1__state
[000000] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00001 (IL 0x007...0x00D)
[000007] -A-XG------- * ASG ref
[000006] D------N---- +--* LCL_VAR ref V02 loc1
[000005] ---XG------- \--* FIELD ref <>4__this
[000004] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00002 (IL 0x00E...0x00F)
[000013] ------------ * JTRUE void
[000012] ------------ \--* EQ int
[000010] ------------ +--* LCL_VAR int V01 loc0
[000011] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00089 (IL 0x014...0x016)
[000465] ------------ * JTRUE void
[000464] ------------ \--* EQ int
[000462] ------------ +--* LCL_VAR int V01 loc0
[000463] ------------ \--* CNS_INT int 1
LocalAddressVisitor visiting statement:
STMT00095 (IL 0x01B...0x023)
[000491] ---XG------- * JTRUE void
[000490] N--XG----U-- \--* NE int
[000488] ---XG------- +--* FIELD int _incReadState
[000487] ------------ | \--* LCL_VAR ref V02 loc1
[000489] ------------ \--* CNS_INT int 14
LocalAddressVisitor visiting statement:
STMT00097 (IL 0x025...0x026)
[000503] -A---------- * ASG int
[000502] D------N---- +--* LCL_VAR int V03 loc2
[000501] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00096 (IL 0x02C...0x044)
[000500] --CXG------- * CALLV stub void System.Xml.IncrementalReadDecoder.SetNextOutputBuffer
[000493] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000492] ------------ | \--* LCL_VAR ref V02 loc1
[000495] ---XG------- arg1 +--* FIELD ref buffer
[000494] ------------ | \--* LCL_VAR byref V00 this
[000497] ---XG------- arg2 +--* FIELD int index
[000496] ------------ | \--* LCL_VAR byref V00 this
[000499] ---XG------- arg3 \--* FIELD int count
[000498] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00039 (IL 0x049...0x04B)
[000196] -A-XG------- * ASG int
[000195] ---XG--N---- +--* FIELD int <charsRead>5__2
[000193] ------------ | \--* LCL_VAR byref V00 this
[000194] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00105 (IL 0x050... ???)
[000552] -A-XG------- * ASG ref
[000551] D------N---- +--* LCL_VAR ref V34 tmp15
[000202] ---XG------- \--* FIELD ref _curNode
[000201] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00106 (IL 0x050... ???)
[000554] -A-XG------- * ASG ref
[000553] D------N---- +--* LCL_VAR ref V35 tmp16
[000204] ---XG------- \--* FIELD ref _incReadDecoder
[000203] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00107 (IL 0x050... ???)
[000556] -A-XG------- * ASG int
[000555] D------N---- +--* LCL_VAR int V36 tmp17
[000206] ---XG------- \--* FIELD int _readValueOffset
[000205] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00102 (IL 0x050... ???)
[000522] ---XG------- * JTRUE void
[000521] ---XG------- \--* NE int
[000519] ---XG------- +--* FIELD ref _value
[000518] ------------ | \--* LCL_VAR ref V34 tmp15
[000520] ------------ \--* CNS_INT ref null
LocalAddressVisitor visiting statement:
STMT00104 (IL 0x050... ???)
[000549] -ACXG------- * ASG int
[000548] D------N---- +--* LCL_VAR int V33 tmp14
[000547] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000536] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000538] ---XG------- arg1 +--* FIELD ref _chars
[000537] ------------ | \--* LCL_VAR ref V34 tmp15
[000542] ---XG------- arg2 +--* ADD int
[000540] ---XG------- | +--* FIELD int _valueStartPos
[000539] ------------ | | \--* LCL_VAR ref V34 tmp15
[000541] ------------ | \--* LCL_VAR int V36 tmp17
[000546] ---XG------- arg3 \--* SUB int
[000544] ---XG------- +--* FIELD int _valueLength
[000543] ------------ | \--* LCL_VAR ref V34 tmp15
[000545] ------------ \--* LCL_VAR int V36 tmp17
LocalAddressVisitor visiting statement:
STMT00103 (IL 0x050... ???)
[000534] -ACXG------- * ASG int
[000533] D------N---- +--* LCL_VAR int V33 tmp14
[000532] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000523] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000525] ---XG------- arg1 +--* FIELD ref _value
[000524] ------------ | \--* LCL_VAR ref V34 tmp15
[000526] ------------ arg2 +--* LCL_VAR int V36 tmp17
[000531] ---XG------- arg3 \--* SUB int
[000529] ---XG------- +--* ARR_LENGTH int
[000528] ---XG------- | \--* FIELD ref _value
[000527] ------------ | \--* LCL_VAR ref V34 tmp15
[000530] ------------ \--* LCL_VAR int V36 tmp17
LocalAddressVisitor visiting statement:
STMT00041 (IL ???... ???)
[000210] -ACXG------- * ASG int
[000209] ---XG--N---- +--* FIELD int <charsRead>5__2
[000200] ------------ | \--* LCL_VAR byref V00 this
[000550] ------------ \--* LCL_VAR int V33 tmp14
LocalAddressVisitor visiting statement:
STMT00053 (IL 0x06F...0x06F)
[000262] -A---O------ * ASG ref
[000261] D------N---- +--* LCL_VAR ref V26 tmp7
[000198] -----O------ \--* CATCH_ARG ref
LocalAddressVisitor visiting statement:
STMT00054 (IL ???... ???)
[000265] -A---------- * ASG ref
[000264] D------N---- +--* LCL_VAR ref V04 loc3
[000263] ------------ \--* LCL_VAR ref V26 tmp7
LocalAddressVisitor visiting statement:
STMT00055 (IL 0x070...0x0AF)
[000277] --CXG------- * CALL r2r_ind void NodeData.AdjustLineInfo
[000267] ---XG------- this in rcx +--* FIELD ref _curNode
[000266] ------------ | \--* LCL_VAR ref V02 loc1
[000269] ---XG------- arg1 +--* FIELD int _readValueOffset
[000268] ------------ | \--* LCL_VAR ref V02 loc1
[000273] ---XG------- arg2 +--* FIELD bool eolNormalized
[000272] ---XG------- | \--* ADDR byref
[000271] ---XG------- | \--* FIELD struct _ps
[000270] ------------ | \--* LCL_VAR ref V02 loc1
[000276] ---XG------- arg3 \--* ADDR byref
[000275] ---XG------- \--* FIELD struct _incReadLineInfo
[000274] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00056 (IL 0x092... ???)
[000288] --CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
[000278] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000279] ------------ arg1 +--* LCL_VAR ref V04 loc3
[000283] ---XG------- arg2 +--* FIELD int lineNo
[000282] ---XG------- | \--* ADDR byref
[000281] ---XG------- | \--* FIELD struct _incReadLineInfo
[000280] ------------ | \--* LCL_VAR ref V02 loc1
[000287] ---XG------- arg3 \--* FIELD int linePos
[000286] ---XG------- \--* ADDR byref
[000285] ---XG------- \--* FIELD struct _incReadLineInfo
[000284] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00042 (IL 0x0B1...0x0BF)
[000218] -A-XG------- * ASG int
[000217] ---XG--N---- +--* FIELD int _readValueOffset
[000211] ------------ | \--* LCL_VAR ref V02 loc1
[000216] ---XG------- \--* ADD int
[000213] ---XG------- +--* FIELD int _readValueOffset
[000212] ------------ | \--* LCL_VAR ref V02 loc1
[000215] ---XG------- \--* FIELD int <charsRead>5__2
[000214] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00043 (IL 0x0C4...0x0CF)
[000225] --CXG------- * JTRUE void
[000224] --CXG------- \--* EQ int
[000222] --CXG------- +--* CAST int <- bool <- int
[000221] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000220] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000219] ------------ | \--* LCL_VAR ref V02 loc1
[000223] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00049 (IL 0x0D1...0x0DC)
[000250] -ACXG------- * ASG int
[000249] D------N---- +--* LCL_VAR int V03 loc2
[000248] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000247] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000246] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00044 (IL 0x0E2...0x0EA)
[000230] ---XG------- * JTRUE void
[000229] N--XG----U-- \--* NE int
[000227] ---XG------- +--* FIELD int _incReadState
[000226] ------------ | \--* LCL_VAR ref V02 loc1
[000228] ------------ \--* CNS_INT int 13
LocalAddressVisitor visiting statement:
STMT00110 (IL 0x0EF... ???)
[000567] -A-XG------- * ASG ref
[000566] D------N---- +--* LCL_VAR ref V37 tmp18
[000232] ---XG------- \--* FIELD ref _curNode
[000231] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00111 (IL 0x0EF... ???)
[000569] -A--G------- * ASG ref
[000568] D------N---- +--* LCL_VAR ref V38 tmp19
[000235] n---G------- \--* IND ref
[000234] #----------- \--* IND long
[000233] ------------ \--* CNS_INT(h) long 0x4217B8 pstr
LocalAddressVisitor visiting statement:
STMT00108 (IL 0x0EF... ???)
[000561] -A-XG------- * ASG int
[000560] ---XG--N---- +--* FIELD int _valueStartPos
[000558] ------------ | \--* LCL_VAR ref V37 tmp18
[000559] ------------ \--* CNS_INT int -1
LocalAddressVisitor visiting statement:
STMT00109 (IL 0x0EF... ???)
[000565] -A-XG------- * ASG ref
[000564] ---XG--N---- +--* FIELD ref _value
[000562] ------------ | \--* LCL_VAR ref V37 tmp18
[000563] ------------ \--* LCL_VAR ref V38 tmp19
LocalAddressVisitor visiting statement:
STMT00046 (IL 0x0FF... ???)
[000239] -A---------- * ASG int
[000238] D------N---- +--* LCL_VAR int V05 loc4
[000237] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00047 (IL 0x102...0x103)
[000242] -A---------- * ASG int
[000241] D------N---- +--* LCL_VAR int V06 loc5
[000240] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00048 (IL 0x105...0x106)
[000245] -A---------- * ASG int
[000244] D------N---- +--* LCL_VAR int V07 loc6
[000243] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00072 (IL 0x10D...0x10E)
[000382] -A---------- * ASG int
[000381] D------N---- +--* LCL_VAR int V08 loc7
[000380] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00074 (IL 0x110...0x139)
[000391] -A-XG------- * ASG byref
[000390] D------N---- +--* LCL_VAR byref V28 tmp9
[000385] ---XG------- \--* ADDR byref
[000384] ---XG------- \--* FIELD struct _incReadLineInfo
[000383] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00112 (IL 0x110... ???)
[000574] -A-XG------- * ASG byref
[000573] D------N---- +--* LCL_VAR byref V39 tmp20
[000388] ---XG------- \--* ADDR byref
[000387] ---XG------- \--* FIELD struct _ps
[000386] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00076 (IL ???... ???)
[000399] -AC--------- * ASG int
[000398] D------N---- +--* LCL_VAR int V29 tmp10
[000572] ---XG------- \--* FIELD int lineNo
[000571] ------------ \--* LCL_VAR byref V39 tmp20
LocalAddressVisitor visiting statement:
STMT00113 (IL ???... ???)
[000582] -A-XG------- * ASG byref
[000581] D------N---- +--* LCL_VAR byref V40 tmp21
[000396] ---XG------- \--* ADDR byref
[000395] ---XG------- \--* FIELD struct _ps
[000394] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00116 (IL ???... ???)
[000591] -A-XG------- * ASG int
[000590] D------N---- +--* LCL_VAR int V41 tmp22
[000580] ---XG------- \--* SUB int
[000577] ---XG------- +--* FIELD int charPos
[000576] ------------ | \--* LCL_VAR byref V40 tmp21
[000579] ---XG------- \--* FIELD int lineStartPos
[000578] ------------ \--* LCL_VAR byref V40 tmp21
LocalAddressVisitor visiting statement:
STMT00114 (IL ???... ???)
[000585] -A-XG------- * ASG int
[000584] ---XG--N---- +--* FIELD int lineNo
[000392] ------------ | \--* LCL_VAR byref V28 tmp9
[000400] ------------ \--* LCL_VAR int V29 tmp10
LocalAddressVisitor visiting statement:
STMT00115 (IL ???... ???)
[000589] -A-XG------- * ASG int
[000588] ---XG--N---- +--* FIELD int linePos
[000586] ------------ | \--* LCL_VAR byref V28 tmp9
[000587] ------------ \--* LCL_VAR int V41 tmp22
LocalAddressVisitor visiting statement:
STMT00078 (IL 0x131... ???)
[000405] S-C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ParseTextAsync
[000403] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000407] ------------ arg1 +--* ADDR byref
[000406] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V12 loc11
[000404] ------------ arg2 \--* LCL_VAR int V08 loc7
Local V12 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00078 (IL 0x131... ???)
[000405] S-C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ParseTextAsync
[000403] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000407] ------------ arg1 +--* LCL_VAR_ADDR byref V12 loc11
[000404] ------------ arg2 \--* LCL_VAR int V08 loc7
LocalAddressVisitor visiting statement:
STMT00079 (IL 0x13B...0x143)
[000411] S-C-G------- * CALL r2r_ind void System.Threading.Tasks.ValueTask`1.ConfigureAwait
[000409] ------------ this in rcx +--* ADDR byref
[000408] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Threading.Tasks.ValueTask`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32>(AX) V12 loc11
[000413] ------------ arg1 +--* ADDR byref
[000412] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V13 loc12
[000410] ------------ arg2 \--* CNS_INT int 0
Local V13 should not be enregistered because: it is address exposed
Local V12 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00079 (IL 0x13B...0x143)
[000411] S-C-G------- * CALL r2r_ind void System.Threading.Tasks.ValueTask`1.ConfigureAwait
[000409] ------------ this in rcx +--* LCL_VAR_ADDR byref V12 loc11
[000413] ------------ arg1 +--* LCL_VAR_ADDR byref V13 loc12
[000410] ------------ arg2 \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00080 (IL 0x145...0x14C)
[000416] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter
[000415] ------------ this in rcx +--* ADDR byref
[000414] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1<System.ValueTuple`4<int32,int32,int32,bool>>, 32>(AX) V13 loc12
[000418] ------------ arg1 \--* ADDR byref
[000417] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32> V11 loc10
Local V11 should not be enregistered because: it is address exposed
Local V13 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00080 (IL 0x145...0x14C)
[000416] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter
[000415] ------------ this in rcx +--* LCL_VAR_ADDR byref V13 loc12
[000418] ------------ arg1 \--* LCL_VAR_ADDR byref V11 loc10
LocalAddressVisitor visiting statement:
STMT00081 (IL 0x14E...0x155)
[000425] --C-G------- * JTRUE void
[000424] --C-G------- \--* NE int
[000422] --C-G------- +--* CAST int <- bool <- int
[000421] --C-G------- | \--* CALL r2r_ind int ConfiguredValueTaskAwaiter.get_IsCompleted
[000420] ------------ this in rcx | \--* ADDR byref
[000419] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>(AX) V11 loc10
[000423] ------------ \--* CNS_INT int 0
Local V11 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00081 (IL 0x14E...0x155)
[000425] --C-G------- * JTRUE void
[000424] --C-G------- \--* NE int
[000422] --C-G------- +--* CAST int <- bool <- int
[000421] --C-G------- | \--* CALL r2r_ind int ConfiguredValueTaskAwaiter.get_IsCompleted
[000420] ------------ this in rcx | \--* LCL_VAR_ADDR byref V11 loc10
[000423] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00082 (IL 0x157...0x15A)
[000430] -A---------- * ASG int
[000429] D------N---- +--* LCL_VAR int V01 loc0
[000428] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00083 (IL ???...0x15B)
[000432] -A-XG------- * ASG int
[000431] ---XG--N---- +--* FIELD int <>1__state
[000426] ------------ | \--* LCL_VAR byref V00 this
[000427] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00084 (IL 0x160...0x163)
[000438] -A-XG------- * ASG struct (copy)
[000437] ---XG------- +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>
[000436] ---XG------- | \--* ADDR byref
[000435] ---XG------- | \--* FIELD struct <>u__1
[000433] ------------ | \--* LCL_VAR byref V00 this
[000434] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>(AX) V11 loc10
LocalAddressVisitor visiting statement:
STMT00085 (IL 0x168...0x176)
[000445] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000441] ---XG------- this in rcx +--* ADDR byref
[000440] ---XG------- | \--* FIELD struct <>t__builder
[000439] ------------ | \--* LCL_VAR byref V00 this
[000443] ------------ arg1 +--* ADDR byref
[000442] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>(AX) V11 loc10
[000444] ------------ arg2 \--* LCL_VAR byref V00 this
Local V11 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00085 (IL 0x168...0x176)
[000445] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000441] ---XG------- this in rcx +--* ADDR byref
[000440] ---XG------- | \--* FIELD struct <>t__builder
[000439] ------------ | \--* LCL_VAR byref V00 this
[000443] ------------ arg1 +--* LCL_VAR_ADDR byref V11 loc10
[000444] ------------ arg2 \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00003 (IL 0x17B...0x181)
[000018] -A-XG------- * ASG struct (copy)
[000016] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>(AX) V11 loc10
[000015] ---XG------- \--* FIELD struct <>u__1
[000014] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00004 (IL 0x183...0x18A)
[000024] IA-XG------- * ASG struct (init)
[000023] ---XG--N---- +--* BLK struct<32>
[000021] ---XG------- | \--* ADDR byref
[000020] ---XG------- | \--* FIELD struct <>u__1
[000019] ------------ | \--* LCL_VAR byref V00 this
[000022] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00005 (IL 0x18F...0x192)
[000028] -A---------- * ASG int
[000027] D------N---- +--* LCL_VAR int V20 tmp1
[000026] ------------ \--* CNS_INT int -1
LocalAddressVisitor visiting statement:
STMT00006 (IL ???... ???)
[000032] -A---------- * ASG int
[000031] D------N---- +--* LCL_VAR int V01 loc0
[000030] ------------ \--* LCL_VAR int V20 tmp1
LocalAddressVisitor visiting statement:
STMT00007 (IL ???...0x193)
[000034] -A-XG------- * ASG int
[000033] ---XG--N---- +--* FIELD int <>1__state
[000025] ------------ | \--* LCL_VAR byref V00 this
[000029] ------------ \--* LCL_VAR int V20 tmp1
LocalAddressVisitor visiting statement:
STMT00008 (IL 0x198...0x19F)
[000037] S-C-G------- * CALL r2r_ind void ConfiguredValueTaskAwaiter.GetResult
[000036] ------------ this in rcx +--* ADDR byref
[000035] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>(AX) V11 loc10
[000039] ------------ arg1 \--* ADDR byref
[000038] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16> V10 loc9
Local V10 should not be enregistered because: it is address exposed
Local V11 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00008 (IL 0x198...0x19F)
[000037] S-C-G------- * CALL r2r_ind void ConfiguredValueTaskAwaiter.GetResult
[000036] ------------ this in rcx +--* LCL_VAR_ADDR byref V11 loc10
[000039] ------------ arg1 \--* LCL_VAR_ADDR byref V10 loc9
LocalAddressVisitor visiting statement:
STMT00009 (IL 0x1A1...0x1A3)
[000043] -A---------- * ASG struct (copy)
[000041] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16>(P) V09 loc8
+--* int V09.Item1 (offs=0x00) -> V60 tmp41
+--* int V09.Item2 (offs=0x04) -> V61 tmp42
+--* int V09.Item3 (offs=0x08) -> V62 tmp43
+--* bool V09.Item4 (offs=0x0c) -> V63 tmp44
[000040] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16>(AX) V10 loc9
LocalAddressVisitor visiting statement:
STMT00010 (IL 0x1A5...0x1AC)
[000048] -A---------- * ASG int
[000047] D------N---- +--* LCL_VAR int V06 loc5
[000046] ------------ \--* FIELD int Item1
[000045] ------------ \--* ADDR byref
[000044] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16>(P) V09 loc8
\--* int V09.Item1 (offs=0x00) -> V60 tmp41
\--* int V09.Item2 (offs=0x04) -> V61 tmp42
\--* int V09.Item3 (offs=0x08) -> V62 tmp43
\--* bool V09.Item4 (offs=0x0c) -> V63 tmp44
Replacing the field in promoted struct with local var V60
LocalAddressVisitor modified statement:
STMT00010 (IL 0x1A5...0x1AC)
[000048] -A---------- * ASG int
[000047] D------N---- +--* LCL_VAR int V06 loc5
[000046] ------------ \--* LCL_VAR int V60 tmp41
LocalAddressVisitor visiting statement:
STMT00011 (IL 0x1AE...0x1B5)
[000053] -A---------- * ASG int
[000052] D------N---- +--* LCL_VAR int V07 loc6
[000051] ------------ \--* FIELD int Item2
[000050] ------------ \--* ADDR byref
[000049] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16>(P) V09 loc8
\--* int V09.Item1 (offs=0x00) -> V60 tmp41
\--* int V09.Item2 (offs=0x04) -> V61 tmp42
\--* int V09.Item3 (offs=0x08) -> V62 tmp43
\--* bool V09.Item4 (offs=0x0c) -> V63 tmp44
Replacing the field in promoted struct with local var V60
LocalAddressVisitor modified statement:
STMT00011 (IL 0x1AE...0x1B5)
[000053] -A---------- * ASG int
[000052] D------N---- +--* LCL_VAR int V07 loc6
[000051] ------------ \--* LCL_VAR int V60 tmp41
LocalAddressVisitor visiting statement:
STMT00012 (IL 0x1B7...0x1BE)
[000058] -A---------- * ASG int
[000057] D------N---- +--* LCL_VAR int V08 loc7
[000056] ------------ \--* FIELD int Item3
[000055] ------------ \--* ADDR byref
[000054] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16>(P) V09 loc8
\--* int V09.Item1 (offs=0x00) -> V60 tmp41
\--* int V09.Item2 (offs=0x04) -> V61 tmp42
\--* int V09.Item3 (offs=0x08) -> V62 tmp43
\--* bool V09.Item4 (offs=0x0c) -> V63 tmp44
Replacing the field in promoted struct with local var V60
LocalAddressVisitor modified statement:
STMT00012 (IL 0x1B7...0x1BE)
[000058] -A---------- * ASG int
[000057] D------N---- +--* LCL_VAR int V08 loc7
[000056] ------------ \--* LCL_VAR int V60 tmp41
LocalAddressVisitor visiting statement:
STMT00013 (IL 0x1C0...0x1C7)
[000063] -A---------- * ASG int
[000062] D------N---- +--* LCL_VAR int V05 loc4
[000061] ------------ \--* FIELD bool Item4
[000060] ------------ \--* ADDR byref
[000059] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.ValueTuple`4<int32,int32,int32,bool>, 16>(P) V09 loc8
\--* int V09.Item1 (offs=0x00) -> V60 tmp41
\--* int V09.Item2 (offs=0x04) -> V61 tmp42
\--* int V09.Item3 (offs=0x08) -> V62 tmp43
\--* bool V09.Item4 (offs=0x0c) -> V63 tmp44
LocalAddressVisitor visiting statement:
STMT00014 (IL 0x1C9...0x1E7)
[000080] -ACXG------- * ASG int
[000079] ---XG--N---- +--* FIELD int <charsRead>5__2
[000067] ------------ | \--* LCL_VAR byref V00 this
[000078] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000069] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000068] ------------ | \--* LCL_VAR ref V02 loc1
[000073] ---XG------- arg1 +--* FIELD ref chars
[000072] ---XG------- | \--* ADDR byref
[000071] ---XG------- | \--* FIELD struct _ps
[000070] ------------ | \--* LCL_VAR ref V02 loc1
[000074] ------------ arg2 +--* LCL_VAR int V06 loc5
[000077] ------------ arg3 \--* SUB int
[000075] ------------ +--* LCL_VAR int V07 loc6
[000076] ------------ \--* LCL_VAR int V06 loc5
LocalAddressVisitor visiting statement:
STMT00086 (IL 0x1EE...0x1EE)
[000447] -A---O------ * ASG ref
[000446] D------N---- +--* LCL_VAR ref V30 tmp11
[000065] -----O------ \--* CATCH_ARG ref
LocalAddressVisitor visiting statement:
STMT00087 (IL ???... ???)
[000450] -A---------- * ASG ref
[000449] D------N---- +--* LCL_VAR ref V14 loc13
[000448] ------------ \--* LCL_VAR ref V30 tmp11
LocalAddressVisitor visiting statement:
STMT00088 (IL 0x1F0...0x20E)
[000461] --CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
[000451] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000452] ------------ arg1 +--* LCL_VAR ref V14 loc13
[000456] ---XG------- arg2 +--* FIELD int lineNo
[000455] ---XG------- | \--* ADDR byref
[000454] ---XG------- | \--* FIELD struct _incReadLineInfo
[000453] ------------ | \--* LCL_VAR ref V02 loc1
[000460] ---XG------- arg3 \--* FIELD int linePos
[000459] ---XG------- \--* ADDR byref
[000458] ---XG------- \--* FIELD struct _incReadLineInfo
[000457] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00015 (IL 0x210...0x219)
[000086] -A-XG------- * ASG int
[000085] D------N---- +--* LCL_VAR int V06 loc5
[000084] ---XG------- \--* ADD int
[000081] ------------ +--* LCL_VAR int V06 loc5
[000083] ---XG------- \--* FIELD int <charsRead>5__2
[000082] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00016 (IL 0x21B...0x226)
[000093] --CXG------- * JTRUE void
[000092] --CXG------- \--* NE int
[000090] --CXG------- +--* CAST int <- bool <- int
[000089] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000088] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000087] ------------ | \--* LCL_VAR ref V02 loc1
[000091] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00071 (IL 0x228...0x22A)
[000379] ------------ * JTRUE void
[000378] ------------ \--* EQ int
[000376] ------------ +--* LCL_VAR int V05 loc4
[000377] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00018 (IL ???...0x232)
[000100] -A---------- * ASG ref
[000099] D------N---- +--* LCL_VAR ref V21 tmp2
[000094] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00017 (IL 0x22F...0x232)
[000098] ------------ * JTRUE void
[000097] ------------ \--* NE int
[000095] ------------ +--* LCL_VAR int V05 loc4
[000096] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00069 (IL ???...0x236)
[000371] -A---------- * ASG ref
[000370] D------N---- +--* LCL_VAR ref V22 tmp3
[000102] ------------ \--* LCL_VAR ref V21 tmp2
LocalAddressVisitor visiting statement:
STMT00070 (IL ???... ???)
[000374] -A---------- * ASG int
[000373] D------N---- +--* LCL_VAR int V23 tmp4
[000369] ------------ \--* CNS_INT int 13
LocalAddressVisitor visiting statement:
STMT00019 (IL ???...0x238)
[000106] -A---------- * ASG ref
[000105] D------N---- +--* LCL_VAR ref V22 tmp3
[000103] ------------ \--* LCL_VAR ref V21 tmp2
LocalAddressVisitor visiting statement:
STMT00020 (IL ???... ???)
[000109] -A---------- * ASG int
[000108] D------N---- +--* LCL_VAR int V23 tmp4
[000104] ------------ \--* CNS_INT int 12
LocalAddressVisitor visiting statement:
STMT00021 (IL ???...0x23A)
[000114] -A-XG------- * ASG int
[000113] ---XG--N---- +--* FIELD int _incReadState
[000111] ------------ | \--* LCL_VAR ref V22 tmp3
[000112] ------------ \--* LCL_VAR int V23 tmp4
LocalAddressVisitor visiting statement:
STMT00022 (IL 0x23F...0x241)
[000118] -A-XG------- * ASG int
[000117] ---XG--N---- +--* FIELD int _readValueOffset
[000115] ------------ | \--* LCL_VAR ref V02 loc1
[000116] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00023 (IL 0x246...0x251)
[000125] --CXG------- * JTRUE void
[000124] --CXG------- \--* EQ int
[000122] --CXG------- +--* CAST int <- bool <- int
[000121] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000120] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000119] ------------ | \--* LCL_VAR ref V02 loc1
[000123] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00121 (IL 0x253... ???)
[000609] -A-XG------- * ASG ref
[000608] D------N---- +--* LCL_VAR ref V42 tmp23
[000326] ---XG------- \--* FIELD ref _curNode
[000325] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00122 (IL 0x253... ???)
[000611] -A-XG------- * ASG ref
[000610] D------N---- +--* LCL_VAR ref V43 tmp24
[000330] ---XG------- \--* FIELD ref chars
[000329] ---XG------- \--* ADDR byref
[000328] ---XG------- \--* FIELD struct _ps
[000327] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00117 (IL 0x253... ???)
[000596] -A-XG------- * ASG ref
[000595] ---XG--N---- +--* FIELD ref _value
[000593] ------------ | \--* LCL_VAR ref V42 tmp23
[000594] ------------ \--* CNS_INT ref null
LocalAddressVisitor visiting statement:
STMT00118 (IL 0x253... ???)
[000600] -A-XG------- * ASG ref
[000599] ---XG--N---- +--* FIELD ref _chars
[000597] ------------ | \--* LCL_VAR ref V42 tmp23
[000598] ------------ \--* LCL_VAR ref V43 tmp24
LocalAddressVisitor visiting statement:
STMT00119 (IL 0x253... ???)
[000603] -A-XG------- * ASG int
[000602] ---XG--N---- +--* FIELD int _valueStartPos
[000601] ------------ | \--* LCL_VAR ref V42 tmp23
[000331] ------------ \--* LCL_VAR int V06 loc5
LocalAddressVisitor visiting statement:
STMT00120 (IL 0x253... ???)
[000607] -A-XG------- * ASG int
[000606] ---XG--N---- +--* FIELD int _valueLength
[000604] ------------ | \--* LCL_VAR ref V42 tmp23
[000334] ------------ \--* SUB int
[000332] ------------ +--* LCL_VAR int V07 loc6
[000333] ------------ \--* LCL_VAR int V06 loc5
LocalAddressVisitor visiting statement:
STMT00127 (IL 0x270... ???)
[000634] -A-XG------- * ASG ref
[000633] D------N---- +--* LCL_VAR ref V45 tmp26
[000339] ---XG------- \--* FIELD ref chars
[000338] ---XG------- \--* ADDR byref
[000337] ---XG------- \--* FIELD struct _ps
[000336] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00128 (IL 0x270... ???)
[000636] -A-XG------- * ASG int
[000635] D------N---- +--* LCL_VAR int V46 tmp27
[000343] ---XG------- \--* SUB int
[000340] ------------ +--* LCL_VAR int V06 loc5
[000342] ---XG------- \--* FIELD int <charsRead>5__2
[000341] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00129 (IL 0x270... ???)
[000638] -A-XG------- * ASG bool
[000637] D------N---- +--* LCL_VAR bool V49 tmp30
[000348] ---XG------- \--* FIELD bool eolNormalized
[000347] ---XG------- \--* ADDR byref
[000346] ---XG------- \--* FIELD struct _ps
[000345] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00130 (IL 0x270... ???)
[000640] -A-XG------- * ASG byref
[000639] D------N---- +--* LCL_VAR byref V50 tmp31
[000351] ---XG------- \--* ADDR byref
[000350] ---XG------- \--* FIELD struct _incReadLineInfo
[000349] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00123 (IL 0x270... ???)
[000618] -A-XG------- * ASG byref
[000617] D------N---- +--* LCL_VAR byref V47 tmp28
[000616] ---XG------- \--* ADDR byref
[000615] ---XG------- \--* INDEX ushort
[000613] ------------ +--* LCL_VAR ref V45 tmp26
[000614] ------------ \--* LCL_VAR int V46 tmp27
LocalAddressVisitor visiting statement:
STMT00124 (IL 0x270... ???)
[000622] -A---------- * ASG long
[000621] D------N---- +--* LCL_VAR long V48 tmp29
[000620] ---------U-- \--* CAST long <- ulong <- byref
[000619] ------------ \--* LCL_VAR byref V47 tmp28
LocalAddressVisitor visiting statement:
STMT00125 (IL 0x270... ???)
[000628] --C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.AdjustLineInfo
[000623] ------------ arg0 +--* LCL_VAR long V48 tmp29
[000625] ------------ arg1 +--* SUB int
[000344] ------------ | +--* LCL_VAR int V06 loc5
[000624] ------------ | \--* LCL_VAR int V46 tmp27
[000626] ------------ arg2 +--* LCL_VAR int V49 tmp30
[000627] ------------ arg3 \--* LCL_VAR byref V50 tmp31
LocalAddressVisitor visiting statement:
STMT00126 (IL 0x270... ???)
[000632] -A---------- * ASG byref
[000631] D------N---- +--* LCL_VAR byref V47 tmp28
[000630] ---------U-- \--* CAST byref <- ulong <- uint
[000629] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00131 (IL 0x270... ???)
[000643] -A---------- * ASG byref
[000642] D------N---- +--* LCL_VAR byref V47 tmp28
[000641] ------------ \--* CNS_INT byref 0
LocalAddressVisitor visiting statement:
STMT00133 (IL 0x29C... ???)
[000654] -A-XG------- * ASG ref
[000653] D------N---- +--* LCL_VAR ref V51 tmp32
[000354] ---XG------- \--* FIELD ref _curNode
[000353] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00134 (IL 0x29C... ???)
[000656] -A-XG------- * ASG int
[000655] D------N---- +--* LCL_VAR int V52 tmp33
[000358] ---XG------- \--* FIELD int lineNo
[000357] ---XG------- \--* ADDR byref
[000356] ---XG------- \--* FIELD struct _incReadLineInfo
[000355] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00135 (IL 0x29C... ???)
[000658] -A-XG------- * ASG int
[000657] D------N---- +--* LCL_VAR int V53 tmp34
[000362] ---XG------- \--* FIELD int linePos
[000361] ---XG------- \--* ADDR byref
[000360] ---XG------- \--* FIELD struct _incReadLineInfo
[000359] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00136 (IL 0x29C... ???)
[000652] ---X-------- * NULLCHECK byte
[000651] ------------ \--* LCL_VAR ref V51 tmp32
LocalAddressVisitor visiting statement:
STMT00139 (IL 0x29C... ???)
[000667] -A-XG------- * ASG byref
[000666] D------N---- +--* LCL_VAR byref V54 tmp35
[000647] ---XG------- \--* ADDR byref
[000646] ---XG------- \--* FIELD struct lineInfo
[000645] ------------ \--* LCL_VAR ref V51 tmp32
LocalAddressVisitor visiting statement:
STMT00137 (IL 0x29C... ???)
[000662] -A-XG------- * ASG int
[000661] ---XG--N---- +--* FIELD int lineNo
[000660] ------------ | \--* LCL_VAR byref V54 tmp35
[000648] ------------ \--* LCL_VAR int V52 tmp33
LocalAddressVisitor visiting statement:
STMT00138 (IL 0x29C... ???)
[000665] -A-XG------- * ASG int
[000664] ---XG--N---- +--* FIELD int linePos
[000663] ------------ | \--* LCL_VAR byref V54 tmp35
[000649] ------------ \--* LCL_VAR int V53 tmp34
LocalAddressVisitor visiting statement:
STMT00068 (IL 0x2BD... ???)
[000368] -ACXG------- * ASG int
[000367] D------N---- +--* LCL_VAR int V03 loc2
[000366] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000365] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000364] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00024 (IL 0x2CE...0x2D5)
[000130] -A-XG------- * ASG int
[000129] ---XG--N---- +--* FIELD int <tmp>5__3
[000126] ------------ | \--* LCL_VAR byref V00 this
[000128] ---XG------- \--* FIELD int _parsingFunction
[000127] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00025 (IL 0x2DA...0x2E1)
[000135] -A-XG------- * ASG int
[000134] ---XG--N---- +--* FIELD int _parsingFunction
[000131] ------------ | \--* LCL_VAR ref V02 loc1
[000133] ---XG------- \--* FIELD int _nextParsingFunction
[000132] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00026 (IL 0x2E6...0x2ED)
[000140] -A-XG------- * ASG int
[000139] ---XG--N---- +--* FIELD int _nextParsingFunction
[000136] ------------ | \--* LCL_VAR ref V02 loc1
[000138] ---XG------- \--* FIELD int _nextNextParsingFunction
[000137] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00028 (IL ???... ???)
[000146] S-C-G------- * CALLV stub void System.Threading.Tasks.Task`1.ConfigureAwait
[000143] --C-G------- this in rcx +--* CALL r2r_ind ref System.Xml.XmlTextReaderImpl.MoveToNextContentNodeAsync
[000141] ------------ this in rcx | +--* LCL_VAR ref V02 loc1
[000142] ------------ arg1 | \--* CNS_INT int 1
[000148] ------------ arg1 +--* ADDR byref
[000147] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>, 16> V17 loc16
[000145] ------------ arg2 \--* CNS_INT int 0
Local V17 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00028 (IL ???... ???)
[000146] S-C-G------- * CALLV stub void System.Threading.Tasks.Task`1.ConfigureAwait
[000143] --C-G------- this in rcx +--* CALL r2r_ind ref System.Xml.XmlTextReaderImpl.MoveToNextContentNodeAsync
[000141] ------------ this in rcx | +--* LCL_VAR ref V02 loc1
[000142] ------------ arg1 | \--* CNS_INT int 1
[000148] ------------ arg1 +--* LCL_VAR_ADDR byref V17 loc16
[000145] ------------ arg2 \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00029 (IL 0x301...0x308)
[000151] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter
[000150] ------------ this in rcx +--* ADDR byref
[000149] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1<bool>, 16>(AX) V17 loc16
[000153] ------------ arg1 \--* ADDR byref
[000152] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>(P) V16 loc15
\--* ref V16.m_task (offs=0x00) -> V64 tmp45
\--* bool V16.m_continueOnCapturedContext (offs=0x08) -> V65 tmp46
Local V64 should not be enregistered because: it is address exposed
Local V65 should not be enregistered because: it is address exposed
Local V16 should not be enregistered because: it is address exposed
Local V17 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00029 (IL 0x301...0x308)
[000151] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.GetAwaiter
[000150] ------------ this in rcx +--* LCL_VAR_ADDR byref V17 loc16
[000153] ------------ arg1 \--* ADDR byref
[000152] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>(AX)(P) V16 loc15
\--* ref V16.m_task (offs=0x00) -> V64 tmp45
\--* bool V16.m_continueOnCapturedContext (offs=0x08) -> V65 tmp46
LocalAddressVisitor visiting statement:
STMT00030 (IL 0x30A...0x311)
[000160] --C-G------- * JTRUE void
[000159] --C-G------- \--* NE int
[000157] --C-G------- +--* CAST int <- bool <- int
[000156] --C-G------- | \--* CALL r2r_ind int ConfiguredTaskAwaiter.get_IsCompleted
[000155] ------------ this in rcx | \--* ADDR byref
[000154] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>(AX)(P) V16 loc15
| \--* ref V16.m_task (offs=0x00) -> V64 tmp45
| \--* bool V16.m_continueOnCapturedContext (offs=0x08) -> V65 tmp46
[000158] ------------ \--* CNS_INT int 0
Local V64 should not be enregistered because: it is address exposed
Local V65 should not be enregistered because: it is address exposed
Local V16 should not be enregistered because: it is address exposed
LocalAddressVisitor visiting statement:
STMT00060 (IL 0x313...0x316)
[000305] -A---------- * ASG int
[000304] D------N---- +--* LCL_VAR int V27 tmp8
[000303] ------------ \--* CNS_INT int 1
LocalAddressVisitor visiting statement:
STMT00061 (IL ???... ???)
[000309] -A---------- * ASG int
[000308] D------N---- +--* LCL_VAR int V01 loc0
[000307] ------------ \--* LCL_VAR int V27 tmp8
LocalAddressVisitor visiting statement:
STMT00062 (IL ???...0x317)
[000311] -A-XG------- * ASG int
[000310] ---XG--N---- +--* FIELD int <>1__state
[000302] ------------ | \--* LCL_VAR byref V00 this
[000306] ------------ \--* LCL_VAR int V27 tmp8
LocalAddressVisitor visiting statement:
STMT00063 (IL 0x31C...0x31F)
[000317] -A-XG------- * ASG struct (copy)
[000316] ---XG------- +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>
[000315] ---XG------- | \--* ADDR byref
[000314] ---XG------- | \--* FIELD struct <>u__2
[000312] ------------ | \--* LCL_VAR byref V00 this
[000313] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>(AX)(P) V16 loc15
\--* ref V16.m_task (offs=0x00) -> V64 tmp45
\--* bool V16.m_continueOnCapturedContext (offs=0x08) -> V65 tmp46
LocalAddressVisitor visiting statement:
STMT00064 (IL 0x324...0x332)
[000324] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000320] ---XG------- this in rcx +--* ADDR byref
[000319] ---XG------- | \--* FIELD struct <>t__builder
[000318] ------------ | \--* LCL_VAR byref V00 this
[000322] ------------ arg1 +--* ADDR byref
[000321] ------------ | \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>(AX)(P) V16 loc15
| \--* ref V16.m_task (offs=0x00) -> V64 tmp45
| \--* bool V16.m_continueOnCapturedContext (offs=0x08) -> V65 tmp46
[000323] ------------ arg2 \--* LCL_VAR byref V00 this
Local V64 should not be enregistered because: it is address exposed
Local V65 should not be enregistered because: it is address exposed
Local V16 should not be enregistered because: it is address exposed
LocalAddressVisitor visiting statement:
STMT00090 (IL 0x337...0x33D)
[000470] -A-XG------- * ASG struct (copy)
[000468] D----------- +--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>(AX)(P) V16 loc15
+--* ref V16.m_task (offs=0x00) -> V64 tmp45
+--* bool V16.m_continueOnCapturedContext (offs=0x08) -> V65 tmp46
[000467] ---XG------- \--* FIELD struct <>u__2
[000466] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00091 (IL 0x33F...0x346)
[000476] IA-XG------- * ASG struct (init)
[000475] ---XG--N---- +--* BLK struct<16>
[000473] ---XG------- | \--* ADDR byref
[000472] ---XG------- | \--* FIELD struct <>u__2
[000471] ------------ | \--* LCL_VAR byref V00 this
[000474] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00092 (IL 0x34B...0x34E)
[000480] -A---------- * ASG int
[000479] D------N---- +--* LCL_VAR int V31 tmp12
[000478] ------------ \--* CNS_INT int -1
LocalAddressVisitor visiting statement:
STMT00093 (IL ???... ???)
[000484] -A---------- * ASG int
[000483] D------N---- +--* LCL_VAR int V01 loc0
[000482] ------------ \--* LCL_VAR int V31 tmp12
LocalAddressVisitor visiting statement:
STMT00094 (IL ???...0x34F)
[000486] -A-XG------- * ASG int
[000485] ---XG--N---- +--* FIELD int <>1__state
[000477] ------------ | \--* LCL_VAR byref V00 this
[000481] ------------ \--* LCL_VAR int V31 tmp12
LocalAddressVisitor visiting statement:
STMT00031 (IL 0x354...0x35B)
[000166] -AC-G------- * ASG int
[000165] D------N---- +--* LCL_VAR int V15 loc14
[000164] --C-G------- \--* CAST int <- bool <- int
[000163] --C-G------- \--* CALL r2r_ind int ConfiguredTaskAwaiter.GetResult
[000162] ------------ this in rcx \--* ADDR byref
[000161] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter<bool>, 16>(AX)(P) V16 loc15
\--* ref V16.m_task (offs=0x00) -> V64 tmp45
\--* bool V16.m_continueOnCapturedContext (offs=0x08) -> V65 tmp46
Local V64 should not be enregistered because: it is address exposed
Local V65 should not be enregistered because: it is address exposed
Local V16 should not be enregistered because: it is address exposed
LocalAddressVisitor visiting statement:
STMT00032 (IL 0x35D...0x35F)
[000170] ------------ * JTRUE void
[000169] ------------ \--* NE int
[000167] ------------ +--* LCL_VAR int V15 loc14
[000168] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00147 (IL 0x361... ???)
[000702] -A-XG------- * ASG int
[000701] D------N---- +--* LCL_VAR int V55 tmp36
[000291] ---XG------- \--* FIELD int <tmp>5__3
[000290] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00140 (IL 0x361... ???)
[000674] ---XG------- * JTRUE void
[000673] N--XG----U-- \--* NE int
[000671] ---XG------- +--* FIELD int _parsingFunction
[000289] ------------ | \--* LCL_VAR ref V02 loc1
[000672] ------------ \--* CNS_INT int 21
LocalAddressVisitor visiting statement:
STMT00146 (IL 0x361... ???)
[000700] -A-XG------- * ASG int
[000699] ---XG--N---- +--* FIELD int _incReadState
[000697] ------------ | \--* LCL_VAR ref V02 loc1
[000698] ------------ \--* CNS_INT int 13
LocalAddressVisitor visiting statement:
STMT00141 (IL 0x361... ???)
[000678] -A-XG------- * ASG int
[000677] ---XG--N---- +--* FIELD int _incReadState
[000675] ------------ | \--* LCL_VAR ref V02 loc1
[000676] ------------ \--* CNS_INT int 12
LocalAddressVisitor visiting statement:
STMT00142 (IL 0x361... ???)
[000683] -A-XG------- * ASG int
[000682] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000679] ------------ | \--* LCL_VAR ref V02 loc1
[000681] ---XG------- \--* FIELD int _nextParsingFunction
[000680] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00143 (IL 0x361... ???)
[000688] -A-XG------- * ASG int
[000687] ---XG--N---- +--* FIELD int _nextParsingFunction
[000684] ------------ | \--* LCL_VAR ref V02 loc1
[000686] ---XG------- \--* FIELD int _parsingFunction
[000685] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00144 (IL 0x361... ???)
[000692] -A-XG------- * ASG int
[000691] ---XG--N---- +--* FIELD int _readValueOffset
[000689] ------------ | \--* LCL_VAR ref V02 loc1
[000690] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00145 (IL 0x361... ???)
[000696] -A-XG------- * ASG int
[000695] ---XG--N---- +--* FIELD int _parsingFunction
[000693] ------------ | \--* LCL_VAR ref V02 loc1
[000694] ------------ \--* LCL_VAR int V55 tmp36
LocalAddressVisitor visiting statement:
STMT00058 (IL 0x36D... ???)
[000296] -A-XG------- * ASG int
[000295] ---XG--N---- +--* FIELD int _incReadState
[000293] ------------ | \--* LCL_VAR ref V02 loc1
[000294] ------------ \--* CNS_INT int 14
LocalAddressVisitor visiting statement:
STMT00059 (IL 0x375...0x380)
[000301] -ACXG------- * ASG int
[000300] D------N---- +--* LCL_VAR int V03 loc2
[000299] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000298] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000297] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00155 (IL 0x383... ???)
[000735] -A-XG------- * ASG int
[000734] D------N---- +--* LCL_VAR int V56 tmp37
[000173] ---XG------- \--* FIELD int <tmp>5__3
[000172] ------------ \--* LCL_VAR byref V00 this
LocalAddressVisitor visiting statement:
STMT00148 (IL 0x383... ???)
[000707] ---XG------- * JTRUE void
[000706] N--XG----U-- \--* NE int
[000704] ---XG------- +--* FIELD int _parsingFunction
[000171] ------------ | \--* LCL_VAR ref V02 loc1
[000705] ------------ \--* CNS_INT int 21
LocalAddressVisitor visiting statement:
STMT00154 (IL 0x383... ???)
[000733] -A-XG------- * ASG int
[000732] ---XG--N---- +--* FIELD int _incReadState
[000730] ------------ | \--* LCL_VAR ref V02 loc1
[000731] ------------ \--* CNS_INT int 13
LocalAddressVisitor visiting statement:
STMT00149 (IL 0x383... ???)
[000711] -A-XG------- * ASG int
[000710] ---XG--N---- +--* FIELD int _incReadState
[000708] ------------ | \--* LCL_VAR ref V02 loc1
[000709] ------------ \--* CNS_INT int 12
LocalAddressVisitor visiting statement:
STMT00150 (IL 0x383... ???)
[000716] -A-XG------- * ASG int
[000715] ---XG--N---- +--* FIELD int _nextNextParsingFunction
[000712] ------------ | \--* LCL_VAR ref V02 loc1
[000714] ---XG------- \--* FIELD int _nextParsingFunction
[000713] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00151 (IL 0x383... ???)
[000721] -A-XG------- * ASG int
[000720] ---XG--N---- +--* FIELD int _nextParsingFunction
[000717] ------------ | \--* LCL_VAR ref V02 loc1
[000719] ---XG------- \--* FIELD int _parsingFunction
[000718] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00152 (IL 0x383... ???)
[000725] -A-XG------- * ASG int
[000724] ---XG--N---- +--* FIELD int _readValueOffset
[000722] ------------ | \--* LCL_VAR ref V02 loc1
[000723] ------------ \--* CNS_INT int 0
LocalAddressVisitor visiting statement:
STMT00153 (IL 0x383... ???)
[000729] -A-XG------- * ASG int
[000728] ---XG--N---- +--* FIELD int _parsingFunction
[000726] ------------ | \--* LCL_VAR ref V02 loc1
[000727] ------------ \--* LCL_VAR int V56 tmp37
LocalAddressVisitor visiting statement:
STMT00035 (IL 0x38F... ???)
[000182] -A-XG------- * ASG byref
[000181] D------N---- +--* LCL_VAR byref V24 tmp5
[000177] ---XG------- \--* ADDR byref
[000176] ---XG------- \--* FIELD struct _incReadLineInfo
[000175] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00156 (IL 0x38F... ???)
[000744] -A-XG------- * ASG ref
[000743] D------N---- +--* LCL_VAR ref V57 tmp38
[000179] ---XG------- \--* FIELD ref _curNode
[000178] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00157 (IL 0x38F... ???)
[000742] ---X-------- * NULLCHECK byte
[000741] ------------ \--* LCL_VAR ref V57 tmp38
LocalAddressVisitor visiting statement:
STMT00037 (IL ???... ???)
[000189] -AC--------- * ASG int
[000188] D------N---- +--* LCL_VAR int V25 tmp6
[000740] ---XG------- \--* FIELD int lineNo
[000739] ---XG------- \--* ADDR byref
[000738] ---XG------- \--* FIELD struct lineInfo
[000737] ------------ \--* LCL_VAR ref V57 tmp38
LocalAddressVisitor visiting statement:
STMT00158 (IL ???... ???)
[000753] -A-XG------- * ASG ref
[000752] D------N---- +--* LCL_VAR ref V58 tmp39
[000186] ---XG------- \--* FIELD ref _curNode
[000185] ------------ \--* LCL_VAR ref V02 loc1
LocalAddressVisitor visiting statement:
STMT00159 (IL ???... ???)
[000751] ---X-------- * NULLCHECK byte
[000750] ------------ \--* LCL_VAR ref V58 tmp39
LocalAddressVisitor visiting statement:
STMT00162 (IL ???... ???)
[000762] -A-XG------- * ASG int
[000761] D------N---- +--* LCL_VAR int V59 tmp40
[000749] ---XG------- \--* FIELD int linePos
[000748] ---XG------- \--* ADDR byref
[000747] ---XG------- \--* FIELD struct lineInfo
[000746] ------------ \--* LCL_VAR ref V58 tmp39
LocalAddressVisitor visiting statement:
STMT00160 (IL ???... ???)
[000756] -A-XG------- * ASG int
[000755] ---XG--N---- +--* FIELD int lineNo
[000183] ------------ | \--* LCL_VAR byref V24 tmp5
[000190] ------------ \--* LCL_VAR int V25 tmp6
LocalAddressVisitor visiting statement:
STMT00161 (IL ???... ???)
[000760] -A-XG------- * ASG int
[000759] ---XG--N---- +--* FIELD int linePos
[000757] ------------ | \--* LCL_VAR byref V24 tmp5
[000758] ------------ \--* LCL_VAR int V59 tmp40
LocalAddressVisitor visiting statement:
STMT00098 (IL 0x3B5...0x3B5)
[000505] -A---O------ * ASG ref
[000504] D------N---- +--* LCL_VAR ref V32 tmp13
[000009] -----O------ \--* CATCH_ARG ref
LocalAddressVisitor visiting statement:
STMT00099 (IL ???... ???)
[000508] -A---------- * ASG ref
[000507] D------N---- +--* LCL_VAR ref V18 loc17
[000506] ------------ \--* LCL_VAR ref V32 tmp13
LocalAddressVisitor visiting statement:
STMT00100 (IL 0x3B7...0x3BA)
[000512] -A-XG------- * ASG int
[000511] ---XG--N---- +--* FIELD int <>1__state
[000509] ------------ | \--* LCL_VAR byref V00 this
[000510] ------------ \--* CNS_INT int -2
LocalAddressVisitor visiting statement:
STMT00101 (IL 0x3BF...0x3CC)
[000517] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetException
[000515] ---XG------- this in rcx +--* ADDR byref
[000514] ---XG------- | \--* FIELD struct <>t__builder
[000513] ------------ | \--* LCL_VAR byref V00 this
[000516] ------------ arg1 \--* LCL_VAR ref V18 loc17
LocalAddressVisitor visiting statement:
STMT00050 (IL 0x3CE...0x3D1)
[000254] -A-XG------- * ASG int
[000253] ---XG--N---- +--* FIELD int <>1__state
[000251] ------------ | \--* LCL_VAR byref V00 this
[000252] ------------ \--* CNS_INT int -2
LocalAddressVisitor visiting statement:
STMT00051 (IL 0x3D6...0x3DD)
[000259] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult
[000257] ---XG------- this in rcx +--* ADDR byref
[000256] ---XG------- | \--* FIELD struct <>t__builder
[000255] ------------ | \--* LCL_VAR byref V00 this
[000258] ------------ arg1 \--* LCL_VAR int V03 loc2
LocalAddressVisitor visiting statement:
STMT00052 (IL 0x3E2...0x3E2)
[000260] ------------ * RETURN void
*************** Finishing PHASE Morph - Structs/AddrExp
*************** Starting PHASE Morph - ByRefs
*************** In fgRetypeImplicitByRefArgs()
*************** Finishing PHASE Morph - ByRefs
*************** Starting PHASE Morph - Global
*************** In fgMorphBlocks()
Morphing BB01 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB01, STMT00000 (before)
[000003] -A-XG------- * ASG int
[000002] D------N---- +--* LCL_VAR int V01 loc0
[000001] ---XG------- \--* FIELD int <>1__state
[000000] ------------ \--* LCL_VAR byref V00 this
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000001] *--XG------- * IND int
[000765] -----+------ \--* ADD byref
[000000] -----+------ +--* LCL_VAR byref V00 this
[000764] -----+------ \--* CNS_INT long 16 field offset Fseq[<>1__state]
GenTreeNode creates assertion:
[000003] -A-XG------- * ASG int
In BB01 New Local Subrange Assertion: V01 in [-2147483648..2147483647] index=#01, mask=0000000000000001
fgMorphTree BB01, STMT00000 (after)
[000003] -A-XG+------ * ASG int
[000002] D----+-N---- +--* LCL_VAR int V01 loc0
[000001] *--XG+------ \--* IND int
[000765] -----+------ \--* ADD byref
[000000] -----+------ +--* LCL_VAR byref V00 this
[000764] -----+------ \--* CNS_INT long 16 field offset Fseq[<>1__state]
fgMorphTree BB01, STMT00001 (before)
[000007] -A-XG------- * ASG ref
[000006] D------N---- +--* LCL_VAR ref V02 loc1
[000005] ---XG------- \--* FIELD ref <>4__this
[000004] ------------ \--* LCL_VAR byref V00 this
Before calling fgAddFieldSeqForZeroOffset:
[000005] *--XG------- * IND ref
[000004] ------------ \--* LCL_VAR byref V00 this
fgAddFieldSeqForZeroOffset for Fseq[<>4__this]
addr (Before)
[000004] ------------ LCL_VAR byref
(After)
[000004] ------------ LCL_VAR byref Zero Fseq[<>4__this]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000005] *--XG------- * IND ref
[000004] -----+------ \--* LCL_VAR byref V00 this Zero Fseq[<>4__this]
fgMorphTree BB01, STMT00001 (after)
[000007] -A-XG+------ * ASG ref
[000006] D----+-N---- +--* LCL_VAR ref V02 loc1
[000005] *--XG+------ \--* IND ref
[000004] -----+------ \--* LCL_VAR byref V00 this Zero Fseq[<>4__this]
Morphing BB02 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB02, STMT00002 (before)
[000013] ------------ * JTRUE void
[000012] ------------ \--* EQ int
[000010] ------------ +--* LCL_VAR int V01 loc0
[000011] ------------ \--* CNS_INT int 0
Morphing BB03 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB03, STMT00089 (before)
[000465] ------------ * JTRUE void
[000464] ------------ \--* EQ int
[000462] ------------ +--* LCL_VAR int V01 loc0
[000463] ------------ \--* CNS_INT int 1
Morphing BB04 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB04, STMT00095 (before)
[000491] ---XG------- * JTRUE void
[000490] N--XG----U-- \--* NE int
[000488] ---XG------- +--* FIELD int _incReadState
[000487] ------------ | \--* LCL_VAR ref V02 loc1
[000489] ------------ \--* CNS_INT int 14
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000488] ---XG------- * IND int
[000767] -----+------ \--* ADD byref
[000487] -----+------ +--* LCL_VAR ref V02 loc1
[000766] -----+------ \--* CNS_INT long 324 field offset Fseq[_incReadState]
GenTreeNode creates assertion:
[000488] ---XG------- * IND int
In BB04 New Local Constant Assertion: V02 != null index=#01, mask=0000000000000001
fgMorphTree BB04, STMT00095 (after)
[000491] ---XG+------ * JTRUE void
[000490] N--XG+-N-U-- \--* NE int
[000488] ---XG+------ +--* IND int
[000767] -----+------ | \--* ADD byref
[000487] -----+------ | +--* LCL_VAR ref V02 loc1
[000766] -----+------ | \--* CNS_INT long 324 field offset Fseq[_incReadState]
[000489] -----+------ \--* CNS_INT int 14
Morphing BB05 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB05, STMT00097 (before)
[000503] -A---------- * ASG int
[000502] D------N---- +--* LCL_VAR int V03 loc2
[000501] ------------ \--* CNS_INT int 0
GenTreeNode creates assertion:
[000503] -A---------- * ASG int
In BB05 New Local Constant Assertion: V03 == 0 index=#01, mask=0000000000000001
Morphing BB06 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB06, STMT00096 (before)
[000500] --CXG------- * CALLV stub void System.Xml.IncrementalReadDecoder.SetNextOutputBuffer
[000493] ---XG------- this in rcx +--* FIELD ref _incReadDecoder
[000492] ------------ | \--* LCL_VAR ref V02 loc1
[000495] ---XG------- arg1 +--* FIELD ref buffer
[000494] ------------ | \--* LCL_VAR byref V00 this
[000497] ---XG------- arg2 +--* FIELD int index
[000496] ------------ | \--* LCL_VAR byref V00 this
[000499] ---XG------- arg3 \--* FIELD int count
[000498] ------------ \--* LCL_VAR byref V00 this
Initializing arg info for 500.CALL:
ArgTable for 500.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 493.FIELD ref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 768.CNS_INT long, 1 reg: r11, align=1, isNonStandard]
fgArgTabEntry[arg 2 495.FIELD ref, 1 reg: rdx, align=1]
fgArgTabEntry[arg 3 497.FIELD int, 1 reg: r8, align=1]
fgArgTabEntry[arg 4 499.FIELD int, 1 reg: r9, align=1]
Morphing args for 500.CALL:
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000493] ---XG------- * IND ref
[000770] -----+------ \--* ADD byref
[000492] -----+------ +--* LCL_VAR ref V02 loc1
[000769] -----+------ \--* CNS_INT long 128 field offset Fseq[_incReadDecoder]
GenTreeNode creates assertion:
[000493] ---XG------- * IND ref
In BB06 New Local Constant Assertion: V02 != null index=#01, mask=0000000000000001
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000495] *--XG------- * IND ref
[000772] -----+------ \--* ADD byref
[000494] -----+------ +--* LCL_VAR byref V00 this
[000771] -----+------ \--* CNS_INT long 8 field offset Fseq[buffer]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000497] *--XG------- * IND int
[000774] -----+------ \--* ADD byref
[000496] -----+------ +--* LCL_VAR byref V00 this
[000773] -----+------ \--* CNS_INT long 20 field offset Fseq[index]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000499] *--XG------- * IND int
[000776] -----+------ \--* ADD byref
[000498] -----+------ +--* LCL_VAR byref V00 this
[000775] -----+------ \--* CNS_INT long 24 field offset Fseq[count]
argSlots=4, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
( 6, 8) [000493] ---XG------- * IND ref
( 4, 6) [000770] -------N---- \--* ADD byref
( 3, 2) [000492] ------------ +--* LCL_VAR ref V02 loc1
( 1, 4) [000769] ------------ \--* CNS_INT long 128 field offset Fseq[_incReadDecoder]
Replaced with placeholder node:
[000777] ----------L- * ARGPLACE ref
Deferred argument ('r9'):
( 6, 5) [000499] *--XG------- * IND int
( 4, 3) [000776] -------N---- \--* ADD byref
( 3, 2) [000498] ------------ +--* LCL_VAR byref V00 this
( 1, 1) [000775] ------------ \--* CNS_INT long 24 field offset Fseq[count]
Replaced with placeholder node:
[000778] ----------L- * ARGPLACE int
Deferred argument ('rdx'):
( 6, 5) [000495] *--XG------- * IND ref
( 4, 3) [000772] -------N---- \--* ADD byref
( 3, 2) [000494] ------------ +--* LCL_VAR byref V00 this
( 1, 1) [000771] ------------ \--* CNS_INT long 8 field offset Fseq[buffer]
Replaced with placeholder node:
[000779] ----------L- * ARGPLACE ref
Deferred argument ('r8'):
( 6, 5) [000497] *--XG------- * IND int
( 4, 3) [000774] -------N---- \--* ADD byref
( 3, 2) [000496] ------------ +--* LCL_VAR byref V00 this
( 1, 1) [000773] ------------ \--* CNS_INT long 20 field offset Fseq[index]
Replaced with placeholder node:
[000780] ----------L- * ARGPLACE int
Deferred argument ('r11'):
[000768] -----+------ * CNS_INT(h) long 0x436590 ftn REG r11
Replaced with placeholder node:
[000781] ----------L- * ARGPLACE long
Shuffled argument table: rcx r9 rdx r8 r11
ArgTable for 500.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 493.IND ref, 1 reg: rcx, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 4 499.IND int, 1 reg: r9, align=1, lateArgInx=1, processed]
fgArgTabEntry[arg 2 495.IND ref, 1 reg: rdx, align=1, lateArgInx=2, processed]
fgArgTabEntry[arg 3 497.IND int, 1 reg: r8, align=1, lateArgInx=3, processed]
fgArgTabEntry[arg 1 768.CNS_INT long, 1 reg: r11, align=1, lateArgInx=4, processed, isNonStandard]
fgMorphTree BB06, STMT00096 (after)
[000500] --CXG+------ * CALLV stub void System.Xml.IncrementalReadDecoder.SetNextOutputBuffer
( 6, 8) [000493] ---XG------- this in rcx +--* IND ref
( 4, 6) [000770] -------N---- | \--* ADD byref
( 3, 2) [000492] ------------ | +--* LCL_VAR ref V02 loc1
( 1, 4) [000769] ------------ | \--* CNS_INT long 128 field offset Fseq[_incReadDecoder]
( 6, 5) [000499] *--XG------- arg4 in r9 +--* IND int
( 4, 3) [000776] -------N---- | \--* ADD byref
( 3, 2) [000498] ------------ | +--* LCL_VAR byref V00 this
( 1, 1) [000775] ------------ | \--* CNS_INT long 24 field offset Fseq[count]
( 6, 5) [000495] *--XG------- arg2 in rdx +--* IND ref
( 4, 3) [000772] -------N---- | \--* ADD byref
( 3, 2) [000494] ------------ | +--* LCL_VAR byref V00 this
( 1, 1) [000771] ------------ | \--* CNS_INT long 8 field offset Fseq[buffer]
( 6, 5) [000497] *--XG------- arg3 in r8 +--* IND int
( 4, 3) [000774] -------N---- | \--* ADD byref
( 3, 2) [000496] ------------ | +--* LCL_VAR byref V00 this
( 1, 1) [000773] ------------ | \--* CNS_INT long 20 field offset Fseq[index]
[000768] -----+------ arg1 in r11 \--* CNS_INT(h) long 0x436590 ftn REG r11
Morphing BB07 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB07, STMT00039 (before)
[000196] -A-XG------- * ASG int
[000195] ---XG--N---- +--* FIELD int <charsRead>5__2
[000193] ------------ | \--* LCL_VAR byref V00 this
[000194] ------------ \--* CNS_INT int 0
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000195] *--XG--N---- * IND int
[000783] -----+------ \--* ADD byref
[000193] -----+------ +--* LCL_VAR byref V00 this
[000782] -----+------ \--* CNS_INT long 28 field offset Fseq[<charsRead>5__2]
fgMorphTree BB07, STMT00039 (after)
[000196] -A-XG+------ * ASG int
[000195] *--XG+-N---- +--* IND int
[000783] -----+------ | \--* ADD byref
[000193] -----+------ | +--* LCL_VAR byref V00 this
[000782] -----+------ | \--* CNS_INT long 28 field offset Fseq[<charsRead>5__2]
[000194] -----+------ \--* CNS_INT int 0
Morphing BB08 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB08, STMT00105 (before)
[000552] -A-XG------- * ASG ref
[000551] D------N---- +--* LCL_VAR ref V34 tmp15
[000202] ---XG------- \--* FIELD ref _curNode
[000201] ------------ \--* LCL_VAR ref V02 loc1
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000202] ---XG------- * IND ref
[000785] -----+------ \--* ADD byref
[000201] -----+------ +--* LCL_VAR ref V02 loc1
[000784] -----+------ \--* CNS_INT long 24 field offset Fseq[_curNode]
GenTreeNode creates assertion:
[000202] ---XG------- * IND ref
In BB08 New Local Constant Assertion: V02 != null index=#01, mask=0000000000000001
fgMorphTree BB08, STMT00105 (after)
[000552] -A-XG+------ * ASG ref
[000551] D----+-N---- +--* LCL_VAR ref V34 tmp15
[000202] ---XG+------ \--* IND ref
[000785] -----+------ \--* ADD byref
[000201] -----+------ +--* LCL_VAR ref V02 loc1
[000784] -----+------ \--* CNS_INT long 24 field offset Fseq[_curNode]
fgMorphTree BB08, STMT00106 (before)
[000554] -A-XG------- * ASG ref
[000553] D------N---- +--* LCL_VAR ref V35 tmp16
[000204] ---XG------- \--* FIELD ref _incReadDecoder
[000203] ------------ \--* LCL_VAR ref V02 loc1
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000204] ---XG------- * IND ref
[000787] -----+------ \--* ADD byref
[000203] -----+------ +--* LCL_VAR ref V02 loc1
[000786] -----+------ \--* CNS_INT long 128 field offset Fseq[_incReadDecoder]
fgMorphTree BB08, STMT00106 (after)
[000554] -A-XG+------ * ASG ref
[000553] D----+-N---- +--* LCL_VAR ref V35 tmp16
[000204] ---XG+------ \--* IND ref
[000787] -----+------ \--* ADD byref
[000203] -----+------ +--* LCL_VAR ref V02 loc1
[000786] -----+------ \--* CNS_INT long 128 field offset Fseq[_incReadDecoder]
fgMorphTree BB08, STMT00107 (before)
[000556] -A-XG------- * ASG int
[000555] D------N---- +--* LCL_VAR int V36 tmp17
[000206] ---XG------- \--* FIELD int _readValueOffset
[000205] ------------ \--* LCL_VAR ref V02 loc1
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000206] ---XG------- * IND int
[000789] -----+------ \--* ADD byref
[000205] -----+------ +--* LCL_VAR ref V02 loc1
[000788] -----+------ \--* CNS_INT long 360 field offset Fseq[_readValueOffset]
GenTreeNode creates assertion:
[000556] -A-XG------- * ASG int
In BB08 New Local Subrange Assertion: V36 in [-2147483648..2147483647] index=#02, mask=0000000000000002
fgMorphTree BB08, STMT00107 (after)
[000556] -A-XG+------ * ASG int
[000555] D----+-N---- +--* LCL_VAR int V36 tmp17
[000206] ---XG+------ \--* IND int
[000789] -----+------ \--* ADD byref
[000205] -----+------ +--* LCL_VAR ref V02 loc1
[000788] -----+------ \--* CNS_INT long 360 field offset Fseq[_readValueOffset]
fgMorphTree BB08, STMT00102 (before)
[000522] ---XG------- * JTRUE void
[000521] ---XG------- \--* NE int
[000519] ---XG------- +--* FIELD ref _value
[000518] ------------ | \--* LCL_VAR ref V34 tmp15
[000520] ------------ \--* CNS_INT ref null
Querying runtime about current class of field NodeData._value (declared as string)
Field's current class not available
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000519] ---XG------- * IND ref
[000791] -----+------ \--* ADD byref
[000518] -----+------ +--* LCL_VAR ref V34 tmp15
[000790] -----+------ \--* CNS_INT long 40 field offset Fseq[_value]
GenTreeNode creates assertion:
[000519] ---XG------- * IND ref
In BB08 New Local Constant Assertion: V34 != null index=#03, mask=0000000000000004
fgMorphTree BB08, STMT00102 (after)
[000522] ---XG+------ * JTRUE void
[000521] J--XG+-N---- \--* NE int
[000519] ---XG+------ +--* IND ref
[000791] -----+------ | \--* ADD byref
[000518] -----+------ | +--* LCL_VAR ref V34 tmp15
[000790] -----+------ | \--* CNS_INT long 40 field offset Fseq[_value]
[000520] -----+------ \--* CNS_INT ref null
Morphing BB10 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB10, STMT00104 (before)
[000549] -ACXG------- * ASG int
[000548] D------N---- +--* LCL_VAR int V33 tmp14
[000547] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000536] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000538] ---XG------- arg1 +--* FIELD ref _chars
[000537] ------------ | \--* LCL_VAR ref V34 tmp15
[000542] ---XG------- arg2 +--* ADD int
[000540] ---XG------- | +--* FIELD int _valueStartPos
[000539] ------------ | | \--* LCL_VAR ref V34 tmp15
[000541] ------------ | \--* LCL_VAR int V36 tmp17
[000546] ---XG------- arg3 \--* SUB int
[000544] ---XG------- +--* FIELD int _valueLength
[000543] ------------ | \--* LCL_VAR ref V34 tmp15
[000545] ------------ \--* LCL_VAR int V36 tmp17
Initializing arg info for 547.CALL:
ArgTable for 547.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 536.LCL_VAR ref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 792.CNS_INT long, 1 reg: r11, align=1, isNonStandard]
fgArgTabEntry[arg 2 538.FIELD ref, 1 reg: rdx, align=1]
fgArgTabEntry[arg 3 542.ADD int, 1 reg: r8, align=1]
fgArgTabEntry[arg 4 546.SUB int, 1 reg: r9, align=1]
Morphing args for 547.CALL:
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000538] ---XG------- * IND ref
[000794] -----+------ \--* ADD byref
[000537] -----+------ +--* LCL_VAR ref V34 tmp15
[000793] -----+------ \--* CNS_INT long 48 field offset Fseq[_chars]
GenTreeNode creates assertion:
[000538] ---XG------- * IND ref
In BB10 New Local Constant Assertion: V34 != null index=#01, mask=0000000000000001
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000540] ---XG------- * IND int
[000796] -----+------ \--* ADD byref
[000539] -----+------ +--* LCL_VAR ref V34 tmp15
[000795] -----+------ \--* CNS_INT long 84 field offset Fseq[_valueStartPos]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000544] ---XG------- * IND int
[000798] -----+------ \--* ADD byref
[000543] -----+------ +--* LCL_VAR ref V34 tmp15
[000797] -----+------ \--* CNS_INT long 88 field offset Fseq[_valueLength]
argSlots=4, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('r8'):
( 10, 8) [000542] ---XG------- * ADD int
( 6, 5) [000540] ---XG------- +--* IND int
( 4, 3) [000796] -------N---- | \--* ADD byref
( 3, 2) [000539] ------------ | +--* LCL_VAR ref V34 tmp15
( 1, 1) [000795] ------------ | \--* CNS_INT long 84 field offset Fseq[_valueStartPos]
( 3, 2) [000541] ------------ \--* LCL_VAR int V36 tmp17
Replaced with placeholder node:
[000799] ----------L- * ARGPLACE int
Deferred argument ('r9'):
( 10, 8) [000546] ---XG------- * SUB int
( 6, 5) [000544] ---XG------- +--* IND int
( 4, 3) [000798] -------N---- | \--* ADD byref
( 3, 2) [000543] ------------ | +--* LCL_VAR ref V34 tmp15
( 1, 1) [000797] ------------ | \--* CNS_INT long 88 field offset Fseq[_valueLength]
( 3, 2) [000545] ------------ \--* LCL_VAR int V36 tmp17
Replaced with placeholder node:
[000800] ----------L- * ARGPLACE int
Deferred argument ('rdx'):
( 6, 5) [000538] ---XG------- * IND ref
( 4, 3) [000794] -------N---- \--* ADD byref
( 3, 2) [000537] ------------ +--* LCL_VAR ref V34 tmp15
( 1, 1) [000793] ------------ \--* CNS_INT long 48 field offset Fseq[_chars]
Replaced with placeholder node:
[000801] ----------L- * ARGPLACE ref
Deferred argument ('rcx'):
[000536] -----+------ * LCL_VAR ref V35 tmp16
Replaced with placeholder node:
[000802] ----------L- * ARGPLACE ref
Deferred argument ('r11'):
[000792] -----+------ * CNS_INT(h) long 0x436270 ftn REG r11
Replaced with placeholder node:
[000803] ----------L- * ARGPLACE long
Shuffled argument table: r8 r9 rdx rcx r11
ArgTable for 547.CALL after fgMorphArgs:
fgArgTabEntry[arg 3 542.ADD int, 1 reg: r8, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 4 546.SUB int, 1 reg: r9, align=1, lateArgInx=1, processed]
fgArgTabEntry[arg 2 538.IND ref, 1 reg: rdx, align=1, lateArgInx=2, processed]
fgArgTabEntry[arg 0 536.LCL_VAR ref, 1 reg: rcx, align=1, lateArgInx=3, processed]
fgArgTabEntry[arg 1 792.CNS_INT long, 1 reg: r11, align=1, lateArgInx=4, processed, isNonStandard]
GenTreeNode creates assertion:
[000547] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
In BB10 New Local Constant Assertion: V35 != null index=#02, mask=0000000000000002
fgMorphTree BB10, STMT00104 (after)
[000549] -ACXG+------ * ASG int
[000548] D----+-N---- +--* LCL_VAR int V33 tmp14
[000547] --CXG+------ \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
( 10, 8) [000542] ---XG------- arg3 in r8 +--* ADD int
( 6, 5) [000540] ---XG------- | +--* IND int
( 4, 3) [000796] -------N---- | | \--* ADD byref
( 3, 2) [000539] ------------ | | +--* LCL_VAR ref V34 tmp15
( 1, 1) [000795] ------------ | | \--* CNS_INT long 84 field offset Fseq[_valueStartPos]
( 3, 2) [000541] ------------ | \--* LCL_VAR int V36 tmp17
( 10, 8) [000546] ---XG------- arg4 in r9 +--* SUB int
( 6, 5) [000544] ---XG------- | +--* IND int
( 4, 3) [000798] -------N---- | | \--* ADD byref
( 3, 2) [000543] ------------ | | +--* LCL_VAR ref V34 tmp15
( 1, 1) [000797] ------------ | | \--* CNS_INT long 88 field offset Fseq[_valueLength]
( 3, 2) [000545] ------------ | \--* LCL_VAR int V36 tmp17
( 6, 5) [000538] ---XG------- arg2 in rdx +--* IND ref
( 4, 3) [000794] -------N---- | \--* ADD byref
( 3, 2) [000537] ------------ | +--* LCL_VAR ref V34 tmp15
( 1, 1) [000793] ------------ | \--* CNS_INT long 48 field offset Fseq[_chars]
[000536] -----+------ this in rcx +--* LCL_VAR ref V35 tmp16
[000792] -----+------ arg1 in r11 \--* CNS_INT(h) long 0x436270 ftn REG r11
Morphing BB11 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB11, STMT00103 (before)
[000534] -ACXG------- * ASG int
[000533] D------N---- +--* LCL_VAR int V33 tmp14
[000532] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
[000523] ------------ this in rcx +--* LCL_VAR ref V35 tmp16
[000525] ---XG------- arg1 +--* FIELD ref _value
[000524] ------------ | \--* LCL_VAR ref V34 tmp15
[000526] ------------ arg2 +--* LCL_VAR int V36 tmp17
[000531] ---XG------- arg3 \--* SUB int
[000529] ---XG------- +--* ARR_LENGTH int
[000528] ---XG------- | \--* FIELD ref _value
[000527] ------------ | \--* LCL_VAR ref V34 tmp15
[000530] ------------ \--* LCL_VAR int V36 tmp17
Initializing arg info for 532.CALL:
ArgTable for 532.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 523.LCL_VAR ref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 804.CNS_INT long, 1 reg: r11, align=1, isNonStandard]
fgArgTabEntry[arg 2 525.FIELD ref, 1 reg: rdx, align=1]
fgArgTabEntry[arg 3 526.LCL_VAR int, 1 reg: r8, align=1]
fgArgTabEntry[arg 4 531.SUB int, 1 reg: r9, align=1]
Morphing args for 532.CALL:
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000525] ---XG------- * IND ref
[000806] -----+------ \--* ADD byref
[000524] -----+------ +--* LCL_VAR ref V34 tmp15
[000805] -----+------ \--* CNS_INT long 40 field offset Fseq[_value]
GenTreeNode creates assertion:
[000525] ---XG------- * IND ref
In BB11 New Local Constant Assertion: V34 != null index=#01, mask=0000000000000001
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000528] ---XG------- * IND ref
[000808] -----+------ \--* ADD byref
[000527] -----+------ +--* LCL_VAR ref V34 tmp15
[000807] -----+------ \--* CNS_INT long 40 field offset Fseq[_value]
argSlots=4, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('r9'):
( 12, 10) [000531] ---XG------- * SUB int
( 8, 7) [000529] ---XG------- +--* ARR_LENGTH int
( 6, 5) [000528] ---XG------- | \--* IND ref
( 4, 3) [000808] -------N---- | \--* ADD byref
( 3, 2) [000527] ------------ | +--* LCL_VAR ref V34 tmp15
( 1, 1) [000807] ------------ | \--* CNS_INT long 40 field offset Fseq[_value]
( 3, 2) [000530] ------------ \--* LCL_VAR int V36 tmp17
Replaced with placeholder node:
[000809] ----------L- * ARGPLACE int
Deferred argument ('rdx'):
( 6, 5) [000525] ---XG------- * IND ref
( 4, 3) [000806] -------N---- \--* ADD byref
( 3, 2) [000524] ------------ +--* LCL_VAR ref V34 tmp15
( 1, 1) [000805] ------------ \--* CNS_INT long 40 field offset Fseq[_value]
Replaced with placeholder node:
[000810] ----------L- * ARGPLACE ref
Deferred argument ('rcx'):
[000523] -----+------ * LCL_VAR ref V35 tmp16
Replaced with placeholder node:
[000811] ----------L- * ARGPLACE ref
Deferred argument ('r8'):
[000526] -----+------ * LCL_VAR int V36 tmp17
Replaced with placeholder node:
[000812] ----------L- * ARGPLACE int
Deferred argument ('r11'):
[000804] -----+------ * CNS_INT(h) long 0x4365B0 ftn REG r11
Replaced with placeholder node:
[000813] ----------L- * ARGPLACE long
Shuffled argument table: r9 rdx rcx r8 r11
ArgTable for 532.CALL after fgMorphArgs:
fgArgTabEntry[arg 4 531.SUB int, 1 reg: r9, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 2 525.IND ref, 1 reg: rdx, align=1, lateArgInx=1, processed]
fgArgTabEntry[arg 0 523.LCL_VAR ref, 1 reg: rcx, align=1, lateArgInx=2, processed]
fgArgTabEntry[arg 3 526.LCL_VAR int, 1 reg: r8, align=1, lateArgInx=3, processed]
fgArgTabEntry[arg 1 804.CNS_INT long, 1 reg: r11, align=1, lateArgInx=4, processed, isNonStandard]
GenTreeNode creates assertion:
[000532] --CXG------- * CALLV stub int System.Xml.IncrementalReadDecoder.Decode
In BB11 New Local Constant Assertion: V35 != null index=#02, mask=0000000000000002
fgMorphTree BB11, STMT00103 (after)
[000534] -ACXG+------ * ASG int
[000533] D----+-N---- +--* LCL_VAR int V33 tmp14
[000532] --CXG+------ \--* CALLV stub int System.Xml.IncrementalReadDecoder.Decode
( 12, 10) [000531] ---XG------- arg4 in r9 +--* SUB int
( 8, 7) [000529] ---XG------- | +--* ARR_LENGTH int
( 6, 5) [000528] ---XG------- | | \--* IND ref
( 4, 3) [000808] -------N---- | | \--* ADD byref
( 3, 2) [000527] ------------ | | +--* LCL_VAR ref V34 tmp15
( 1, 1) [000807] ------------ | | \--* CNS_INT long 40 field offset Fseq[_value]
( 3, 2) [000530] ------------ | \--* LCL_VAR int V36 tmp17
( 6, 5) [000525] ---XG------- arg2 in rdx +--* IND ref
( 4, 3) [000806] -------N---- | \--* ADD byref
( 3, 2) [000524] ------------ | +--* LCL_VAR ref V34 tmp15
( 1, 1) [000805] ------------ | \--* CNS_INT long 40 field offset Fseq[_value]
[000523] -----+------ this in rcx +--* LCL_VAR ref V35 tmp16
[000526] -----+------ arg3 in r8 +--* LCL_VAR int V36 tmp17
[000804] -----+------ arg1 in r11 \--* CNS_INT(h) long 0x4365B0 ftn REG r11
Morphing BB12 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB12, STMT00041 (before)
[000210] -ACXG------- * ASG int
[000209] ---XG--N---- +--* FIELD int <charsRead>5__2
[000200] ------------ | \--* LCL_VAR byref V00 this
[000550] ------------ \--* LCL_VAR int V33 tmp14
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000209] *--XG--N---- * IND int
[000815] -----+------ \--* ADD byref
[000200] -----+------ +--* LCL_VAR byref V00 this
[000814] -----+------ \--* CNS_INT long 28 field offset Fseq[<charsRead>5__2]
fgMorphTree BB12, STMT00041 (after)
[000210] -A-XG+------ * ASG int
[000209] *--XG+-N---- +--* IND int
[000815] -----+------ | \--* ADD byref
[000200] -----+------ | +--* LCL_VAR byref V00 this
[000814] -----+------ | \--* CNS_INT long 28 field offset Fseq[<charsRead>5__2]
[000550] -----+------ \--* LCL_VAR int V33 tmp14
Morphing BB13 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB13, STMT00053 (before)
[000262] -A---O------ * ASG ref
[000261] D------N---- +--* LCL_VAR ref V26 tmp7
[000198] -----O------ \--* CATCH_ARG ref
fgMorphTree BB13, STMT00054 (before)
[000265] -A---------- * ASG ref
[000264] D------N---- +--* LCL_VAR ref V04 loc3
[000263] ------------ \--* LCL_VAR ref V26 tmp7
GenTreeNode creates assertion:
[000265] -A---------- * ASG ref
In BB13 New Local Copy Assertion: V04 == V26 index=#01, mask=0000000000000001
fgMorphTree BB13, STMT00055 (before)
[000277] --CXG------- * CALL r2r_ind void NodeData.AdjustLineInfo
[000267] ---XG------- this in rcx +--* FIELD ref _curNode
[000266] ------------ | \--* LCL_VAR ref V02 loc1
[000269] ---XG------- arg1 +--* FIELD int _readValueOffset
[000268] ------------ | \--* LCL_VAR ref V02 loc1
[000273] ---XG------- arg2 +--* FIELD bool eolNormalized
[000272] ---XG------- | \--* ADDR byref
[000271] ---XG------- | \--* FIELD struct _ps
[000270] ------------ | \--* LCL_VAR ref V02 loc1
[000276] ---XG------- arg3 \--* ADDR byref
[000275] ---XG------- \--* FIELD struct _incReadLineInfo
[000274] ------------ \--* LCL_VAR ref V02 loc1
Initializing arg info for 277.CALL:
ArgTable for 277.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 267.FIELD ref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 269.FIELD int, 1 reg: rdx, align=1]
fgArgTabEntry[arg 2 273.FIELD bool, 1 reg: r8, align=1]
fgArgTabEntry[arg 3 276.ADDR byref, 1 reg: r9, align=1]
Morphing args for 277.CALL:
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000267] ---XG------- * IND ref
[000817] -----+------ \--* ADD byref
[000266] -----+------ +--* LCL_VAR ref V02 loc1
[000816] -----+------ \--* CNS_INT long 24 field offset Fseq[_curNode]
GenTreeNode creates assertion:
[000267] ---XG------- * IND ref
In BB13 New Local Constant Assertion: V02 != null index=#02, mask=0000000000000002
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000269] ---XG------- * IND int
[000819] -----+------ \--* ADD byref
[000268] -----+------ +--* LCL_VAR ref V02 loc1
[000818] -----+------ \--* CNS_INT long 360 field offset Fseq[_readValueOffset]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000271] ---XG--N---- * IND struct
[000823] -----+------ \--* ADD byref
[000270] -----+------ +--* LCL_VAR ref V02 loc1
[000822] -----+------ \--* CNS_INT long 400 field offset Fseq[_ps]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000273] *--XG------- * IND bool
[000823] -----+------ \--* ADD byref
[000270] -----+------ +--* LCL_VAR ref V02 loc1
[000822] -----+------ \--* CNS_INT long 503 field offset Fseq[_ps, eolNormalized]
Before explicit null check morphing:
[000275] ---XG--N---- * FIELD struct _incReadLineInfo
[000274] ------------ \--* LCL_VAR ref V02 loc1
After adding explicit null check:
[000275] ---XG--N---- * IND struct
[000829] ---X-------- \--* COMMA byref
[000825] ---X---N---- +--* NULLCHECK byte
[000824] ------------ | \--* LCL_VAR ref V02 loc1
[000828] ------------ \--* ADD byref
[000826] ------------ +--* LCL_VAR ref V02 loc1
[000827] ------------ \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo]
Non-null prop for index #02 in BB13:
[000825] ---X---N---- * NULLCHECK byte
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000275] ---XG--N---- * IND struct
[000828] -----+------ \--* ADD byref
[000826] -----+------ +--* LCL_VAR ref V02 loc1
[000827] -----+------ \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo]
argSlots=4, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('r8'):
( 7, 9) [000273] *--XG------- * IND bool
( 4, 6) [000823] -------N---- \--* ADD byref
( 3, 2) [000270] ------------ +--* LCL_VAR ref V02 loc1
( 1, 4) [000822] ------------ \--* CNS_INT long 503 field offset Fseq[_ps, eolNormalized]
Replaced with placeholder node:
[000830] ----------L- * ARGPLACE bool
Deferred argument ('rdx'):
( 6, 8) [000269] ---XG------- * IND int
( 4, 6) [000819] -------N---- \--* ADD byref
( 3, 2) [000268] ------------ +--* LCL_VAR ref V02 loc1
( 1, 4) [000818] ------------ \--* CNS_INT long 360 field offset Fseq[_readValueOffset]
Replaced with placeholder node:
[000831] ----------L- * ARGPLACE int
Deferred argument ('rcx'):
( 6, 5) [000267] ---XG------- * IND ref
( 4, 3) [000817] -------N---- \--* ADD byref
( 3, 2) [000266] ------------ +--* LCL_VAR ref V02 loc1
( 1, 1) [000816] ------------ \--* CNS_INT long 24 field offset Fseq[_curNode]
Replaced with placeholder node:
[000832] ----------L- * ARGPLACE ref
Deferred argument ('r9'):
( 5, 7) [000828] ------------ * ADD byref
( 3, 2) [000826] ------------ +--* LCL_VAR ref V02 loc1
( 1, 4) [000827] ------------ \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo]
Replaced with placeholder node:
[000833] ----------L- * ARGPLACE byref
Shuffled argument table: r8 rdx rcx r9
ArgTable for 277.CALL after fgMorphArgs:
fgArgTabEntry[arg 2 273.IND bool, 1 reg: r8, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 1 269.IND int, 1 reg: rdx, align=1, lateArgInx=1, processed]
fgArgTabEntry[arg 0 267.IND ref, 1 reg: rcx, align=1, lateArgInx=2, processed]
fgArgTabEntry[arg 3 828.ADD byref, 1 reg: r9, align=1, lateArgInx=3, processed]
fgMorphTree BB13, STMT00055 (after)
[000277] --CXG+------ * CALL r2r_ind void NodeData.AdjustLineInfo
( 7, 9) [000273] *--XG------- arg2 in r8 +--* IND bool
( 4, 6) [000823] -------N---- | \--* ADD byref
( 3, 2) [000270] ------------ | +--* LCL_VAR ref V02 loc1
( 1, 4) [000822] ------------ | \--* CNS_INT long 503 field offset Fseq[_ps, eolNormalized]
( 6, 8) [000269] ---XG------- arg1 in rdx +--* IND int
( 4, 6) [000819] -------N---- | \--* ADD byref
( 3, 2) [000268] ------------ | +--* LCL_VAR ref V02 loc1
( 1, 4) [000818] ------------ | \--* CNS_INT long 360 field offset Fseq[_readValueOffset]
( 6, 5) [000267] ---XG------- this in rcx +--* IND ref
( 4, 3) [000817] -------N---- | \--* ADD byref
( 3, 2) [000266] ------------ | +--* LCL_VAR ref V02 loc1
( 1, 1) [000816] ------------ | \--* CNS_INT long 24 field offset Fseq[_curNode]
( 5, 7) [000828] ------------ arg3 in r9 \--* ADD byref
( 3, 2) [000826] ------------ +--* LCL_VAR ref V02 loc1
( 1, 4) [000827] ------------ \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo]
fgMorphTree BB13, STMT00056 (before)
[000288] --CXG------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
[000278] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000279] ------------ arg1 +--* LCL_VAR ref V04 loc3
[000283] ---XG------- arg2 +--* FIELD int lineNo
[000282] ---XG------- | \--* ADDR byref
[000281] ---XG------- | \--* FIELD struct _incReadLineInfo
[000280] ------------ | \--* LCL_VAR ref V02 loc1
[000287] ---XG------- arg3 \--* FIELD int linePos
[000286] ---XG------- \--* ADDR byref
[000285] ---XG------- \--* FIELD struct _incReadLineInfo
[000284] ------------ \--* LCL_VAR ref V02 loc1
Initializing arg info for 288.CALL:
ArgTable for 288.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 278.LCL_VAR ref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 279.LCL_VAR ref, 1 reg: rdx, align=1]
fgArgTabEntry[arg 2 283.FIELD int, 1 reg: r8, align=1]
fgArgTabEntry[arg 3 287.FIELD int, 1 reg: r9, align=1]
Morphing args for 288.CALL:
Assertion prop in BB13:
Copy Assertion: V04 == V26 index=#01, mask=0000000000000001
[000279] ------------ * LCL_VAR ref V26 tmp7
Before calling fgAddFieldSeqForZeroOffset:
[000283] *--XG------- * IND int
[000282] ---XG------- \--* ADDR byref
[000281] ---XG------- \--* FIELD struct _incReadLineInfo
[000280] ------------ \--* LCL_VAR ref V02 loc1
fgAddFieldSeqForZeroOffset for Fseq[lineNo]
addr (Before)
[000282] ---XG------- ADDR byref
(After)
[000282] ---XG------- ADDR byref Zero Fseq[lineNo]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000281] ---XG--N---- * IND struct
[000835] -----+------ \--* ADD byref
[000280] -----+------ +--* LCL_VAR ref V02 loc1
[000834] -----+------ \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo]
fgAddFieldSeqForZeroOffset for Fseq[lineNo]
addr (Before)
[000835] -----+------ ADD byref
(After)
[000834] -----+------ CNS_INT long
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000283] *--XG------- * IND int
[000835] -----+------ \--* ADD byref
[000280] -----+------ +--* LCL_VAR ref V02 loc1
[000834] -----+------ \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo, lineNo]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000285] ---XG--N---- * IND struct
[000839] -----+------ \--* ADD byref
[000284] -----+------ +--* LCL_VAR ref V02 loc1
[000838] -----+------ \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000287] *--XG------- * IND int
[000839] -----+------ \--* ADD byref
[000284] -----+------ +--* LCL_VAR ref V02 loc1
[000838] -----+------ \--* CNS_INT long 516 field offset Fseq[_incReadLineInfo, linePos]
argSlots=4, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('r8'):
( 6, 8) [000283] *--XG------- * IND int
( 4, 6) [000835] -------N---- \--* ADD byref
( 3, 2) [000280] ------------ +--* LCL_VAR ref V02 loc1
( 1, 4) [000834] ------------ \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo, lineNo]
Replaced with placeholder node:
[000840] ----------L- * ARGPLACE int
Deferred argument ('r9'):
( 6, 8) [000287] *--XG------- * IND int
( 4, 6) [000839] -------N---- \--* ADD byref
( 3, 2) [000284] ------------ +--* LCL_VAR ref V02 loc1
( 1, 4) [000838] ------------ \--* CNS_INT long 516 field offset Fseq[_incReadLineInfo, linePos]
Replaced with placeholder node:
[000841] ----------L- * ARGPLACE int
Deferred argument ('rcx'):
[000278] -----+------ * LCL_VAR ref V02 loc1
Replaced with placeholder node:
[000842] ----------L- * ARGPLACE ref
Deferred argument ('rdx'):
[000279] -----+------ * LCL_VAR ref V26 tmp7
Replaced with placeholder node:
[000843] ----------L- * ARGPLACE ref
Shuffled argument table: r8 r9 rcx rdx
ArgTable for 288.CALL after fgMorphArgs:
fgArgTabEntry[arg 2 283.IND int, 1 reg: r8, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 3 287.IND int, 1 reg: r9, align=1, lateArgInx=1, processed]
fgArgTabEntry[arg 0 278.LCL_VAR ref, 1 reg: rcx, align=1, lateArgInx=2, processed]
fgArgTabEntry[arg 1 279.LCL_VAR ref, 1 reg: rdx, align=1, lateArgInx=3, processed]
fgMorphTree BB13, STMT00056 (after)
[000288] --CXG+------ * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ReThrow
( 6, 8) [000283] *--XG------- arg2 in r8 +--* IND int
( 4, 6) [000835] -------N---- | \--* ADD byref
( 3, 2) [000280] ------------ | +--* LCL_VAR ref V02 loc1
( 1, 4) [000834] ------------ | \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo, lineNo]
( 6, 8) [000287] *--XG------- arg3 in r9 +--* IND int
( 4, 6) [000839] -------N---- | \--* ADD byref
( 3, 2) [000284] ------------ | +--* LCL_VAR ref V02 loc1
( 1, 4) [000838] ------------ | \--* CNS_INT long 516 field offset Fseq[_incReadLineInfo, linePos]
[000278] -----+------ this in rcx +--* LCL_VAR ref V02 loc1
[000279] -----+------ arg1 in rdx \--* LCL_VAR ref V26 tmp7
Morphing BB14 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB14, STMT00042 (before)
[000218] -A-XG------- * ASG int
[000217] ---XG--N---- +--* FIELD int _readValueOffset
[000211] ------------ | \--* LCL_VAR ref V02 loc1
[000216] ---XG------- \--* ADD int
[000213] ---XG------- +--* FIELD int _readValueOffset
[000212] ------------ | \--* LCL_VAR ref V02 loc1
[000215] ---XG------- \--* FIELD int <charsRead>5__2
[000214] ------------ \--* LCL_VAR byref V00 this
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000217] ---XG--N---- * IND int
[000845] -----+------ \--* ADD byref
[000211] -----+------ +--* LCL_VAR ref V02 loc1
[000844] -----+------ \--* CNS_INT long 360 field offset Fseq[_readValueOffset]
GenTreeNode creates assertion:
[000217] ---XG--N---- * IND int
In BB14 New Local Constant Assertion: V02 != null index=#01, mask=0000000000000001
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000213] ---XG------- * IND int
[000847] -----+------ \--* ADD byref
[000212] -----+------ +--* LCL_VAR ref V02 loc1
[000846] -----+------ \--* CNS_INT long 360 field offset Fseq[_readValueOffset]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000215] *--XG------- * IND int
[000849] -----+------ \--* ADD byref
[000214] -----+------ +--* LCL_VAR byref V00 this
[000848] -----+------ \--* CNS_INT long 28 field offset Fseq[<charsRead>5__2]
fgMorphTree BB14, STMT00042 (after)
[000218] -A-XG+------ * ASG int
[000217] ---XG+-N---- +--* IND int
[000845] -----+------ | \--* ADD byref
[000211] -----+------ | +--* LCL_VAR ref V02 loc1
[000844] -----+------ | \--* CNS_INT long 360 field offset Fseq[_readValueOffset]
[000216] ---XG+------ \--* ADD int
[000213] ---XG+------ +--* IND int
[000847] -----+------ | \--* ADD byref
[000212] -----+------ | +--* LCL_VAR ref V02 loc1
[000846] -----+------ | \--* CNS_INT long 360 field offset Fseq[_readValueOffset]
[000215] *--XG+------ \--* IND int
[000849] -----+------ \--* ADD byref
[000214] -----+------ +--* LCL_VAR byref V00 this
[000848] -----+------ \--* CNS_INT long 28 field offset Fseq[<charsRead>5__2]
fgMorphTree BB14, STMT00043 (before)
[000225] --CXG------- * JTRUE void
[000224] --CXG------- \--* EQ int
[000222] --CXG------- +--* CAST int <- bool <- int
[000221] --CXG------- | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000220] ---XG------- this in rcx | \--* FIELD ref _incReadDecoder
[000219] ------------ | \--* LCL_VAR ref V02 loc1
[000223] ------------ \--* CNS_INT int 0
Initializing arg info for 221.CALL:
ArgTable for 221.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 220.FIELD ref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 850.CNS_INT long, 1 reg: r11, align=1, isNonStandard]
Morphing args for 221.CALL:
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000220] ---XG------- * IND ref
[000852] -----+------ \--* ADD byref
[000219] -----+------ +--* LCL_VAR ref V02 loc1
[000851] -----+------ \--* CNS_INT long 128 field offset Fseq[_incReadDecoder]
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000220] ---XG+------ * IND ref
[000852] -----+------ \--* ADD byref
[000219] -----+------ +--* LCL_VAR ref V02 loc1
[000851] -----+------ \--* CNS_INT long 128 field offset Fseq[_incReadDecoder]
Replaced with placeholder node:
[000853] ----------L- * ARGPLACE ref
Deferred argument ('r11'):
[000850] -----+------ * CNS_INT(h) long 0x436288 ftn REG r11
Replaced with placeholder node:
[000854] ----------L- * ARGPLACE long
Shuffled argument table: rcx r11
ArgTable for 221.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 220.IND ref, 1 reg: rcx, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 1 850.CNS_INT long, 1 reg: r11, align=1, lateArgInx=1, processed, isNonStandard]
fgMorphTree BB14, STMT00043 (after)
[000225] --CXG+------ * JTRUE void
[000224] J-CXG+-N---- \--* EQ int
[000222] --CXG+------ +--* CAST int <- bool <- int
[000221] --CXG+------ | \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_IsFull
[000220] ---XG+------ this in rcx | +--* IND ref
[000852] -----+------ | | \--* ADD byref
[000219] -----+------ | | +--* LCL_VAR ref V02 loc1
[000851] -----+------ | | \--* CNS_INT long 128 field offset Fseq[_incReadDecoder]
[000850] -----+------ arg1 in r11 | \--* CNS_INT(h) long 0x436288 ftn REG r11
[000223] -----+------ \--* CNS_INT int 0
Morphing BB15 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB15, STMT00049 (before)
[000250] -ACXG------- * ASG int
[000249] D------N---- +--* LCL_VAR int V03 loc2
[000248] --CXG------- \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000247] ---XG------- this in rcx \--* FIELD ref _incReadDecoder
[000246] ------------ \--* LCL_VAR ref V02 loc1
Initializing arg info for 248.CALL:
ArgTable for 248.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 247.FIELD ref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 855.CNS_INT long, 1 reg: r11, align=1, isNonStandard]
Morphing args for 248.CALL:
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000247] ---XG------- * IND ref
[000857] -----+------ \--* ADD byref
[000246] -----+------ +--* LCL_VAR ref V02 loc1
[000856] -----+------ \--* CNS_INT long 128 field offset Fseq[_incReadDecoder]
GenTreeNode creates assertion:
[000247] ---XG------- * IND ref
In BB15 New Local Constant Assertion: V02 != null index=#01, mask=0000000000000001
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000247] ---XG+------ * IND ref
[000857] -----+------ \--* ADD byref
[000246] -----+------ +--* LCL_VAR ref V02 loc1
[000856] -----+------ \--* CNS_INT long 128 field offset Fseq[_incReadDecoder]
Replaced with placeholder node:
[000858] ----------L- * ARGPLACE ref
Deferred argument ('r11'):
[000855] -----+------ * CNS_INT(h) long 0x4363A8 ftn REG r11
Replaced with placeholder node:
[000859] ----------L- * ARGPLACE long
Shuffled argument table: rcx r11
ArgTable for 248.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 247.IND ref, 1 reg: rcx, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 1 855.CNS_INT long, 1 reg: r11, align=1, lateArgInx=1, processed, isNonStandard]
fgMorphTree BB15, STMT00049 (after)
[000250] -ACXG+------ * ASG int
[000249] D----+-N---- +--* LCL_VAR int V03 loc2
[000248] --CXG+------ \--* CALLV stub int System.Xml.IncrementalReadDecoder.get_DecodedCount
[000247] ---XG+------ this in rcx +--* IND ref
[000857] -----+------ | \--* ADD byref
[000246] -----+------ | +--* LCL_VAR ref V02 loc1
[000856] -----+------ | \--* CNS_INT long 128 field offset Fseq[_incReadDecoder]
[000855] -----+------ arg1 in r11 \--* CNS_INT(h) long 0x4363A8 ftn REG r11
Morphing BB16 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB16, STMT00044 (before)
[000230] ---XG------- * JTRUE void
[000229] N--XG----U-- \--* NE int
[000227] ---XG------- +--* FIELD int _incReadState
[000226] ------------ | \--* LCL_VAR ref V02 loc1
[000228] ------------ \--* CNS_INT int 13
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000227] ---XG------- * IND int
[000861] -----+------ \--* ADD byref
[000226] -----+------ +--* LCL_VAR ref V02 loc1
[000860] -----+------ \--* CNS_INT long 324 field offset Fseq[_incReadState]
GenTreeNode creates assertion:
[000227] ---XG------- * IND int
In BB16 New Local Constant Assertion: V02 != null index=#01, mask=0000000000000001
fgMorphTree BB16, STMT00044 (after)
[000230] ---XG+------ * JTRUE void
[000229] N--XG+-N-U-- \--* NE int
[000227] ---XG+------ +--* IND int
[000861] -----+------ | \--* ADD byref
[000226] -----+------ | +--* LCL_VAR ref V02 loc1
[000860] -----+------ | \--* CNS_INT long 324 field offset Fseq[_incReadState]
[000228] -----+------ \--* CNS_INT int 13
Morphing BB17 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB17, STMT00110 (before)
[000567] -A-XG------- * ASG ref
[000566] D------N---- +--* LCL_VAR ref V37 tmp18
[000232] ---XG------- \--* FIELD ref _curNode
[000231] ------------ \--* LCL_VAR ref V02 loc1
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000232] ---XG------- * IND ref
[000863] -----+------ \--* ADD byref
[000231] -----+------ +--* LCL_VAR ref V02 loc1
[000862] -----+------ \--* CNS_INT long 24 field offset Fseq[_curNode]
GenTreeNode creates assertion:
[000232] ---XG------- * IND ref
In BB17 New Local Constant Assertion: V02 != null index=#01, mask=0000000000000001
fgMorphTree BB17, STMT00110 (after)
[000567] -A-XG+------ * ASG ref
[000566] D----+-N---- +--* LCL_VAR ref V37 tmp18
[000232] ---XG+------ \--* IND ref
[000863] -----+------ \--* ADD byref
[000231] -----+------ +--* LCL_VAR ref V02 loc1
[000862] -----+------ \--* CNS_INT long 24 field offset Fseq[_curNode]
fgMorphTree BB17, STMT00111 (before)
[000569] -A--G------- * ASG ref
[000568] D------N---- +--* LCL_VAR ref V38 tmp19
[000235] n---G------- \--* IND ref
[000234] #----------- \--* IND long
[000233] ------------ \--* CNS_INT(h) long 0x4217B8 pstr
fgMorphTree BB17, STMT00108 (before)
[000561] -A-XG------- * ASG int
[000560] ---XG--N---- +--* FIELD int _valueStartPos
[000558] ------------ | \--* LCL_VAR ref V37 tmp18
[000559] ------------ \--* CNS_INT int -1
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000560] ---XG--N---- * IND int
[000865] -----+------ \--* ADD byref
[000558] -----+------ +--* LCL_VAR ref V37 tmp18
[000864] -----+------ \--* CNS_INT long 84 field offset Fseq[_valueStartPos]
GenTreeNode creates assertion:
[000560] ---XG--N---- * IND int
In BB17 New Local Constant Assertion: V37 != null index=#02, mask=0000000000000002
fgMorphTree BB17, STMT00108 (after)
[000561] -A-XG+------ * ASG int
[000560] ---XG+-N---- +--* IND int
[000865] -----+------ | \--* ADD byref
[000558] -----+------ | +--* LCL_VAR ref V37 tmp18
[000864] -----+------ | \--* CNS_INT long 84 field offset Fseq[_valueStartPos]
[000559] -----+------ \--* CNS_INT int -1
fgMorphTree BB17, STMT00109 (before)
[000565] -A-XG------- * ASG ref
[000564] ---XG--N---- +--* FIELD ref _value
[000562] ------------ | \--* LCL_VAR ref V37 tmp18
[000563] ------------ \--* LCL_VAR ref V38 tmp19
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000564] ---XG--N---- * IND ref
[000867] -----+------ \--* ADD byref
[000562] -----+------ +--* LCL_VAR ref V37 tmp18
[000866] -----+------ \--* CNS_INT long 40 field offset Fseq[_value]
fgMorphTree BB17, STMT00109 (after)
[000565] -A-XG+------ * ASG ref
[000564] ---XG+-N---- +--* IND ref
[000867] -----+------ | \--* ADD byref
[000562] -----+------ | +--* LCL_VAR ref V37 tmp18
[000866] -----+------ | \--* CNS_INT long 40 field offset Fseq[_value]
[000563] -----+------ \--* LCL_VAR ref V38 tmp19
fgMorphTree BB17, STMT00046 (before)
[000239] -A---------- * ASG int
[000238] D------N---- +--* LCL_VAR int V05 loc4
[000237] ------------ \--* CNS_INT int 0
GenTreeNode creates assertion:
[000239] -A---------- * ASG int
In BB17 New Local Constant Assertion: V05 == 0 index=#03, mask=0000000000000004
fgMorphTree BB17, STMT00047 (before)
[000242] -A---------- * ASG int
[000241] D------N---- +--* LCL_VAR int V06 loc5
[000240] ------------ \--* CNS_INT int 0
GenTreeNode creates assertion:
[000242] -A---------- * ASG int
In BB17 New Local Constant Assertion: V06 == 0 index=#04, mask=0000000000000008
fgMorphTree BB17, STMT00048 (before)
[000245] -A---------- * ASG int
[000244] D------N---- +--* LCL_VAR int V07 loc6
[000243] ------------ \--* CNS_INT int 0
GenTreeNode creates assertion:
[000245] -A---------- * ASG int
In BB17 New Local Constant Assertion: V07 == 0 index=#05, mask=0000000000000010
Morphing BB18 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB18, STMT00072 (before)
[000382] -A---------- * ASG int
[000381] D------N---- +--* LCL_VAR int V08 loc7
[000380] ------------ \--* CNS_INT int 0
GenTreeNode creates assertion:
[000382] -A---------- * ASG int
In BB18 New Local Constant Assertion: V08 == 0 index=#01, mask=0000000000000001
fgMorphTree BB18, STMT00074 (before)
[000391] -A-XG------- * ASG byref
[000390] D------N---- +--* LCL_VAR byref V28 tmp9
[000385] ---XG------- \--* ADDR byref
[000384] ---XG------- \--* FIELD struct _incReadLineInfo
[000383] ------------ \--* LCL_VAR ref V02 loc1
Before explicit null check morphing:
[000384] ---XG--N---- * FIELD struct _incReadLineInfo
[000383] ------------ \--* LCL_VAR ref V02 loc1
After adding explicit null check:
[000384] ---XG--N---- * IND struct
[000874] ---X-------- \--* COMMA byref
[000870] ---X---N---- +--* NULLCHECK byte
[000869] ------------ | \--* LCL_VAR ref V02 loc1
[000873] ------------ \--* ADD byref
[000871] ------------ +--* LCL_VAR ref V02 loc1
[000872] ------------ \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo]
GenTreeNode creates assertion:
[000870] ---X---N---- * NULLCHECK byte
In BB18 New Local Constant Assertion: V02 != null index=#02, mask=0000000000000002
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000874] ---XG+-N---- * COMMA struct
[000870] ---X-+-N---- +--* NULLCHECK byte
[000869] -----+------ | \--* LCL_VAR ref V02 loc1
[000875] ---X-+-N---- \--* IND struct
[000873] -----+------ \--* ADD byref
[000871] -----+------ +--* LCL_VAR ref V02 loc1
[000872] -----+------ \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo]
fgMorphTree BB18, STMT00074 (after)
[000391] -A-XG+------ * ASG byref
[000390] D----+-N---- +--* LCL_VAR byref V28 tmp9
[000874] ---XG+-N---- \--* COMMA byref
[000870] ---X-+-N---- +--* NULLCHECK byte
[000869] -----+------ | \--* LCL_VAR ref V02 loc1
[000873] -----+------ \--* ADD byref
[000871] -----+------ +--* LCL_VAR ref V02 loc1
[000872] -----+------ \--* CNS_INT long 512 field offset Fseq[_incReadLineInfo]
fgMorphTree BB18, STMT00112 (before)
[000574] -A-XG------- * ASG byref
[000573] D------N---- +--* LCL_VAR byref V39 tmp20
[000388] ---XG------- \--* ADDR byref
[000387] ---XG------- \--* FIELD struct _ps
[000386] ------------ \--* LCL_VAR ref V02 loc1
Before explicit null check morphing:
[000387] ---XG--N---- * FIELD struct _ps
[000386] ------------ \--* LCL_VAR ref V02 loc1
After adding explicit null check:
[000387] ---XG--N---- * IND struct
[000881] ---X-------- \--* COMMA byref
[000877] ---X---N---- +--* NULLCHECK byte
[000876] ------------ | \--* LCL_VAR ref V02 loc1
[000880] ------------ \--* ADD byref
[000878] ------------ +--* LCL_VAR ref V02 loc1
[000879] ------------ \--* CNS_INT long 400 field offset Fseq[_ps]
Non-null prop for index #02 in BB18:
[000877] ---X---N---- * NULLCHECK byte
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000387] ---XG--N---- * IND struct
[000880] -----+------ \--* ADD byref
[000878] -----+------ +--* LCL_VAR ref V02 loc1
[000879] -----+------ \--* CNS_INT long 400 field offset Fseq[_ps]
fgMorphTree BB18, STMT00112 (after)
[000574] -A--G+------ * ASG byref
[000573] D----+-N---- +--* LCL_VAR byref V39 tmp20
[000880] -----+------ \--* ADD byref
[000878] -----+------ +--* LCL_VAR ref V02 loc1
[000879] -----+------ \--* CNS_INT long 400 field offset Fseq[_ps]
fgMorphTree BB18, STMT00076 (before)
[000399] -AC--------- * ASG int
[000398] D------N---- +--* LCL_VAR int V29 tmp10
[000572] ---XG------- \--* FIELD int lineNo
[000571] ------------ \--* LCL_VAR byref V39 tmp20
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000572] *--XG------- * IND int
[000883] -----+------ \--* ADD byref
[000571] -----+------ +--* LCL_VAR byref V39 tmp20
[000882] -----+------ \--* CNS_INT long 88 field offset Fseq[lineNo]
GenTreeNode creates assertion:
[000399] -A-XG------- * ASG int
In BB18 New Local Subrange Assertion: V29 in [-2147483648..2147483647] index=#03, mask=0000000000000004
fgMorphTree BB18, STMT00076 (after)
[000399] -A-XG+------ * ASG int
[000398] D----+-N---- +--* LCL_VAR int V29 tmp10
[000572] *--XG+------ \--* IND int
[000883] -----+------ \--* ADD byref
[000571] -----+------ +--* LCL_VAR byref V39 tmp20
[000882] -----+------ \--* CNS_INT long 88 field offset Fseq[lineNo]
fgMorphTree BB18, STMT00113 (before)
[000582] -A-XG------- * ASG byref
[000581] D------N---- +--* LCL_VAR byref V40 tmp21
[000396] ---XG------- \--* ADDR byref
[000395] ---XG------- \--* FIELD struct _ps
[000394] ------------ \--* LCL_VAR ref V02 loc1
Before explicit null check morphing:
[000395] ---XG--N---- * FIELD struct _ps
[000394] ------------ \--* LCL_VAR ref V02 loc1
After adding explicit null check:
[000395] ---XG--N---- * IND struct
[000889] ---X-------- \--* COMMA byref
[000885] ---X---N---- +--* NULLCHECK byte
[000884] ------------ | \--* LCL_VAR ref V02 loc1
[000888] ------------ \--* ADD byref
[000886] ------------ +--* LCL_VAR ref V02 loc1
[000887] ------------ \--* CNS_INT long 400 field offset Fseq[_ps]
Non-null prop for index #02 in BB18:
[000885] ---X---N---- * NULLCHECK byte
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000395] ---XG--N---- * IND struct
[000888] -----+------ \--* ADD byref
[000886] -----+------ +--* LCL_VAR ref V02 loc1
[000887] -----+------ \--* CNS_INT long 400 field offset Fseq[_ps]
fgMorphTree BB18, STMT00113 (after)
[000582] -A--G+------ * ASG byref
[000581] D----+-N---- +--* LCL_VAR byref V40 tmp21
[000888] -----+------ \--* ADD byref
[000886] -----+------ +--* LCL_VAR ref V02 loc1
[000887] -----+------ \--* CNS_INT long 400 field offset Fseq[_ps]
fgMorphTree BB18, STMT00116 (before)
[000591] -A-XG------- * ASG int
[000590] D------N---- +--* LCL_VAR int V41 tmp22
[000580] ---XG------- \--* SUB int
[000577] ---XG------- +--* FIELD int charPos
[000576] ------------ | \--* LCL_VAR byref V40 tmp21
[000579] ---XG------- \--* FIELD int lineStartPos
[000578] ------------ \--* LCL_VAR byref V40 tmp21
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000577] *--XG------- * IND int
[000891] -----+------ \--* ADD byref
[000576] -----+------ +--* LCL_VAR byref V40 tmp21
[000890] -----+------ \--* CNS_INT long 72 field offset Fseq[charPos]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000579] *--XG------- * IND int
[000893] -----+------ \--* ADD byref
[000578] -----+------ +--* LCL_VAR byref V40 tmp21
[000892] -----+------ \--* CNS_INT long 92 field offset Fseq[lineStartPos]
fgMorphTree BB18, STMT00116 (after)
[000591] -A-XG+------ * ASG int
[000590] D----+-N---- +--* LCL_VAR int V41 tmp22
[000580] ---XG+------ \--* SUB int
[000577] *--XG+------ +--* IND int
[000891] -----+------ | \--* ADD byref
[000576] -----+------ | +--* LCL_VAR byref V40 tmp21
[000890] -----+------ | \--* CNS_INT long 72 field offset Fseq[charPos]
[000579] *--XG+------ \--* IND int
[000893] -----+------ \--* ADD byref
[000578] -----+------ +--* LCL_VAR byref V40 tmp21
[000892] -----+------ \--* CNS_INT long 92 field offset Fseq[lineStartPos]
fgMorphTree BB18, STMT00114 (before)
[000585] -A-XG------- * ASG int
[000584] ---XG--N---- +--* FIELD int lineNo
[000392] ------------ | \--* LCL_VAR byref V28 tmp9
[000400] ------------ \--* LCL_VAR int V29 tmp10
Before calling fgAddFieldSeqForZeroOffset:
[000584] *--XG--N---- * IND int
[000392] ------------ \--* LCL_VAR byref V28 tmp9
fgAddFieldSeqForZeroOffset for Fseq[lineNo]
addr (Before)
[000392] ------------ LCL_VAR byref
(After)
[000392] ------------ LCL_VAR byref Zero Fseq[lineNo]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000584] *--XG--N---- * IND int
[000392] -----+------ \--* LCL_VAR byref V28 tmp9 Zero Fseq[lineNo]
fgMorphTree BB18, STMT00114 (after)
[000585] -A-XG+------ * ASG int
[000584] *--XG+-N---- +--* IND int
[000392] -----+------ | \--* LCL_VAR byref V28 tmp9 Zero Fseq[lineNo]
[000400] -----+------ \--* LCL_VAR int V29 tmp10
fgMorphTree BB18, STMT00115 (before)
[000589] -A-XG------- * ASG int
[000588] ---XG--N---- +--* FIELD int linePos
[000586] ------------ | \--* LCL_VAR byref V28 tmp9
[000587] ------------ \--* LCL_VAR int V41 tmp22
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000588] *--XG--N---- * IND int
[000895] -----+------ \--* ADD byref
[000586] -----+------ +--* LCL_VAR byref V28 tmp9
[000894] -----+------ \--* CNS_INT long 4 field offset Fseq[linePos]
fgMorphTree BB18, STMT00115 (after)
[000589] -A-XG+------ * ASG int
[000588] *--XG+-N---- +--* IND int
[000895] -----+------ | \--* ADD byref
[000586] -----+------ | +--* LCL_VAR byref V28 tmp9
[000894] -----+------ | \--* CNS_INT long 4 field offset Fseq[linePos]
[000587] -----+------ \--* LCL_VAR int V41 tmp22
fgMorphTree BB18, STMT00078 (before)
[000405] S-C-G------- * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ParseTextAsync
[000403] ------------ this in rcx +--* LCL_VAR ref V02 loc1
[000407] ------------ arg1 +--* LCL_VAR_ADDR byref V12 loc11
[000404] ------------ arg2 \--* LCL_VAR int V08 loc7
Initializing arg info for 405.CALL:
ArgTable for 405.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 403.LCL_VAR ref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 407.LCL_VAR_ADDR long, 1 reg: rdx, align=1]
fgArgTabEntry[arg 2 404.LCL_VAR int, 1 reg: r8, align=1]
Morphing args for 405.CALL:
Assertion prop in BB18:
Constant Assertion: V08 == 0 index=#01, mask=0000000000000001
[000404] ------------ * CNS_INT int 0
argSlots=3, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rdx'):
[000407] -----+------ * LCL_VAR_ADDR long V12 loc11
Replaced with placeholder node:
[000896] ----------L- * ARGPLACE long
Deferred argument ('rcx'):
[000403] -----+------ * LCL_VAR ref V02 loc1
Replaced with placeholder node:
[000897] ----------L- * ARGPLACE ref
Deferred argument ('r8'):
[000404] -----+------ * CNS_INT int 0
Replaced with placeholder node:
[000898] ----------L- * ARGPLACE int
Shuffled argument table: rdx rcx r8
ArgTable for 405.CALL after fgMorphArgs:
fgArgTabEntry[arg 1 407.LCL_VAR_ADDR long, 1 reg: rdx, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 0 403.LCL_VAR ref, 1 reg: rcx, align=1, lateArgInx=1, processed]
fgArgTabEntry[arg 2 404.CNS_INT int, 1 reg: r8, align=1, lateArgInx=2, processed]
fgMorphTree BB18, STMT00078 (after)
[000405] S-CXG+------ * CALL r2r_ind void System.Xml.XmlTextReaderImpl.ParseTextAsync
[000407] -----+------ arg1 in rdx +--* LCL_VAR_ADDR long V12 loc11
[000403] -----+------ this in rcx +--* LCL_VAR ref V02 loc1
[000404] -----+------ arg2 in r8 \--* CNS_INT int 0
fgMorphTree BB18, STMT00079 (before)
[000411] S-C-G------- * CALL r2r_ind void System.Threading.Tasks.ValueTask`1.ConfigureAwait
[000409] ------------ this in rcx +--* LCL_VAR_ADDR byref V12 loc11
[000413] ------------ arg1 +--* LCL_VAR_ADDR byref V13 loc12
[000410] ------------ arg2 \--* CNS_INT int 0
Initializing arg info for 411.CALL:
ArgTable for 411.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 409.LCL_VAR_ADDR byref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 413.LCL_VAR_ADDR long, 1 reg: rdx, align=1]
fgArgTabEntry[arg 2 410.CNS_INT int, 1 reg: r8, align=1]
Morphing args for 411.CALL:
argSlots=3, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
( 3, 3) [000409] ------------ * LCL_VAR_ADDR byref V12 loc11
Replaced with placeholder node:
[000899] ----------L- * ARGPLACE byref
Deferred argument ('rdx'):
( 3, 3) [000413] ------------ * LCL_VAR_ADDR long V13 loc12
Replaced with placeholder node:
[000900] ----------L- * ARGPLACE long
Deferred argument ('r8'):
[000410] -----+------ * CNS_INT int 0
Replaced with placeholder node:
[000901] ----------L- * ARGPLACE int
Shuffled argument table: rcx rdx r8
ArgTable for 411.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 409.LCL_VAR_ADDR byref, 1 reg: rcx, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 1 413.LCL_VAR_ADDR long, 1 reg: rdx, align=1, lateArgInx=1, processed]
fgArgTabEntry[arg 2 410.CNS_INT int, 1 reg: r8, align=1, lateArgInx=2, processed]
fgMorphTree BB18, STMT00079 (after)
[000411] S-CXG+------ * CALL r2r_ind void System.Threading.Tasks.ValueTask`1.ConfigureAwait
( 3, 3) [000409] ------------ this in rcx +--* LCL_VAR_ADDR byref V12 loc11
( 3, 3) [000413] ------------ arg1 in rdx +--* LCL_VAR_ADDR long V13 loc12
[000410] -----+------ arg2 in r8 \--* CNS_INT int 0
fgMorphTree BB18, STMT00080 (before)
[000416] S-C-G------- * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter
[000415] ------------ this in rcx +--* LCL_VAR_ADDR byref V13 loc12
[000418] ------------ arg1 \--* LCL_VAR_ADDR byref V11 loc10
Initializing arg info for 416.CALL:
ArgTable for 416.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 415.LCL_VAR_ADDR byref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 418.LCL_VAR_ADDR long, 1 reg: rdx, align=1]
Morphing args for 416.CALL:
argSlots=2, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
( 3, 3) [000415] ------------ * LCL_VAR_ADDR byref V13 loc12
Replaced with placeholder node:
[000902] ----------L- * ARGPLACE byref
Deferred argument ('rdx'):
( 3, 3) [000418] ------------ * LCL_VAR_ADDR long V11 loc10
Replaced with placeholder node:
[000903] ----------L- * ARGPLACE long
Shuffled argument table: rcx rdx
ArgTable for 416.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 415.LCL_VAR_ADDR byref, 1 reg: rcx, align=1, lateArgInx=0, processed]
fgArgTabEntry[arg 1 418.LCL_VAR_ADDR long, 1 reg: rdx, align=1, lateArgInx=1, processed]
fgMorphTree BB18, STMT00080 (after)
[000416] S-CXG+------ * CALL r2r_ind void System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter
( 3, 3) [000415] ------------ this in rcx +--* LCL_VAR_ADDR byref V13 loc12
( 3, 3) [000418] ------------ arg1 in rdx \--* LCL_VAR_ADDR long V11 loc10
fgMorphTree BB18, STMT00081 (before)
[000425] --C-G------- * JTRUE void
[000424] --C-G------- \--* NE int
[000422] --C-G------- +--* CAST int <- bool <- int
[000421] --C-G------- | \--* CALL r2r_ind int ConfiguredValueTaskAwaiter.get_IsCompleted
[000420] ------------ this in rcx | \--* LCL_VAR_ADDR byref V11 loc10
[000423] ------------ \--* CNS_INT int 0
Initializing arg info for 421.CALL:
ArgTable for 421.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 420.LCL_VAR_ADDR byref, 1 reg: rcx, align=1]
Morphing args for 421.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
[000420] -----+------ * LCL_VAR_ADDR byref V11 loc10
Replaced with placeholder node:
[000904] ----------L- * ARGPLACE byref
Shuffled argument table: rcx
ArgTable for 421.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 420.LCL_VAR_ADDR byref, 1 reg: rcx, align=1, lateArgInx=0, processed]
fgMorphTree BB18, STMT00081 (after)
[000425] --CXG+------ * JTRUE void
[000424] J-CXG+-N---- \--* NE int
[000422] --CXG+------ +--* CAST int <- bool <- int
[000421] --CXG+------ | \--* CALL r2r_ind int ConfiguredValueTaskAwaiter.get_IsCompleted
[000420] -----+------ this in rcx | \--* LCL_VAR_ADDR byref V11 loc10
[000423] -----+------ \--* CNS_INT int 0
Morphing BB19 of '<ReadContentAsBinaryAsync>d__588:MoveNext():this'
fgMorphTree BB19, STMT00082 (before)
[000430] -A---------- * ASG int
[000429] D------N---- +--* LCL_VAR int V01 loc0
[000428] ------------ \--* CNS_INT int 0
GenTreeNode creates assertion:
[000430] -A---------- * ASG int
In BB19 New Local Constant Assertion: V01 == 0 index=#01, mask=0000000000000001
fgMorphTree BB19, STMT00083 (before)
[000432] -A-XG------- * ASG int
[000431] ---XG--N---- +--* FIELD int <>1__state
[000426] ------------ | \--* LCL_VAR byref V00 this
[000427] ------------ \--* CNS_INT int 0
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000431] *--XG--N---- * IND int
[000906] -----+------ \--* ADD byref
[000426] -----+------ +--* LCL_VAR byref V00 this
[000905] -----+------ \--* CNS_INT long 16 field offset Fseq[<>1__state]
fgMorphTree BB19, STMT00083 (after)
[000432] -A-XG+------ * ASG int
[000431] *--XG+-N---- +--* IND int
[000906] -----+------ | \--* ADD byref
[000426] -----+------ | +--* LCL_VAR byref V00 this
[000905] -----+------ | \--* CNS_INT long 16 field offset Fseq[<>1__state]
[000427] -----+------ \--* CNS_INT int 0
fgMorphTree BB19, STMT00084 (before)
[000438] -A-XG------- * ASG struct (copy)
[000437] ---XG------- +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>
[000436] ---XG------- | \--* ADDR byref
[000435] ---XG------- | \--* FIELD struct <>u__1
[000433] ------------ | \--* LCL_VAR byref V00 this
[000434] ------------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>(AX) V11 loc10
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000435] *--XG--N---- * IND struct
[000908] -----+------ \--* ADD byref
[000433] -----+------ +--* LCL_VAR byref V00 this
[000907] -----+------ \--* CNS_INT long 48 field offset Fseq[<>u__1]
fgMorphCopyBlock:block assignment to morph:
[000438] -A-XG------- * ASG struct (copy)
[000437] ---XG+------ +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>
[000908] -----+------ | \--* ADD byref
[000433] -----+------ | +--* LCL_VAR byref V00 this
[000907] -----+------ | \--* CNS_INT long 48 field offset Fseq[<>u__1]
[000434] ----G+------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>(AX) V11 loc10
with no promoted structs this requires a CopyBlock.
Local V11 should not be enregistered because: written in a block op
fgMorphTree BB19, STMT00084 (after)
[000438] -A-XG+------ * ASG struct (copy)
[000437] ---XG+------ +--* OBJ struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>
[000908] -----+------ | \--* ADD byref
[000433] -----+------ | +--* LCL_VAR byref V00 this
[000907] -----+------ | \--* CNS_INT long 48 field offset Fseq[<>u__1]
[000434] ----G+------ \--* LCL_VAR struct<[S.P.CoreLib]System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter<System.ValueTuple`4<int32,int32,int32,bool>>, 32>(AX) V11 loc10
fgMorphTree BB19, STMT00085 (before)
[000445] --CXG------- * CALL r2r_ind void System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitUnsafeOnCompleted
[000441] ---XG------- this in rcx +--* ADDR byref
[000440] ---XG------- | \--* FIELD struct <>t__builder
[000439] ------------ | \--* LCL_VAR byref V00 this
[000443] ------------ arg1 +--* LCL_VAR_ADDR byref V11 loc10
[000444] ------------ arg2 \--* LCL_VAR byref V00 this
Initializing arg info for 445.CALL:
ArgTable for 445.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 441.ADDR byref, 1 reg: rcx, align=1]
fgArgTabEntry[arg 1 443.LCL_VAR_ADDR long, 1 reg: rdx, align=1]
fgArgTabEntry[arg 2 444.LCL_VAR byref, 1 reg: r8, align=1]
Morphing args for 445.CALL:
Before explicit null check morphing:
[000440] ---XG--N---- * FIELD struct <>t__builder
[000439] ------------ \--* LCL_VAR byref V00 this
After adding explicit null check:
[000440] *--XG--N---- * IND struct
[000914] ---X-------- \--* COMMA byref
[000910] ---X---N---- +--* NULLCHECK byte
[000909] ------------ | \--* LCL_VAR byref V00 this
[000913] ------------ \--* ADD byref
[000911] ------------ +--* LCL_VAR byref V00 this
[000912] ------------ \--* CNS_INT long 40 field offset Fseq[<>t__builder]
Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
[000914] ---XG+-N---- * COMMA struct
[000910] ---X-+-N---- +--* NULLCHECK byte
[000909] -----+------ | \--* LCL_VAR byref V00 this
[000915] *--X-+-N---- \--* IND struct
[000913] -----+------ \--* ADD byref
[000911] -----+------ +--* LCL_VAR byref V00 this
[000912] -----+------ \--* CNS_INT long 40 field offset Fseq[<>t__builder]
argSlots=3, preallocatedArgCount=4, nextSlotNum=4, outgoingArgSpaceSize=32
Sorting the arguments:
Deferred argument ('rcx'):
( 9, 7) [000914] ---XG--N---- * COMMA byref
( 4, 3) [000910] ---X---N---- +--* NULLCHECK byte
( 3, 2) [000909] ------------ | \--* LCL_VAR byref V00 this
( 5, 4) [000913] ------------ \--* ADD byref
( 3, 2) [000911] ------------ +--* LCL_VAR byref V00 this
( 1, 1) [000912] ------------ \--* CNS_INT long 40 field offset Fseq[<>t__builder]
Replaced with placeholder node:
[000916] ----------L- * ARGPLACE byref
Deferred argument ('rdx'):
( 3, 3) [000443] ------------ * LCL_VAR_ADDR long V11 loc10
Replaced with placeholder node:
[000917] ----------L- * ARGPLACE long
Deferred argument ('r8'):
[000444] -----+------ * LCL_VAR byref V00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment